±±¾©º½¿Õº½Ìì´óѧ
µç×Óµç·Éè¼ÆÊý×Ö²¿·ÖʵÑ鱨¸æ
ʵÑéÒ» ¼òµ¥×éºÏÂß¼Éè¼Æ ........................................................................................................... 2 ʵÑé¶þ ¼òµ¥·ÖƵʱÐòÂß¼µç·µÄÉè¼Æ ....................................................................................... 3 Ò»£®ÊµÑéÄ¿µÄ£º1£®ÕÆÎÕ×î»ù±¾×éºÏÂß¼µç·µÄʵÏÖ·½·¨¡£ ..................................................... 3 2£®Ñ§Ï°Ê±Ðòµç·²âÊÔÄ£¿éµÄ±àд¡£ ............................................................................................. 3 3£®Ñ§Ï°×ۺϺͲ»Í¬²ã´ÎµÄ·ÂÕæ¡£ ................................................................................................. 3 ʵÑéÈý ÀûÓÃÌõ¼þÓï¾äʵÏÖ¼ÆÊý·ÖƵʱÐòµç· ........................................................................... 5 ʵÑéËÄ ×èÈû¸³ÖµÓë·Ç×èÈû¸³ÖµµÄÇø±ð ....................................................................................... 7 ʵÑéÎå ÓÃalways¿éʵÏֽϸ´ÔÓµÄ×éºÏÂß¼£º ........................................................................ 10 ʵÑéÁù ÔÚ Verilog HDLÖÐʹÓú¯Êý ......................................................................................... 12 ʵÑéÆß ÔÚVerilog HDLÖÐʹÓÃÈÎÎñ(task) ................................................................................. 14 ʵÑé°Ë ÀûÓÃÓÐÏÞ״̬»ú½øÐÐʱÐòÂß¼µÄÉè¼Æ ......................................................................... 17 ʵÑé¾Å Â¥ÌÝµÆ ............................................................................................................................. 19 ʵÑé˼¿¼Óë×ܽá ............................................................................................................................. 29
ѧ Ôº£º ѧ ºÅ£º ÐÕ Ãû£º
ʵÑéÒ» ¼òµ¥×éºÏÂß¼Éè¼Æ
Ò»£®ÊµÑéÄ¿µÄ£º
1£®ÕÆÎÕ»ù±¾×éºÏÂß¼µç·µÄʵÏÖ·½·¨¡£
2£®³õ²½Á˽âÁ½ÖÖ»ù±¾×éºÏÂß¼µç·µÄÉú³É·½·¨¡£ 3£®Ñ§Ï°²âÊÔÄ£¿éµÄ±àд¡£
4£®Í¨¹ý×ۺϺͲ¼¾Ö²¼ÏßÁ˽ⲻͬ²ã´Î·ÂÕæµÄÎïÀíÒâÒå¡£ ¶þ£®ÊµÑéÉ豸£º
°²×°Modelsim-6.5cµÄPC»ú¡£ Èý£®ÊµÑéÄÚÈÝ£º
ÃèÊöÒ»¸ö¿É×ۺϵÄÊý¾Ý±È½ÏÆ÷£¬±È½ÏÊý¾Ýa ¡¢bµÄ´óС£¬ÈôÏàͬ£¬Ôò¸ø³ö½á¹û1£¬·ñÔò¸ø³ö½á¹û0
ËÄ£®×ۺϷÂÕæ½á¹û
ʵÑé¶þ ¼òµ¥·ÖƵʱÐòÂß¼µç·µÄÉè¼Æ
Ò»£®ÊµÑéÄ¿µÄ£º1£®ÕÆÎÕ×î»ù±¾×éºÏÂß¼µç·µÄʵÏÖ·½·¨¡£
2£®Ñ§Ï°Ê±Ðòµç·²âÊÔÄ£¿éµÄ±àд¡£
3£®Ñ§Ï°×ۺϺͲ»Í¬²ã´ÎµÄ·ÂÕæ¡£
¶þ£®ÊµÑéÉ豸£º
°²×°Modelsim-6.5cµÄPC»ú¡£ Èý£®ÊµÑéÄÚÈÝ£º
ÓÃalways¿éºÍ@(posedge clk)»ò@(negedge clk)µÄ½á¹¹±íÊöÒ»¸ö1/2·ÖƵÆ÷µÄ¿É×ÛºÏÄ£ÐÍ£¬¹Û²ìʱÐò·ÂÕæ½á¹û
ËÄ£®ÊµÑé´úÂë
module half_clk(reset,clk_in,clk_out); input clk_in,reset; output clk_out; reg clk_out;
always@(posedge clk_in) begin if(!reset) clk_out=0; else
clk_out=~clk_out; end endmodule
`timescale 1ns/100ps `define clk_cycle 50 module top; 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
Î壮×ۺϷÂÕæ½á¹û