EDAʵÑ鱨¸æ£¨quartus2·ÂÕæ£© ÏÂÔØ±¾ÎÄ

´Óͼ2.3.7¿ÉÒÔ¿´³öoclk½øÎ»Ðźųɹ¦ÊµÏÖÓëÇåÁãµÄͬ²½£¬Ïû³ýÁ˵ç·ðÏÕ¡£

´ËÍ⣬ÎÒÃÇ»¹¿¼ÂÇÁË´ÓÁíÒ»¸ö·½ÃæÀ´½â¾öÕâ¸öÎÊÌâ¡£ÓÉÓÚÊDzÉÓÿɱà³ÌÂß¼­Æ÷¼þ£¨PLD£©À´ÊµÏÖµç·Éè¼Æ£¬Ó²¼þÃèÊöÓïÑÔ£¨HDL£¬Hardware Description Language£©¿ÉÒÔÃèÊöÓ²¼þµç·µÄ¹¦ÄÜ,ÎÒÃDzÉÓÃÓ¦ÓÃ×îΪ¹ã·ºµÄVHDLÓïÑÔ½øÐÐÁËÄ£60¼ÆÊýÆ÷µÄÉè¼Æ£¬³É¹¦µÄÏû³ýÁ˵ç·ÖеÄðÏÕ¡£ÒÔÏÂΪÆäÔ´´úÂ룺 library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all; ¿âºÍ°ü¼¯ºÏ˵Ã÷Óï¾ä

ENTITY mod60vhdl IS PORT (

ci :IN std_logic;

nreset :IN std_logic; ʵÌåÃèÊö²¿·Ö load :IN std_logic;

d :IN std_logic_vector(7 downto 0); clk :IN std_logic; co :out std_logic;

qh :buffer std_logic_vector(3 downto 0); ql :buffer std_logic_vector(3 downto 0) );

END mod60vhdl;

ARCHITECTURE behave OF mod60vhdl IS BEGIN

co<='1' when(qh=\½á¹¹ÌåÃèÊö

PROCESS(clk,nreset) ½ø³Ì¼°Ãô¸Ð±í BEGIN

IF(nreset='0')THEN ÇåÁã¶ËµÍµçƽÇåÁã qh<=\ql<=\

ELSIF(clk 'EVENT AND clk='1')THEN ʱÖÓÐźÅÉÏÉýÑØÀ´ÁÙ if(load='1')then ÖÃÊý¶Ë¸ßµçƽͬ²½ÖÃÊý qh<=d(7 downto 4);

9

ql<=d(3 downto 0);

elsif(ci='1')then

if(ql=9)then ¸÷λ¼ÆÂúºó×Ô¶¯ÇåÁã ql<=\if(ql=5)then qh<=\else

qh<=qh+1; 묒ÂúÔò¼Ó¼ÆÊý end if;

else ql<=ql+1; end if; END IF; END IF;

END PROCESS; ½áÊø½ø³Ì END behave; ½áÊø½á¹¹Ìå

¿É¼û£¬²ÉÓÃVHDL½øÐÐÉè¼Æ£¬²»¾ÖÏÞÓÚ½öÓеÄÔªÆ÷¼þ£¬Ïà±ÈÔ­ÀíͼÉè¼Æ·½Ê½£¬Éè¼ÆµÄÁé»îÐÔ´ó´óÔö¼Ó£¬²¢ÇÒ˼·ÇåÎú£¬Âß¼­ÑÏÃÜ£¬Éè¼ÆÆðÀ´Ê¡Ê±Ê¡Á¦¡£

ͼ2.3.10 ¼ÆÊýµç·µÄ×ÜÁ¬½Óͼ

¿ÉÒÔ·¢ÏÖ£¬quartus2µÄ·â×°¹¦ÄÜʹÉè¼Æ¹ý³ÌÌõÀíÇåÎú£¬Á¬Ïß¼ò½à£¬±ãÓÚʶͼ¡£Õâ¼ÈÊÇ×Ô¶¥ÏòÏÂÄ£¿é»¯Éè¼Æ·½·¨µÄ»ù±¾ÒªÇó£¬Ò²ÊÇÆä±ØÈ»½á¹û¡£

2.3.3 ÒëÂëÏÔʾµç·

´Ó¼ÆÊýµç·ËͳöµÄ¸÷λ¼ÆÊýÐźÅΪ8421BCDÂ룬²»ÄÜÖ±½ÓË͵½ÊýÂë¹Ü½øÐÐÏÔʾ¡£Ê×ÏÈÒª¾­¹ýÒëÂëµç·½«ÆäÒëΪ¶ÔÓ¦µÄ¶ÎÂ룬²ÅÄÜʹÊýÂë¹ÜÏÔʾÕýÈ·µÄÊý×Ö¡£´ËÍ⣬Ϊ½ÚÊ¡µçÄܺ͵ç·Á¬Ïߣ¬Ðè²ÉÓö¯Ì¬ÏÔʾµç·¡£Æä»ù±¾Ô­ÀíΪ£ºÔÚÈÎһʱÖÓÖÜÆÚ£¬Ö»ÓÐÒ»¸öÊýÂë¹Ü±»µãÁÁ£¬²¢ÏÔʾÆä¶ÔÓ¦µÄÊý×Ö¡£Áù¸öÊýÂë¹Ü¼°Æä¶ÎÂëÔÚѡͨµç·µÄ×÷ÓÃÏÂÂÖÁ÷±»µãÁÁºÍ´«Êä¡£ÓÉÓÚÈËÑÛµÄÊÓ¾õÔÝÁôЧӦ£¬µ±Ñ¡Í¨µÄƵÂÊ×ã¹»¿ìʱ£¨>60HZ£©,ÈËÑÛ½«»á¸Ð¾õµ½ÁùλÊýÂë¹Ü±»Í¬Ê±µãÁÁ¡£ÒÔÏ·ֱðÌÖÂÛÒëÂëºÍÏÔʾµç·µÄ¾ßÌåÉè¼Æ¡£

10

ͼ 2.3.11 Æß¶ÎÊýÂë¹ÜµÄ½á¹¹

a b c d e f g

f

a

b g e

c d

ÊýÂë¹ÜµÄ¸ù¾ÝµãÁÁʱ¹«¹²¶ËµÄµçƽ·ÖΪ¹²ÒõºÍ¹²Ñô¡£ÏÔʾÒëÂëÆ÷µÄ¹¦ÄÜÊǽ«±íʾÊý×ÖµÄBCDÂëת»»ÎªÆß¶ÎÏÔʾÂë¡£

ÒÔÏÂΪÆäÕæÖµ±í£º

D C B A a b c d e f g ÏÔʾ 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 2 0 0 1 1 0 0 0 0 1 1 0 3 0 1 0 0 1 0 0 1 1 0 0 4 0 1 0 1 0 1 0 0 1 0 0 5 0 1 1 0 0 1 0 0 0 0 0 6 0 1 1 1 0 0 0 1 1 1 1 7 0 0 0 0 0 0 0 0 0 0 0 8 1 0 0 1 0 0 0 0 1 0 0 9

ͼ2.3.12 7447ÒëÂëÆ÷

»¯¼òºó±í´ïʽΪ£º

a=ABCD+ABC b=ABC+ABC c=ABC

d=ABC+ABC+ABCD e=A+ABC

f=AB+ABCD+ABC g=ABC+BCD

ÆäÖÐLTN¡¢RBINÒÔ¼°BINµÈ¹Ü½ÅÓëÏûÒþ¡¢µÆ²âÊÔÓйأ¬±¾´ÎÉè¼Æ²»Ó迼ÂÇ£¬¶¼ÖÃΪ¸ßµçλ¡£

11

¶¯Ì¬ÏÔʾ²¿·ÖµÄ»ù±¾¿òͼÈçÏ£º

ͼ 2.3.13 ¶¯Ì¬ÏÔʾµç·¿òͼ

DIG08421BCDSLDIG1SHMLMHHLHHDIG0DIG1DIG2DIG3DIG4DIG5DIG58421BCDabcdefg24Ñ¡4MUXÏÔʾÒëÂëÆ÷7447DIG2DIG3A2 A1 A0CLK2ÒëÂëÆ÷DIG4¼ÆÊýÆ÷74138

¼ÆÊýÆ÷ÔÚʱÖÓÐźŵÄ×÷ÓÃÏ£¬²úÉúģΪ6µÄBCDÂë¼ÆÊýÐźţ¬·Ö±ðË͵½24Ñ¡4MUXºÍ74138ÖÐ×÷ΪµØÖ·Ðźš£24Ñ¡4Êý¾ÝÑ¡ÔñÆ÷¸ù¾ÝA2A1A0µÄֵѡÔñSL¡¢SH¡¢ML¡¢MH¡¢HL¡¢HHÖеÄһ·Êý¾ÝË͵½7447ÒëÂëÆ÷½øÐÐÒëÂ룬ͬʱ74138ÒëÂëÆ÷½«A2A1A0µÄÖµÒëÂëºó·Ö±ðÊä³öµ½ÁùƬÊýÂë¹ÜµÄ¹²Òõ¶Ë£¬×÷ΪƬѡÐźš£ÕâÑù£¬ÔÚʱÖÓÐźÅCLK2µÄÇý¶¯Ï£¬¸÷¸öÊýÂë¹ÜÒÀ´ÎÂÖÁ÷ÏÔʾ¶ÔÓ¦µÄÊýÖµ¡£

ÆäÖУ¬24Ñ¡4MUX¿ÉÒÔÓÃËÄÆ¬74151À´×é³É¡£

ͼ 2.3.14 74151

74151оƬΪ8Ñ¡1Êý¾ÝÑ¡Ôñ Æ÷¡£Æä¸ù¾ÝABC½ÅÊäÈëµÄBCD ÂëÖµ·Ö±ðѡͨD0~D7µÄÖеÄһ·£¬´ÓYÊä³ö¡£GNΪʹÄÜ¿ØÖƶˡ£

12