µÚÒ»·¶ÎÄÍø - רҵÎÄÕ·¶ÀýÎĵµ×ÊÁÏ·ÖÏíÆ½Ì¨

±±º½verilogʵÑ鱨¸æ - ͼÎÄ

À´Ô´£ºÓû§·ÖÏí ʱ¼ä£º2025/10/19 4:39:33 ±¾ÎÄÓÉloading ·ÖÏí ÏÂÔØÕâÆªÎĵµÊÖ»ú°æ
˵Ã÷£ºÎÄÕÂÄÚÈݽö¹©Ô¤ÀÀ£¬²¿·ÖÄÚÈÝ¿ÉÄܲ»È«£¬ÐèÒªÍêÕûÎĵµ»òÕßÐèÒª¸´ÖÆÄÚÈÝ£¬ÇëÏÂÔØwordºóʹÓá£ÏÂÔØwordÓÐÎÊÌâÇëÌí¼Ó΢ÐźÅ:xxxxxxx»òQQ£ºxxxxxx ´¦Àí£¨¾¡¿ÉÄܸøÄúÌṩÍêÕûÎĵµ£©£¬¸ÐлÄúµÄÖ§³ÖÓëÁ½⡣

ʵÑé°Ë ÀûÓÃÓÐÏÞ״̬»ú½øÐÐʱÐòÂß¼­µÄÉè¼Æ

Ò»£®ÊµÑéÄ¿µÄ£º

1£®ÕÆÎÕÀûÓÃÓÐÏÞ״̬»úʵÏÖÒ»°ãʱÐòÂß¼­·ÖÎöµÄ·½·¨¡£ 2£®ÕÆÎÕÓÃVerilog±àд¿É×ۺϵÄÓÐÏÞ״̬»úµÄ±ê׼ģ°å¡£ 3£®ÕÆÎÕÓÃVerilog±àд״̬»úÄ£¿éµÄ²âÊÔÎļþµÄÒ»°ã·½·¨¡£ ¶þ£®ÊµÑéÉ豸£º

°²×°Modelsim-6.2bµÄPC»ú¡£ Èý£®ÊµÑéÄÚÈÝ£º

Éè¼ÆÒ»¸ö¼òµ¥µÄ״̬»ú£¬¹¦ÄÜÊǼì²âÒ»¸ö5λµÄ¶þ½øÖÆÐòÁС°10010¡±¡£

ËÄ£®ÊµÑé´úÂë

module seqdet(x,z,clk,rst,state); input x,clk,rst; output z;

output [2:0]state; reg [2:0]state; wire z;

parameter IDLE='d0,A='d1,B='d2,C='d3,D='d4,E='d5,F='d6,G='d7; assign z=(state==E&&x==0)?1:0; always @(posedge clk) if(!rst) begin

state<=IDLE; end else

casex(state)

IDLE:if(x==1) begin

state<=A; end A:if(x==0) begin

state<=B; end

B:if(x==0) begin

state<=C; end else begin

state<=F; end C:if(x==1) begin

state<=D; end else

begin

state<=G; end D:if(x==0) begin

state<=E; end else

begin

state<=A; end E:if(x==0) begin

state<=C; end else begin

state<=A; end F:if(x==1) begin

state<=A; end else begin

state<=B; end G:if(x==1) begin

state<=F; end

default:state<=IDLE; endcase endmodule

`timescale 1ns/1ns module seqdet_Top; reg clk,rst; reg [23:0]data; wire [2:0]state; wire z,x;

assign x=data[23]; always #10 clk=~clk; always @(posedge clk)

data={data[22:0],data[30]}; initial begin clk=0; rst=1; #2 rst=0; #30 rst=1;

data='b1100_1001_0000_1001_0100; #500 $stop; end

seqdet m(x,z,clk,rst,state); endmodule

Î壮×ۺϷÂÕæ½á¹û

ʵÑé¾Å Â¥ÌݵÆ

Ò»£®ÊµÑéÄ¿µÄ£º

ÕÆÎÕÓÃVerilog±àд¼òµ¥³ÌÐò ¶þ£®ÊµÑéÉ豸£º

°²×°Modelsim-6.2bµÄPC»ú¡£ Èý£®ÊµÑéÄÚÈÝ£º

? ¥ϵ½Â¥ÉÏÒÀ´ÎÓÐ3¸ö¸ÐÓ¦µÆ£ºµÆ1¡¢µÆ2¡¢µÆ3¡£µ±ÐÐÈËÉÏÏÂÂ¥ÌÝʱ£¬¸÷¸öµÆ¸ÐÓ¦µ½ºó×Ô¶¯µãÁÁ£¬ÈôÔÚ8sÄÚ¸ÐÓ¦ÐźÅÏûʧ£¬ÔòµãÁÁ8s£¬Èô¸ÐÓ¦ÐźŴæÔÚʱ¼ä³¬¹ý8s£¬Ôò¸ÐÓ¦ÐźÅÏûʧ4sºóµÆ×Ô¶¯¹Ø±Õ¡£

? ÈÎÎñ1£º×ö³öÈçÉÏÂß¼­µç·Éè¼Æ²¢·ÂÕæ£»

? ÈÎÎñ2£º¿¼ÂÇÈ¥¶¶Çé¿ö£¬¶ÔÓÚ¸ÐÓ¦Ðźŵ½´ï´æÔÚë´Ì(СÓÚ0.5s)£¬Éè¼ÆºÏÊÊÂß¼­²¢ÌÞ³ö¡£

ÈÎÎñ3£ºÈôΪ½ÚÔ¼ÄÜÔ´£¬ÏÂÒ»¸öµÆµãÁÁµÄͬʱ½«×Ô¶¯¹Ø±ÕÉÏÒ»¸öµÆ£¬×ö³öÈçÉÏÂß¼­Éè¼Æ²¢·ÂÕæ£¨½ö¿¼ÂÇÒ»¸öÈ˵ÄÇé¿ö£©

ËÄ£®ÊµÑé´úÂë

module stairled(light,switch,clk10,rst); input clk10,rst; input[2:0]switch; output[2:0]light;

reg[2:0]state1,state2,state3; reg[7:0]count1,count2,count3; reg[2:0]light;

reg[2:0]counter1,counter2,counter3;

parameter

IDLE1=3'b000,IDLE2=3'b000,IDLE3=3'b000,

state1_main=3'b001,state2_main=3'b001,state3_main=3'b001, state1_pos=3'b010,state2_pos=3'b010,state3_pos=3'b010, state1_neg=3'b011,state2_neg=3'b011,state3_neg=3'b011,

ËÑË÷¸ü¶à¹ØÓÚ£º ±±º½verilogʵÑ鱨¸æ - ͼÎÄ µÄÎĵµ
±±º½verilogʵÑ鱨¸æ - ͼÎÄ.doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ£¬·½±ã¸´ÖÆ¡¢±à¼­¡¢ÊղغʹòÓ¡
±¾ÎÄÁ´½Ó£ºhttps://www.diyifanwen.net/c5m5ba0o3ir1emx12t1jo_5.html£¨×ªÔØÇë×¢Ã÷ÎÄÕÂÀ´Ô´£©
ÈÈÃÅÍÆ¼ö
Copyright © 2012-2023 µÚÒ»·¶ÎÄÍø °æÈ¨ËùÓÐ ÃâÔðÉùÃ÷ | ÁªÏµÎÒÃÇ
ÉùÃ÷ :±¾ÍøÕ¾×ðÖØ²¢±£»¤ÖªÊ¶²úȨ£¬¸ù¾Ý¡¶ÐÅÏ¢ÍøÂç´«²¥È¨±£»¤ÌõÀý¡·£¬Èç¹ûÎÒÃÇ×ªÔØµÄ×÷Æ·ÇÖ·¸ÁËÄúµÄȨÀû,ÇëÔÚÒ»¸öÔÂÄÚ֪ͨÎÒÃÇ£¬ÎÒÃǻἰʱɾ³ý¡£
¿Í·þQQ£ºxxxxxx ÓÊÏ䣺xxxxxx@qq.com
ÓåICP±¸2023013149ºÅ
Top