±±º½Êý×ÖEDAʵÑé1-8+Êý×ÖÈ¥ÔëÆ÷

begin a = 8'b00000100; b = 8'b00000010; #200 a = 8'b00001111; b = 8'b11110000; #200 a = 8'b01010101; b = 8'b01010101; #200 $stop; end compare m (.out (out), .a(a), .b(b));

endmodule

ʵÑé·ÂÕæ£º

5

Á·Ï°¶þ¼òµ¥·ÖƵʱÐòÂß¼­µç·µÄÉè¼Æ

ʵÑéÄ¿µÄ£º

£¨1£©ÕÆÎÕ×î»ù±¾Ê±Ðòµç·µÄʵÏÖ·½·¨ £¨2£©Ñ§Ï°Ê±Ðòµç·²âÊÔÄ£¿éµÄ±àд £¨3£©Ñ§Ï°×ۺϺͲ»Í¬²ã´ÎµÄ·ÂÕæ

ʵÑéÔ­Àí£º

¶ÔÓÚ×éºÏÂß¼­µç·£¬¿É×ۺϳɾßÌåµç·½á¹¹µÄʱÐòÂß¼­µç·ҲÓÐ׼ȷµÄ±í´ï·½Ê½¡£ÔÚ¿É×ۺϵÄÄ£ÐÍÖУ¬Í¨³£ÓÃalways¿é»òÕß@£¨posedgeclk£©»ò£¨negedgeclk£©½á¹¹±í´ïʱÐòÂß¼­¡£ÊµÑéΪ¶þ·ÖÖ®Ò»·ÖƵÆ÷Ä£ÐÍ¡£

ÔÚalways¿éÖУ¬±»¸³ÖµÐźŶ¼±ØÐ붨ÒåΪregÐÍ£¬¶ÔÓÚregÐÍÊý¾Ý£¬Èç¹ûδ¶ÔËü½øÐи³Öµ£¬·ÂÕæ¹¤¾ß»áÈÏΪËüÊDz»¶¨Ì¬µÄ¡£ÎªÁËÕýÈ·¹Û²ì½á¹û£¬ÔÚ¿É×ÛºÏÄ£¿éÖУ¬³£¶¨ÒåÒ»¸ö¸´Î»ÐźÅreset,ÆäΪµÍµçƽʱ¶Ô¼Ä´æÆ÷½øÐи´Î»¡£

ʵÑéÄÚÈÝ£º

ÒÀÈ»×÷clk_inµÄ2·ÖƵclk_out£¬ÒªÇóÊä³öʱÖÓµÄÏàλÓëÉÏÃæµÄµÄ1/2·ÖƵÆ÷µÄÊä³öÕýºÃÏà·´¡£

ʵÑé´úÂ룺

module half_clk (reset,clk_in,clk_out); input reset; input clk_in; output clk_out; reg clk_out; always @ (posedge clk_in) if (!reset) clk_out<=1'b1; else clk_out<=~clk_out; endmodule

`timescale 1ns/100ps `define clk_cycle 50

module two;

6

reg clk,reset; wire clk_out;

always #`clk_cycle clk=~clk;

initial begin

clk=0; reset=1; #10 reset=0; #110 reset=1; #100000 $stop; end

half_clk m0(.reset(reset),.clk_in(clk),.clk_out(clk_out));

endmodule

ʵÑé·ÂÕæ£º

7

Á·Ï°ÈýÀûÓÃÌõ¼þÓï¾äʵÏÖ¼ÆÊý·ÖƵʱÐòµç·

ʵÑéÄ¿µÄ£º

£¨1£©ÕÆÎÕÌõ¼þÓï¾äÔÚ¼òµ¥Ê±ÐòÄ£¿éÉè¼ÆÖеÄʹÓà £¨2£©Ñ§Ï°ÔÚVerilogÄ£¿éÖÐÓ¦ÓüÆÊýÆ÷

£¨3£©Ñ§Ï°²âÊÔÄ£¿éµÄ±àд¡¢×ۺϺͲ»Í¬²ã´ÎµÄ·ÂÕæ

ʵÑéÔ­Àí£º

ÔÚ¿É×ۺϵÄVerilog HDLÄ£ÐÍÖУ¬³£ÓõÄÌõ¼þÓï¾äÓÐif ?elseºÍcase?endcaseÁ½Öֽṹ£¬Ó÷¨ºÍCÓïÑÔÏàËÆ¡£

1. ifÓï¾ä

£¨1£© if£¨±í´ïʽ£©Óï¾ä £¨2£© if£¨±í´ïʽ£©Óï¾ä1 elseÓï¾ä2

£¨3£© if£¨±í´ïʽ1£©Óï¾ä1£»

else if£¨±í´ïʽ2£©Óï¾ä2£» else if£¨±í´ïʽ3£©Óï¾ä3£» ¡­¡­ 2. caseÓï¾ä

£¨1£©case£¨±í´ïʽ£©endcase £¨2£©casez£¨±í´ïʽ£©endcase £¨3£©casex£¨±í´ïʽ£©endcase ǰÕßÓÃÓÚ²»Ì«¸´ÔӵķÖÖ§¹ØÏµ£¬Êµ¼Ê±àдģ¿éʱ³£ÓõÄÊǺóÕß¡£ÊµÑé´úÂëÊÇÒ»¸ö¿É×ۺϷç¸ñµÄ·ÖƵÆ÷£¬¿É½«10MʱÖÓ·ÖÆµÎª500K£¬»ù±¾Ô­ÀíºÍ¶þ·ÖÖ®Ò»·ÖƵÆ÷ÀàËÆ£¬µ«ÐèÒª¶¨ÒåÒ»¸ö¼ÆÊýÆ÷ÒÔ׼ȷ»ñµÃ1£¯20·ÖƵ¡£

ʵÑéÄÚÈÝ£º

ÀûÓÃ10MµÄʱÖÓ£¬Éè¼ÆÒ»¸öµ¥ÖÜÆÚÐÎ×´µÄÖÜÆÚ²¨ÐΡ£

ʵÑé´úÂ룺

module fdivision(clk_out,F10M,reset); output clk_out; input reset; input F10M; reg clk_out;

8

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)