¿É±à³ÌÂß¼­Æ÷¼þÓ¦ÓÃʵÑéÖ¸µ¼(6)

2019-04-09 11:15

Ò»¸ö³ÌÐò°üÖУ¬ÕâÖÖ·½·¨¿ÉÒÔÌṩROMµÄÖØÓã¬ÔÚ³ÌÐò°üÖÐÓ¦µ±Óó£Á¿¶¨ÒåROMµÄ´óС¡£¶øÓÃWHEN-ELSEÃèÊöÒ»¸öROM£¬ËüÈ´ÊÇ×îÖ±¹ÛµÄ£¬ËüÊÇÀàËÆ²é±íµÄ·½Ê½À´Éè¼ÆµÄ£¬ÈçÏÂÃæµÄÀý³Ì¾ÍÊÇÒ»¸öÓÃWHEN-ELSEÉè¼ÆµÄ16¡Á8µÄROM¡£µ«¶ÔÓÚMAXPLUS IIÕâ¸öÈí¼þ£¬¶ÔÓÚÓÃÊý×éÃèÊöµÄROMÔÚ±àÒë¹ý³ÌÖлá³ö´í£¬ÓпÉÄÜMAXPLUS IIÔÚÓï·¨Ö§³ÖÉϲ»Ì«È«Ã棬µ«¿ÉÒÔÓÃÆäËûµÄVHDLÓïÑÔ·ÂÕæ×ۺϹ¤¾ß½øÐзÂÕæ»ò×ۺϣ¬ÈçACTIVE VHDL¡¢MODELSIM¡¢LEONARDOµÈ¡£

¶ÔÓÚ´óÐ͵ÄROMÓ¦µ±²ÉÓÃÀý»¯µÄ·½·¨¡£¶ÔÓÚ256¡Á8µÄROM£¬ÎÒÃǾͿÉÒÔ²ÉÓÃÀý»¯µÄ·½·¨À´Éè¼ÆÊµÏÖ¡£ Àý³Ì£º16¡Á8µÄROM

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ROM16_8 is PORT( DATAOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --Data Output ADDR : IN STD_LOGIC_VECTOR(3 DOWNTO 0); --ADDRESS CE : IN STD_LOGIC -- Chip Enable );

END ROM16_8;

ARCHITECTURE a OF ROM16_8 IS BEGIN DATAOUT <= \ \ \ \ \ \ \ \ \ \ \ END a;

16¡Á8ROM ²¨ÐηÂÕæÍ¼ÈçÏÂͼ4-1¡£·ÂÕæÍ¼ÖÐÊäÈëµÄ²»Í¬µÄµØÖ·¶ÔÓ¦µÄ²»Í¬µÄÊä³öÊý¾Ý¿É²Î¼û³ÌÐò¶Î£º

DATAOUT <= \ \ \

\ \ \ \ \ \ \ \

ͼ4-1 16¡Á8 ROM ²¨ÐηÂÕæÍ¼

256¡Á8 ROMµÄ²¨ÐηÂÕæÍ¼ÈçÏÂͼ4-2¡£

ͼ4-2 256¡Á8 ROM²¨ÐηÂÕæÍ¼

2¡¢16¡Á8ROM ʵÑéÊäÈëÐźÅÓÐCE£¨Êä³öÔÊÐí¿ØÖÆ¶Ë£©¡¢ADDR0~ADDR3£¨ÊäÈëµØÖ·£©£¬Êä³öÐźÅÓÐDATAOUT0~DATAOUT7£¨8λÊý¾ÝÊä³ö£©£¬¹¤×÷ʱ¹¤×÷ʱÐò²Î¼ûͼ36-1Ëùʾ£¬ce±£³ÖµÍµçƽ£¬ ADDR0~ADDR3½Ó²¦Â뿪¹Ø£¬ DATAOUT0~DATAOUT7½ÓLEDµÆ¡£

256¡Á8 ROMʵÑéÊäÈëÐźÅÓÐinclock£¨ÊäÈëʱÖÓ£©¡¢address0~address7£¨ÊäÈëµÄ8¸ùµØÖ·Ïߣ©£¬Êä³öÐźÅÓÐoutlock£¨Êä³öʱÖÓ£©¡¢oe£¨Êä³öÔÊÐí¿ØÖÆ¶Ë£©¡¢q0~q7£¨8λÊý¾ÝÊä³ö£©¡£¹¤×÷ʱÊäÈëʱÖÓ¡¢Êä³öʱÖÓºÍoe¶Ë¿É²Î¼ûͼ36-2£¬½ÓÊý×ÖÐźÅÔ´µ¥ÔªµÄCLK0~CLK5£¬ÊäÈëµØÖ·Ïßaddress0~address7½Ó²¦Â뿪¹Ø£¬Êä³öÊý¾ÝÏßq0~q7½ÓLEDµÆ¡£

3¡¢½«Éè¼ÆºÃµÄÂß¼­¹¦ÄÜתΪӲ¼þÃèÊöÓïÑÔµÄÃèд¡£ 4¡¢½«Éè¼ÆºÃµÄÓ²¼þÃèÊöÓïÑÔ½øÐзÂÕæ¡£ 5¡¢½«³ÌÐòÏÂÔØµ½CPLDÖУ¬ÑéÖ¤½á¹ûÊÇ·ñÕýÈ·¡£

Î塢ʵÑ鱨¸æÒªÇó

1¡¢ÕûÀíʵÑé½á¹û£¬ÌîдʵÑ鱨¸æ¡£ 2¡¢Ð¡½áʵÑéÐĵÃÌå»á¡£ 3¡¢»Ø´ð˼¿¼Ìâ

ʲô½ÐROM£¿ËüµÄ×÷ÓÃÊÇʲô£¿

ʵÑéÎå ÀûÓÿɱà³ÌÂß¼­Æ÷¼þ½øÐÐ7¶ÎÊýÂë¹Ü¿ØÖÆ

½Ó¿ÚµÄÉè¼Æ

Ò»¡¢ÊµÑéÄ¿µÄ

1. ͨ¹ýʵÑ鸴ϰ¿É±à³ÌÂß¼­Æ÷¼þ¿ª·¢Èí¼þµÄͼÐÎÉè¼Æ²Ù×÷Á÷³Ì£» 2. ÕÆÎÕBCD-Æß¶ÎÏÔʾÒëÂëÆ÷µÄ¹¦ÄܺÍÉè¼Æ·½·¨£»

3£®ÕÆÎÕÓÃÓ²¼þÃèÊöÓïÑԵķ½·¨Éè¼Æ×éºÏÂß¼­µç·¡ª¡ªBCD-Æß¶ÎÏÔʾÒëÂëÆ÷¡£

¶þ¡¢ÊµÑéÆ÷²Ä

1¡¢Ì¨Ê½¼ÆËã»ú 1̨

2¡¢¿É±à³ÌÂß¼­Âß¼­Æ÷¼þʵÑéÈí¼þ1Ì× 3¡¢ÏÂÔØµçÀÂÒ»Ì× 4¡¢Ê¾²¨Æ÷һ̨

Èý¡¢ÊµÑé˵Ã÷

1¡¢Ì¨Ê½¼ÆËã»úÓÃÓÚÏò¿É±à³ÌÂß¼­Âß¼­Æ÷¼þʵÑéÈí¼þÌṩ±à³Ì¡¢·ÂÕæ¡¢ÏÂÔØµÄƽ̨£¬¹©Óû§Ê¹Óá£

2¡¢¿É±à³ÌÂß¼­Âß¼­Æ÷¼þʵÑéÈí¼þÏòÔ­ÀíͼµÄÉè¼ÆºÍÓ²¼þÃèÊöÓïÑԵıà³ÌÌṩƽ̨£¬²¢½«µ÷ÊԺõijÌÐòÏÂÔØµ½¿É±à³ÌÂß¼­Âß¼­Æ÷¼þÖС£

3¡¢ÏÂÔØµçÀÂÊǿɱà³ÌÂß¼­Æ÷¼þÈí¼þºÍ¿É±à³ÌÂß¼­Âß¼­Æ÷¼þÖ®¼äµÄ½Ó¿ÚµçÀ£¬ÎªÁ˱ãÓÚÇø±ð£¬Óò»Í¬ÑÕÉ«µ¼ÏßÇø·ÖÏÂÔØµçÀµĵçÔ´¡¢µØºÍÐźţ¬Ò»°ãÓúìÉ«µ¼Ïß½ÓµçÔ´£¬ÓúÚÉ«µ¼Ï߽ӵء£

4¡¢Ê¾²¨Æ÷ÓÃÓÚ¹Û²ì¿É±à³ÌÂß¼­Âß¼­Æ÷¼þÖ´ÐгÌÐòʱÊä³öÐźŵı仯

ËÄ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢ÔÚʵÑéÖУ¬8λ7¶ÎÊýÂëÏÔʾµÄÇý¶¯µç·ÒѾ­×öºÃ£¬²¢ÇÒÆäλѡÐźÅ

£¨SEL[7..0]£©ÎªÒ»3-8ÒëÂëÆ÷µÄÊä³ö£¬ËùÒÔÎÒÃÇÔÚÉè¼Æ7¶ÎÊýÂë¹Ü¿ØÖƽӿÚʱ£¬ÆäλѡÐźÅÊä³ö±ØÐë¾­8-3±àÂë¡£ÏÔʾ¿ØÖÆÆ÷µÄÒý½ÅͼÈçͼ5-1Ëùʾ¡£

ͼ5-1

ͼÖУºCPΪʱÖÓÊäÈë¶Ë£¬SEGOUT[7..0]Ϊ¶ÎÇý¶¯Êä³ö£»SELOUT[2..0]ΪλѡÐźÅÊä³ö£»NUMOUT[3..0]Ϊµ±Ç°ÏÔʾµÄÊý¾ÝÊä³ö¡£

ͼ5-2 7¶ÎÏÔʾ¿ØÖÆÆ÷·ÂÕæ²¨ÐÎͼ

×¢Ò⣺¸Ã³ÌÐòÖÐÈç¹ûʱÖÓÆµÂʽϸߣ¬ÔòNUMµÄ·ÖƵ½Ï¸ß£¬·ÂÕæÊ±ÒªÇóµÄ·ÂÕæÊ±¼ä½Ï³¤£¬Èç¹ûʱÖÓÆµÂÊÆ«µÍ£¬ÊýÂë¹ÜÏÔʾÓÖÉÁ˸£¬ËùÒÔ½¨Òé¶ÁÕßÔÚ×ö´ËʵÑéʱ£¬ÏÂÔØÊ±Ñ¡ÏÂÃæ³ÌÐòµÄǰÁ½¾ä£¬·ÂÕæÊ±Ñ¡ºóÁ½¾ä¡£ÈçÏ£¬²»Ó÷ÂÕæÊ±£¬ÔÚºóÃæÁ½¾äǰ¼Ó¡°--¡±£¬Ôò¸Ã¾äÎÞЧ£¬µ±×÷×¢ÊÍ¡£

NUM <= Q(24 DOWNTO 21); s <= Q(15 DOWNTO 13);

--about 1 Hz for download

--about 300 Hz

--NUM <= Q(6 DOWNTO 3); --for simulation --S <= Q(1 DOWNTO 0);

´Óͼ5-2¿ÉÒÔ¿´³ö£¬6λÊýÂë¹ÜÊÇÂÖÁ÷µãÁÁµÄ£¬ÎÒÃÇÒÔNUMOUT=1Õâ¶Î²¨ÐÎΪ²Î¿¼£ºµ±SELOUTΪ000ʱ£¬µãÁÁµÚһλÏÔʾÆ÷£¬ÏÔʾµÄÊý×ÖΪ1£¬Í¬Ê±£¬NUMOUTÊä³öµÄÊý¾ÝҲΪ¡°0001¡±¡£Í¬Àí£¬µ±SELOUTΪ001ʱ£¬µãÁÁµÚ¶þλÏÔʾÆ÷£¬ÏÔʾÊý×ÖΪ1£¬Ö±µ½6λÏÔʾÆ÷È«¶¼ÏÔʾÍê±Ï£¬µÈ´ý½øÈëÏÂÒ»¸öÊý×ÖµÄÏÔʾ¡£

ͬʱ£¬»¹ÓÐÒ»¸öÎÊÌâ²»¿ÉºöÊÓ£¬²»ÊÇλɨÃèÐÅºÅµÄÆµÂÊÖÁÉÙÐèÒª¶àÉÙÒÔÉÏ£¬²ÅÄÜʹÏÔʾÆ÷²»ÉÁ˸£¿¼òµ¥µÄ˵£¬Ö»ÒªÉ¨ÃèÆµÂʳ¬¹ýÈ˵ÄÑÛ¾¦ÊÓ¾õÔÝÁôƵÂÊ24HZÒÔÉϾͿÉÒÔ´ïµ½µãÁÁµ¥¸öÏÔʾ£¬È´ÄÜÏíÓÐ6¸öͬʱÏÔʾµÄÊÓ¾õЧ¹û£¬¶øÇÒÏÔʾҲ²»ÉÁ˸¡£µ±ÎÒÃÇÊäÈëÆµÂÊΪ5MHZʱ£¬ÎÒÃÇͨ¹ý¼Ó·¨¼ÆÊýÆ÷À´²úÉúÒ»¸öÔ¼300HZµÄ


¿É±à³ÌÂß¼­Æ÷¼þÓ¦ÓÃʵÑéÖ¸µ¼(6).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£ºÌÕÓÀ¼ªÎÞÁ¿ÊÙ¾­ÐĵÃÌå»á·ÖÏí

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º