




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CPLD/FPGACPLD/FPGA的开发与应用的开发与应用第第8 8章章 VHDLVHDL应用举例应用举例n带权表决器带权表决器n奇数分频器设计奇数分频器设计n数控分频器设计数控分频器设计n计数计数/译码驱动译码驱动/扫描显示电路扫描显示电路n串串-并转换与并并转换与并-串转换串转换n模式可控移位寄存器模式可控移位寄存器n数字序列的产生与检测数字序列的产生与检测n多功能端口设计多功能端口设计n数字基带编码设计数字基带编码设计带权表决器的带权表决器的VHDL设计设计奇数分频器的奇数分频器的VHDL设计设计clkinclkoutf p_11inst奇数分频器仿真波形奇数分频器仿真波形分频系数分频
2、系数=11数控分频器的数控分频器的VHDL设计设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FPQ IS PORT ( CLKIN : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLKOUT : OUT STD_LOGIC );END FPQ;ARCHITECTURE one OF FPQ IS SIGNAL FULL : STD_LOGIC;BEGIN P1: PROCESS(CLKIN) VARIABLE CNT8
3、 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKINEVENT AND CLKIN = 1 THEN IF CNT8 = 11111111 THEN CLKIND7.0CLKOUTfpqinst CNT8 := D; -当当CNT8CNT8计数计满时,输入数据计数计满时,输入数据D D被同步预置给计数器被同步预置给计数器CNT8CNT8 FULL = 1; -同时使溢出标志信号同时使溢出标志信号FULLFULL输出为高电平输出为高电平 ELSE CNT8 := CNT8 + 1; -否则继续作加否则继续作加1 1计数计数 FULL = 0; -且输出溢
4、出标志信号且输出溢出标志信号FULLFULL为低电平为低电平 END IF; END IF; END PROCESS P1 ; P2: PROCESS(FULL) VARIABLE CNT2 : STD_LOGIC; BEGIN IF FULLEVENT AND FULL = 1 THEN CNT2 := NOT CNT2; -如果溢出标志信号如果溢出标志信号FULLFULL为高电平,输出取反为高电平,输出取反 CLKOUT 88* *25Hz)25Hz),实现扫描显示的目的。,实现扫描显示的目的。 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IE
5、EE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCAN_LED IS PORT ( CLK : IN STD_LOGIC; -扫描时钟扫描时钟信号输入信号输入 A1,A2,A3,A4,A5,A6,A7,A8 : IN INTEGER RANGE 0 TO 15; SG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); -段控制信号输出段控制信号输出(g-a)(g-a) BT: OUT STD_LOGIC_VECTOR(8 DOWNTO 1));-位控制信号输出位控制信号输出(k8-k1)(k8-k1) END SCAN_LED;ARCHITECTURE
6、one OF SCAN_LED ISSIGNAL CNT8:STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL A :INTEGER RANGE 0 TO 15;BEGINP1:PROCESS( CNT8 ) BEGIN 扫描译码显示电路的扫描译码显示电路的VHDLVHDL设计设计CLKA13.0A23.0A33.0A43.0A53.0A63.0A73.0A83.0SG6.0BT8.1SCAN_LEDinst CASE CNT8 IS WHEN 000 = BT = 00000001 ; A BT = 00000010 ; A BT = 00000100 ; A BT =
7、 00001000 ; A BT = 00010000 ; A BT = 00100000 ; A BT = 01000000 ; A BT = 10000000 ; A NULL ; END CASE ; END PROCESS P1; P2:PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN CNT8 SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG NULL ; END CASE ; END PROCESS P3; END one; 共阴数码管及其电路共阴数码管及其电路 CASE A IS WHEN
8、 0 = SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG SG NULL ; END CASE ; Library ieee;Use ieee.std_logic_1164.all;Entity c_b isPort (clr,din,clk: in std_logic; y: out std_logic_vector(4 downto 0);End c_b;Architecture behav of c_b issignal tem:std_logic_vector(5 downto 0);beginp1: process(clk) begin if
9、 (clkevent and clk=1) thenif clr=0 thentem=000000;elsif tem(0)=0 thentem=din & 01111;elsetem=din & tem(5 downto 1);end if;end if;end process p1;p2: process(tem) begin if tem(0)=0 then y=tem(5 downto 1); else y CY = REG(7); REG(7 DOWNTO 1) = REG(6 DOWNTO 0); REG(0) CY = REG(7); REG(7 DOWNTO 1) = REG(
10、6 DOWNTO 0); REG(0) CY = REG(0); REG(6 DOWNTO 0) = REG(7 DOWNTO 1); REG(7) CY = REG(0); REG(6 DOWNTO 0) = REG(7 DOWNTO 1); REG(7) REG(7 DOWNTO 0) REG = REG ; CY = CY ; -保持保持 END CASE; END IF; END PROCESS;QB(7 DOWNTO 0) = REG(7 DOWNTO 0); CN = CY; -移位后输出移位后输出 END BEHAV; -带进位左移带进位左移-自循环左移自循环左移-自循环右移自循
11、环右移 -带进位右移带进位右移(接上页)(接上页)模式可控移位寄存器仿真波形模式可控移位寄存器仿真波形(MD=001) 数字序列信号发生器的数字序列信号发生器的VHDL设计设计cpresyxxinst数字序列信号产生波形数字序列信号产生波形当当reg、n定义为变量时,有何不同?请修改完善!定义为变量时,有何不同?请修改完善!数字序列检测器的数字序列检测器的VHDL设计设计cpcxycxjcinst数字序列检测数字序列检测仿真波形仿真波形数字序列检测数字序列检测State MachinaState Machina Viewer Viewer分析波形,找出问题,修改完善!分析波形,找出问题,修改完
12、善!8位并行数据位并行数据“0”个数检测器的个数检测器的VHDL设计设计clkclrd7.0q2.0zerojcinst8 8位并行数据位并行数据“0”0”个数检测仿真波形个数检测仿真波形library ieee;use ieee.std_logic_1164.all;entity tri_state isport (control : in std_logic; in1: in std_logic_vector(7 downto 0); q : inout std_logic_vector(7 downto 0); x : out std_logic_vector(7 downto 0);e
13、nd tri_state;architecture body_tri of tri_state isbeginprocess(control,q,in1)beginif (control = 0) then x = q ; else q = in1; x=ZZZZZZZZ ;end if;end process;end body_tri; 双向端口的双向端口的VHDL设计设计1【例【例5-13】controlin17.0 x7.0q7.0qqinst 1.0s 1.5s 2.0s 2.5s 3.0s 3.5s 双向端口仿真波形双向端口仿真波形1 1双向端口综合结果双向端口综合结果1 1libr
14、ary ieee;use ieee.std_logic_1164.all;entity tri_state isport (control : in std_logic; in1: in std_logic_vector(7 downto 0); q : inout std_logic_vector(7 downto 0); x : out std_logic_vector(7 downto 0);end tri_state;architecture body_tri of tri_state isbeginprocess(control,q,in1)beginif (control = 0)
15、 then x = q ; q=ZZZZZZZZ ; else q = in1; x=ZZZZZZZZ ; ;end if;end process;end body_tri; 双向端口的双向端口的VHDL设计设计2【例【例5-14】controlin17.0 x7.0q7.0qqinst 1.0s 1.5s 2.0s 2.5s 3.0s 3.5s 双向端口仿真波形双向端口仿真波形2 2双向端口综合结果双向端口综合结果2 2【例【例5-15】 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri1 IS port ( input3, input2
16、, input1, input0 : IN STD_LOGIC_VECTOR (7 DOWNTO 0); enable : IN STD_LOGIC_VECTOR (1 DOWNTO 0); output : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END tri1 ; ARCHITECTURE multiple_drivers OF tri1 ISBEGINPROCESS(enable,input3, input2, input1, input0 ) BEGIN IF enable = 00 THEN output = input3 ; ELSE output Z
17、); END IF ; IF enable = 01 THEN output = input2 ; ELSE output Z); END IF ; (接下页)(接下页) 三态总线电路的三态总线电路的VHDL设计设计1input37.0input27.0input17.0input07.0enable1.0output7.0tri1inst(接上页)(接上页) IF enable = 10 THEN output = input1 ; ELSE output Z); END IF ; IF enable = 11 THEN output = input0 ; ELSE output Z); E
18、ND IF ; END PROCESS;END multiple_drivers; 三态总线综合结果三态总线综合结果1 1【例【例5-16】library ieee;use ieee.std_logic_1164.all;entity tri2 isport ( ctl : in std_logic_vector(1 downto 0); datain1, datain2,datain3, datain4 : in std_logic_vector (7 downto 0); q : out std_logic_vector(7 downto 0) );end tri2;architectur
19、e body_tri of tri2 isbegin q Z) ; q Z) ; q Z) ; q Z) ;end body_tri; 三态总线电路的三态总线电路的VHDL设计设计2注:例注:例5-15可用可用4个并行的个并行的process语句正确设计语句正确设计ctl1.0datain17.0datain27.0datain37.0datain47.0q7.0tri2inst三三态态总总线线综综合合结结果果2 2ttttttttt01000011000001010二进制代码(a)(b)(c)(d)(e)(f)(g)(h)(i)数数字字基基带带信信号号的的常常用用码码型型(a)(a) 单极性
20、单极性(NRZ)(NRZ)码码 ;(b) (b) 双极性双极性(NRZ)(NRZ)码;码;(c) (c) 单极性单极性(RZ)(RZ)码;码; (d) (d) 双极性双极性(RZ)(RZ)码;码;(e) (e) 差分码;差分码;(f) (f) 交替极性码交替极性码(AMI)(AMI); (g) (g) 三阶高密度双极性三阶高密度双极性码码(HDB(HDB3 3) );(h) (h) 分相码;分相码;( (i i) ) 信号反转码信号反转码(CMI) (CMI) 数字序列数字序列AMI编码设计编码设计 AMI AMI码是传号交替反转码,在码是传号交替反转码,在AMIAMI码中,二进制码码中,二进制码0 0用用0 0电平表示,二进制码电平表示,二进制码1 1交替地用交替地用+1+1和和-1-1表示表示 。其编码规
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产买卖合同的核心特征探讨
- 网络主播签约合同书
- 统编版三年级语文下册第二单元测试卷(A)(含答案)
- 家居软装饰品买卖合同
- 版单位办公房屋租赁合同
- 1《我对谁负责 谁对我负责》表格式公开课一等奖创新教学设计
- 针刺伤的防护与应急处理
- 2025联合经营合同样本范本
- 2025汽车购销合同模板
- 2025年标准简单房屋租赁合同范本
- CJJT191-2012 浮置板轨道技术规范
- 2024年同等学力申硕-同等学力(法学)笔试参考题库含答案
- 部编版二年级语文下册第一单元大单元整体作业设计
- 黑臭水系治理工程监理大纲
- 高三下学期综评自我陈述报告
- 国际人权法与非洲人权体系的重要案例研究
- 中建悬挑卸料平台专项施工方案
- 中建总工程师的职业基本素养
- 【房地产项目成本控制问题研究文献综述2300字】
- 《一般将来时》教学设计
- 小学数学-青岛版五四制五年级数学上册第七单元《比的意义》教学设计学情分析教材分析课后反思
评论
0/150
提交评论