Ŀ ¼
ÕªÒª¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2 1Éè¼ÆÄ¿µÄ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 2 2Éè¼ÆÄÚÈÝ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 2
2.1Éè¼ÆÈÎÎñ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2 2.2À©Õ¹ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2
3ϵͳ·½°¸¼°Éè¼ÆÔÀí ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 3
3.1·½°¸Ñ¡Ôñ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 3 3.2Êý×ÖÖӵĻù±¾¹¤×÷ÔÀí ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
3
3.3µ×²ãÔª¼þ½Ó¿Ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 4 3.4Êý×ÖÖÓÉè¼ÆµÄRTLµç·¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 5
4Éè¼Æ²½Öè ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡5 5ÐĵÃÌå»á¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡10 6 ³ÌÐò´úÂë ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 10
ÏÂÔØ¿É±à¼
ͻ񻣼
ÈËÀàÉç»áÒѽøÈëµ½¸ß¶È·¢´ïµÄÐÅÏ¢»¯Éç»á¡£ÐÅÏ¢»¯Éç»áµÄ·¢Õ¹Àë²»¿ªµç×ÓÐÅÏ¢²úÆ·¿ª·¢¼¼Êõ¡¢²úÆ·Æ·ÖʵÄÌá¸ßºÍ½ø²½¡£µç×ÓÐÅÏ¢²úÆ·Ëæ×Å¿ÆÑ§¼¼ÊõµÄ½ø²½£¬Æäµç×ÓÆ÷¼þºÍÉè¼Æ·½·¨¸üл»´úµÄËÙ¶ÈÈÕÐÂÔÂÒ졣ʵÏÖÕâÖÖ½ø²½µÄÖ÷ÒªÔÒò¾ÍÊǵç×ÓÉè¼Æ¼¼ÊõºÍµç×ÓÖÆÔì¼¼ÊõµÄ·¢Õ¹£¬ÆäºËÐľÍÊǵç×ÓÉè¼Æ×Ô¶¯»¯(EDA£¬Electronics Design Automation)¼¼Êõ£¬EDA¼¼ÊõµÄ·¢Õ¹ºÍÍÆ¹ãÓ¦ÓÃÓÖ¼«´óµØÍƶ¯Á˵ç×ÓÐÅÏ¢²úÒµµÄ·¢Õ¹¡£Îª±£Ö¤µç×ÓϵͳÉè¼ÆµÄËٶȺÍÖÊÁ¿£¬ÊÊÓ¦¡°µÚһʱ¼äÍÆ³ö²úÆ·¡±µÄÉè¼ÆÒªÇó£¬EDA¼¼ÊõÕýÖð½¥³ÉΪ²»¿ÉȱÉÙµÄÒ»ÏîÏȽø¼¼ÊõºÍÖØÒª¹¤¾ß¡£Ä¿Ç°£¬ÔÚ¹úÄÚµç×Ó¼¼Êõ½ÌѧºÍ²úÒµ½çµÄ¼¼ÊõÍÆ¹ãÖÐÒÑÐγɡ°EDAÈÈ¡±£¬ÍêÈ«¿ÉÒÔ˵£¬ÕÆÎÕEDA¼¼ÊõÊǵç×ÓÐÅÏ¢ÀàרҵѧÉú¡¢¹¤³Ì¼¼ÊõÈËÔ±Ëù±Ø±¸µÄ»ù±¾ÄÜÁ¦ºÍ¼¼ÄÜ¡£
EDA¼¼ÊõÔÚµç×ÓϵͳÉè¼ÆÁìÓòÔ½À´Ô½ÆÕ¼°£¬±¾Éè¼ÆÖ÷ÒªÀûÓÃVHDLÓïÑÔÔÚEDAƽ̨ÉÏÉè¼ÆÒ»¸öµç×ÓÊý×ÖÖÓ£¬ËüµÄ¼ÆÊ±Îª24Ð¡Ê±Ð¡Ê±ÖÆ£¬ÏÔʾÂú¿Ì¶ÈΪ23ʱ59·Ö59Ã룬ÁíÍ⻹¾ßÓÐУʱ¹¦ÄܺÍÄÖÖÓ¹¦ÄÜ¡£×ܵijÌÐòÓɼ¸¸ö¸÷¾ß²»Í¬¹¦Äܵĵ¥ÔªÄ£¿é³ÌÐòÆ´½Ó¶ø³É£¬ÆäÖаüÀ¨·ÖƵ³ÌÐòÄ£¿é¡¢Ê±·ÖÃë¼ÆÊýºÍУʱ³ÌÐòÄ£¿é¡¢Êý¾ÝÑ¡ÔñÆ÷³ÌÐòÄ£¿é¡¢ÏÔʾ³ÌÐòÄ£¿éºÍÀý»¯³ÌÐòÄ£¿é¡£²¢ÇÒʹÓÃQUARTUS IIÈí¼þ½øÐеç·²¨ÐηÂÕæ£¬ÏÂÔØµ½EDAʵÑéÏä½øÐÐÑéÖ¤¡£
¹Ø¼ü´Ê£ºÊý×ÖÖÓ EDA VHDLÓïÑÔ Ò»¡¢Éè¼ÆÄ¿µÄ
1¡¢ÊìÁ·µØÔËÓÃÊý×ÖϵͳµÄÉè¼Æ·½·¨½øÐÐÊý×ÖϵͳÉè¼Æ£» 2¡¢ÄܽøÐнϸ´ÔÓµÄÊý×ÖϵͳÉè¼Æ£» 3¡¢°´ÒªÇóÉè¼ÆÒ»¸öÊý×ÖÖÓ¡£
¶þ¡¢Éè¼ÆÄÚÈÝ
2.1¡¢Éè¼ÆÈÎÎñ£ºÉè¼ÆÒ»Ì¨ÄÜÏÔʾʱ¡¢·Ö¡¢ÃëµÄÊý×ÖÖÓ¡£¾ßÌåÒªÇóÈçÏ£º £¨1£© ÓÉʵÑéÏäÉϵÄʱÖÓÐźž·ÖƵ²úÉúÃëÂö³å£» £¨2£© ¼ÆÊ±¼ÆÊýÆ÷ÓÃ24½øÖƼÆÊ±µç·£»
£¨3£© ¿ÉÊÖ¶¯Ð£Ê±£¬ÄÜ·Ö±ð½øÐÐʱ¡¢·ÖµÄУÕý£» £¨4£© Õûµã±¨Ê±£»
2£®2¡¢À©Õ¹£ºÉèÖÃÄÖʱ¹¦ÄÜ£¬µ±¼ÆÊ±¼Æµ½Ô¤¶¨Ê±¼äʱ£¬ÑïÉùÆ÷·¢³öÄÖÁåÐźţ¬ÄÖÁåʱ¼äΪ4s£¬²¢¿ÉÌáǰÖÕÖ¹ÄÖÁå¡£
.רҵ.ÕûÀí.
ÏÂÔØ¿É±à¼
Èý¡¢ÏµÍ³·½°¸¼°Éè¼ÆÔÀí¡£
3.1¡¢·½°¸Ñ¡Ôñ£º
Êý×ÖÖÓÎ޷ǾÍÊÇ·ÖÆµ¼ÆÊý£¬Éè¼Æ³ö60½øÖÆ£¬24½øÖƼÆÊýÆ÷£¬ÔÚÕâÀÃë·Ö¼ÆÊýÊÇ60½øÖÆ£¬Ê±¼ÆÊýÊÇ24½øÖÆ£¬¶Ô1HzÐźŽøÐÐ60·ÖƵҲ¾Í²úÉúÁË·Ö¼ÆÊýÂö³å£¬¶Ô1Hz½øÐÐ60 * 60 ·ÖƵ£¨¶Ô·Ö60·ÖƵ£©Ò²¾Í²úÉúÁËʱ¼ÆÊýÂö³å£¬ÎªÁË·½±ãУʱ£¬ÏµÍ³Éè¼ÆÊ±Î´Ö±½Ó²ÉÓÃʵÑéÏäÉϵÄ1Hz×÷Ϊ»ù׼ʱÖÓÔ´£¬¶øÊǶÔ65536Hz½øÐÐ32768·ÖƵ²úÉúÃëÂö³å£¬8192·ÖƵ×÷ΪУʱÓëÄÖÖÓʱ¼äÉèÖÃÂö³å£¬Îª·½±ãµ÷ÄÖÖÓ£¬²ÉÓÃÁËÊý¾ÝÑ¡ÔñÆ÷Ñ¡ÔñÊä³öÕý³£×ßʱ»òÄÖÖÓʱ¼ä¡£Îª½ÚÊ¡´úÂ룬ÊýÂë¹ÜÒëÂ빤×÷Ö±½Ó½»¸øÁËʵÑéÏä×Ô´øµÄÒëÂëÆ÷£¬Ñ¡Ôñ¹¤×÷ģʽ0¡£
3.2¡¢Êý×ÖÖӵĻù±¾¹¤×÷ÔÀí£º
Êý×ÖÖÓÒÔÆäÏÔʾʱ¼äµÄÖ±¹ÛÐÔ¡¢×ßʱ׼ȷÐÔ×÷ΪһÖÖ¼ÆÊ±¹¤¾ß£¬Êý×ÖÖӵĻù±¾×é³É²¿·ÖÀë²»¿ª¼ÆÊýÆ÷£¬ÔÚ¿ØÖÆÂß¼µç·µÄ¿ØÖÆÏÂÍê³ÉÔ¤¶¨µÄ¸÷ÏÄÜ¡£Êý×ÖÖӵĻù±¾ÔÀí·½¿òͼÈçͼ1£º
ʱÏÔʾÆ÷ ·ÖÏÔʾÆ÷ ÃëÏÔʾÆ÷ ʱÒëÂëÆ÷ ·ÖÒëÂëÆ÷ ÃëÒëÂëÆ÷ ±¨Ê±/ÄÖÖÓ
ʱ¼ÆÊýÆ÷ ·Ö¼ÆÊýÆ÷ Ãë¼ÆÊýÆ÷ 1Hz Уʱµç· 5HZ
Õñµ´Æ÷ ·ÖƵÆ÷ ͼ1 Êý×ÖÖÓµÄϵͳ¿òͼ
ͼ3.1Êý×ÖÖÓʵÏÖÔÀí¿òͼ ¸ÃϵͳÓÉÕñµ´Æ÷¡¢·ÖƵÆ÷¡¢¡°Ê±¡¢·Ö¡¢Ã롱¼ÆÊýÆ÷¡¢ÒëÂëÆ÷¼°ÏÔʾÆ÷¡¢Ð£Ê±µç·¡¢Õûµã±¨Ê±µç·µÈ×é³É¡£Ê¯Ó¢¾§ÌåÕñµ´Æ÷ºÍ·ÖƵÆ÷²úÉúÕû¸öϵͳµÄʱ»ùÐźţ¬ËüÖ±½Ó¾ö¶¨¼ÆÊ±ÏµÍ³µÄ¾«¶È¡£¡°Ãë¼ÆÊýÆ÷¡±²ÉÓÃÁùÊ®½øÖƼÆÊýÆ÷£¬Ã¿ÀÛ¼Æ60ÃëÏò¡°·Ö¼ÆÊýÆ÷¡±½øÎ»£»¡°·Ö¼ÆÊýÆ÷¡±²ÉÓÃÁùÊ®½øÖƼÆÊýÆ÷£¬Ã¿ÀÛ¼Æ60·ÖÏò¡°Ê±¼ÆÊýÆ÷¡±½øÎ»£»¡°Ê±¼ÆÊýÆ÷¡±²ÉÓöþÊ®ËĽøÖƼÆÊýÆ÷£¬°´ÕÕ¡°24·1¡±¹æÂɼÆÊý¡£¡°Ê±¡¢·Ö¡¢Ã롱¼ÆÊýÆ÷µÄÊä³ö¾ÒëÂëÆ÷ËÍÏÔʾÆ÷ÏÔʾ¡£Ð£Ê±µç·ÓÃÀ´µ±¼ÆÊ±³öÏÖÎó²îʱ¶Ô¡°Ê±¡¢·Ö¡¢Ã롱½øÐÐУ¶Ôµ÷Õû¡£Õûµã±¨Ê±£¨ÄÖÖÓ£©µç·ÊǸù¾Ý¼ÆÊ±ÏµÍ³µÄÊä³ö״̬²úÉúÒ»Âö³åÐźţ¬È»ºóÈ¥´¥·¢ÒôƵ·¢ÉúÆ÷ʵÏÖ±¨Ê±£¨ÄÖÁ壩¡£
.רҵ.ÕûÀí.
ÏÂÔØ¿É±à¼
3.3¡¢µ×²ãÔª¼þ½Ó¿Ú£º
component hour
port(rst,carry,en : in std_logic; ADJclk,ADJEN : in std_logic;
ADJ : in std_logic_vector(3 downto 0); decade,unit : out std_logic_vector(3 downto 0)); end component; component min
port(rst,carry,en : in std_logic; ADJclk,ADJEN : in std_logic;
ADJ : in std_logic_vector(3 downto 0); carryout : out std_logic;
decade,unit : out std_logic_vector(3 downto 0)); end component; component sec
port(rst,clk,en : in std_logic; ADJEN : in std_logic;
carryout : out std_logic;
decade,unit : out std_logic_vector(3 downto 0)); end component;
component alarm
port(clk,en,ADJclk : in std_logic; alarmADJ : in std_logic; AlarmEn : in std_logic;
ADJ : in std_logic_vector(3 downto 0); hour_unit : in std_logic_vector(3 downto 0); hour_decade : in std_logic_vector(3 downto 0); min_unit : in std_logic_vector(3 downto 0); min_decade : in std_logic_vector(3 downto 0); ADJhour_unit : out std_logic_vector(3 downto 0); ADJhour_decade : out std_logic_vector(3 downto 0); ADJmin_unit : out std_logic_vector(3 downto 0); ADJmin_decade : out std_logic_vector(3 downto 0); sound : out std_logic); end component;
component PrescalClk
port(clkin : in std_logic;
clkout_1Hz : out std_logic; clkout_4Hz : out std_logic); end component;
.רҵ.ÕûÀí.