¿É±à³ÌÂß¼­Æ÷¼þÉè¼Æ¼°Ó¦ÓÃÊÔÑ鱨¸æ ÏÂÔØ±¾ÎÄ

ʵÑéÈý 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²âÊÔ£©

¶þ ʵÑé½á¹û

²âÊÔ²¨ÐÎÒ»½á¹û£º