欢迎来到天天文库
浏览记录
ID:34202104
大小:231.00 KB
页数:34页
时间:2019-03-04
《[信息与通信]vhdl考试程序总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、64位计数器12计时器83.波形94显示译码器105.表决器117四选一148译码器149奇偶校正1610移位寄存器1711四位减法2012选择器2213循环显示135792213转换成bcd吗2314走马灯2415全加器25168421BCD码转换为余3码电路2717触发器2818编码器3264位计数器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;USEIEEE.STD_LOGIC_ARITH.ALL;entitymchco
2、unterisport(clk,clr,s,en,updn:instd_logic;d:inintegerrange0to63;m:inintegerrange0to63;co:outstd_logic;q:bufferintegerrange0to63);endmchcounter;architecturea1ofmchcounteris----------定义计数最大值m——tempsignalm_temp:integerrange0to63;beginprocess(clk,clr,m)beginm_temp<=
3、m-1;--------清零功能ifclr='1'thenq<=0;co<='0';--------以时钟信号的上升沿为计数触发器条件elsifclk'eventandclk='1'then--------置数功能ifs='1'thenq<=d;--------防止计数时失控elsifq>m_tempthenq<=m_temp;----------计数使能控制功能elsifen='1'thenifupdn='1'then--------计数加法ifq=m_tempthenq<=0;co<='1';elseq<=q+1;
4、co<='0';endif;elsifupdn='0'then---------计数减法ifq=0thenq<=m_temp;co<='1';elseq<=q-1;co<='0';endif;endif;endif;endif;endprocess;enda1;-------(1)clk为时钟信号,由时钟信号的上升沿触发计数;----- (2)m为模值输入端,当其变化时,计数容量相应发生变化?--------(3)clr为清零控制端,当其为高电平时清零?-------(4)s为置数控制端,当其为高电平时将置数输入端d的
5、数据加载到输出端q;-------(5)en为使能控制端,当其为高电平时正常计数,当其为低电平时暂停计数;---------(6)updn为计数方向控制端,当其为高电平时计数器加法计数,当其为低电平时计数器减法计数。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYscountISPORT(CLK:INSTD_LOGIC;RST:INSTD_LOGIC;ENA:INSTD_LOGIC;OUTY:OUTSTD_LOGIC
6、_VECTOR(3DOWNTO0);COUT:OUTSTD_LOGIC);ENDscount;ARCHITECTUREbehavOFscountISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINP_REG:PROCESS(CLK,RST,ENA)BEGINIFRST='1'THENCQI<="0000";ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENCQI<=CQI+1;ELSECQI<="0000";ENDIF;ENDIF;OUTY<=CQI;
7、ENDPROCESSP_REG;COUT<=CQI(0)ANDCQI(1)ANDCQI(2)ANDCQI(3);ENDbehav;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYyibujishuISPORT(CLK:INSTD_LOGIC;COUNT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYyibujishu;ARCHITECTUREART2OFyibujishuISSIGNALCOUNT_IN_BAR:STD_LOGIC_VECTOR
8、(4DOWNTO0);COMPONENTD_ffISPORT(CLK,D:INSTD_LOGIC;Q,nq:OUTSTD_LOGIC);ENDCOMPONENT;BEGINCOUNT_IN_BAR(0)<=CLK;GEN1:FORIIN0TO3GENERATEU:D_ffPORTMAP(CLK=>COUNT_IN_BAR(I),D
此文档下载收益归作者所有