ʵÑéÈý VerilogÓïÑÔ·½·¨Éè¼Æ£º8λȫ¼ÓÆ÷
Ò»¡¢ÊµÑéÄÚÈÝ
1¡¢ ½¨Á¢Ò»¸öÐµĹ¤³Ì(cpld 9500ϵÁÐ) 2¡¢ ½¨Á¢Ò»¸öVerilogÄ£¿é£¨All_ADD8£©
ͼ3-1 ½¨Á¢Ò»¸öеÄverilogÄ£¿é
3¡¢ ÊäÈëÈ«¼ÓÆ÷
ͼ3-2 ÊäÈëÈ«¼ÓÆ÷
4¡¢ ½¨Á¢²âÊÔ²¨Ðη½·¨·ÂÕæ¼¤ÀøÍ¼ÐÎ ²âÊÔ²¨ÐÎÒ»£º
ͼ3-3 ²âÊÔ²¨ÐÎ
²âÊÔ²¨Ðζþ£º
ͼ3-4 ²âÊÔ²¨ÐÎ
5¡¢ ¹¦ÄÜ·ÂÕæ
¼Ç¼½á¹û£¬·ÖÎöÕýÈ·ÐÔ¡£ 6¡¢ ½¨Á¢Verilog²âÊÔÄ£¿é Ô´´úÂëÈçÏ£º
7¡¢ ¹¦ÄÜ·ÂÕæ
¼Ç¼½á¹û£¬·ÖÎöÕýÈ·ÐÔ¡£½øÎ»½á¹û¡£Àí½âÕÆÎÕÓïÑÔÃèÊö¡£ 8¡¢ 8λ¿ÉÔ¤ÖüÆÊýÆ÷£¨ÊÔÑéÀ©Õ¹£© 9¡¢ ½¨Á¢Ò»¸öVerilogÄ£¿é£¨Counter8£©
Ô´´úÂëÈçÏ£º
`timescale 1ns / 1ps module extentest_v; reg [7:0] D; reg CLK; reg CLR; reg PR; wire [7:0] Q; extendex uut ( .D(D), .CLK(CLK), .CLR(CLR), .PR(PR), .Q(Q) );
parameter PERIOD = 200; always begin CLK = 1'b0;
#(PERIOD/2) CLK = 1'b1; #(PERIOD/2); end initial begin D = 0; CLR = 0; PR = 0; #100;ÿ¸ô100ns±ä»»Ò»´ÎÊäÈëÊý¾Ý PR = 1; D = 17; CLR = 0; #100; PR = 0; #100; end endmodule 10¡¢ ѧϰ×ÜÏßÊý¾ÝÔ¤Ö÷½Ê½ 11¡¢ ×Ô¼º½¨Á¢·ÂÕæ¹ý³Ì£¨²¨ÐÎ+Verilog²âÊÔ£©
¶þ ʵÑé½á¹û
²âÊÔ²¨ÐÎÒ»½á¹û£º