欢迎来到天天文库
浏览记录
ID:38636744
大小:1.80 MB
页数:47页
时间:2019-06-16
《硬件描述语言与数字系统开发(第8章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、硬件描述语言与数字系统开发第8章VHDL应用举例带权表决器设计奇数分频器设计数控分频器设计计数/译码驱动/扫描显示电路串-并转换与并-串转换数字序列的产生与检测正弦信号发生器数字基带编码设计libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;entityx3isport(en:instd_logic;d:instd_logic_vector(9downto0);q:outstd_logic);endx3;architeturebehaveofx3isbegi
2、nprocess(en,d)variablen:integerrange0to20;beginifen'eventanden='1'thenn:=0;ifd(9)='1'thenn:=2;foriin8downto0loopifd(i)='1'thenn:=n+1;endif;endloop;elsen:=0;endif;ifn>5thenq<='1';elseq<='0';endif;endif;endprocess;endbehave;带权表决器的VHDL设计奇数分频器的VHDL设计LIBRARYieee;USEieee.std_lo
3、gic_1164.all;USEieee.std_logic_arith.all;ENTITYfp_11ISPORT(clkin:INstd_logic;clkout:OUTstd_logic);ENDfp_11;ARCHITECTUREbehaveOFfp_11ISsignalq1,q2:integerrange0to20;signalqq1,qq2:std_logic;beginprocess(clkin)beginif(clkin'eventandclkin='1')thenif(q1=10)thenq1<=0;elsif(q1<=
4、5)thenqq1<='0';q1<=q1+1;elseqq1<='1';q1<=q1+1;endif;endif;endprocess;process(clkin)beginif(clkin'eventandclkin='0')thenif(q2=10)thenq2<=0;elsif(q2<=5)thenqq2<='0';q2<=q1+1;elseqq2<='1';q2<=q1+1;endif;endif;endprocess;clkout<=qq1norqq2;ENDbehave;奇数分频器仿真波形分频系数=11数控分频器的VHDL设
5、计LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYFPQISPORT(CLKIN:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(7DOWNTO0);CLKOUT:OUTSTD_LOGIC);ENDFPQ;ARCHITECTUREoneOFFPQISSIGNALFULL:STD_LOGIC;BEGINP1:PROCESS(CLKIN)VARIABLECNT8:STD_LOGIC_VECTOR(7DOWNTO0);BEG
6、INIFCLKIN'EVENTANDCLKIN='1'THENIFCNT8="11111111"THENCNT8:=D;--当CNT8计数计满时,输入数据D被同步预置给计数器CNT8FULL<='1';--同时使溢出标志信号FULL输出为高电平ELSECNT8:=CNT8+1;--否则继续作加1计数FULL<='0';--且输出溢出标志信号FULL为低电平ENDIF;ENDIF;ENDPROCESSP1;P2:PROCESS(FULL)VARIABLECNT2:STD_LOGIC;BEGINIFFULL'EVENTANDFULL='1'T
7、HENCNT2:=NOTCNT2;--如果溢出标志信号FULL为高电平,D触发器输出取反CLKOUT<=CNT2;ENDIF;ENDPROCESSP2;ENDone;数控分频器仿真波形分频系数=(256-D)*2计数/译码驱动/扫描显示电路设计上图所示是8位共阳数码管扫描显示电路,其中每个数码管的8个段:h、g、f、e、d、c、b、a(h是小数点)连在一起,低电平有效;8个数码管分别由8个选通信号k1、k2、…k8来选择,高电平有效;被选通的数码管显示数据。例如,某一时刻,k3为高电平,其余选通信号为低电平,这时仅k3对应的数码管显示来自
8、段信号端的数据,而其它7个数码管呈现关闭状态。若希望在8个数码管显示相应的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,与此同时,在段信号输入端加上欲对应显示的数据。随着选通信
此文档下载收益归作者所有