EDA技术与VHDL实验

合集下载

EDA技术实验讲义

EDA技术实验讲义

E D A/S O P C技术实验讲义陕西科技大学电气与信息工程学院目录4第一章 EDA_VHDL实验/设计与电子设计竞赛4 1-1、应用QuartusII完成基本组合电路设计5 1-2. 应用QuartusII完成基本时序电路的设计6 1-3. 设计含异步清0和同步时钟使能的加法计数器7 1-4. 7段数码显示译码器设计8 1-5. 8位数码扫描显示电路设计9 1-6. 数控分频器的设计10 1-7. 32位并进/并出移位寄存器设计10 1-8. 在QuartusII中用原理图输入法设计8位全加器11 1-9. 在QuartusII中用原理图输入法设计较复杂数字系统11 1-10. 用QuartusII设计正弦信号发生器13 1-11. 8位16进制频率计设计16 1-12. 序列检测器设计16 1-13. VHDL状态机A/D采样控制电路实现18 1-14. 数据采集电路和简易存储示波器设计19 1-15. 比较器和D/A器件实现A/D转换功能的电路设计20 1-16 移位相加硬件乘法器设计24 1-17 采用流水线技术设计高速数字相关器24 1-18 线性反馈移位寄存器设计25 1-19 乐曲硬件演奏电路设计28 1-20 乒乓球游戏电路设计32 1-21 循环冗余校验(CRC)模块设计33 1-22. FPGA步进电机细分驱动控制设计(电子设计竞赛赛题)34 1-23. FPGA直流电机PWM控制实验35 1-24. VGA彩条信号显示控制器设计37 1-25. VGA图像显示控制器设计37 1-26. 清华大学学生基于GW48PK2系统VGA图像显示控制器设计示例5则38 1-27. 直接数字式频率合成器(DDS)设计实验(电子设计竞赛赛题)39 1-28. 嵌入式锁相环PLL应用实验41 1-29. 使用嵌入式锁相环的DDS设计实验(200MHz超高速DAC的PLL测试42 1-30. 基于DDS的数字移相信号发生器设计(电子设计竞赛赛题)45 1-31. 采用超高速A/D的存储示波器设计(含PLL,电子设计竞赛赛题)46 1-32. 信号采集与频谱分析电路设计(电子设计竞赛赛题)46 1-33. 等精度数字频率/相位测试仪设计实验(电子设计竞赛赛题)48 1-34. FPGA与单片机联合开发之isp单片机编程方法49 1-35. 测相仪设计(电子设计竞赛赛题)50 1-36. PS/2键盘鼠标控制电子琴模块设计50 1-37. PS/2鼠标与VGA控制显示游戏模块设计50 1-38. FPGA_单片机_PC机双向通信测频模块设计50 1-39. 10路逻辑分析仪设计(电子设计竞赛赛题)51 1-40. IP核:数控振荡器NCO应用设计52 1-41. IP核:FIR数字滤波器应用设计53 1-42. IP核:FFT应用设计53 1-43. IP核:CSC VGA至电视色制互转模块应用设计54 1-44. IP核:嵌入式逻辑分析仪SignalTapII调用55 1-45. USB与FPGA通信实验56第二章 SOPC/EDA设计实验I56 2-1 用逻辑锁定优化技术设计流水线乘法器实验57 2-2 用逻辑锁定优化技术设计16阶数字滤波器实验59 2-3 基于DSP Builder的FIR数字滤波器设计实验60 2-4 基于DSP Builder的IIR数字滤波器设计实验60 2-5 基于DSP Builder的DDS与数字移相信号发生器设计实验62 2-6 m序列伪随机序列发生器设计实验63 2-7 巴克码检出器设计实验65 2-8 RS码编码器设计实验65 2-9 正交幅度调制与解调模型设计实验67 第三章 SOPC/EDA设计实验II67 3-1 基于MATLAB/DSP Builder DSP可控正弦信号发生器设计72 3-2 32位软核嵌入式处理器系统Nios开发实验73 3-3 设计一个简单的SOPC系统74 3-4 简单测控系统串口接收程序设计74 3-5 GSM短信模块程序设计75 3-6 基于SOPC的秒表程序设计77 3-7 Nios Avalon Slave外设(PWM模块)设计78 3-8 Nios Avalon Slave外设(数码管动态扫描显示模块)设计79 3-15 DMA应用和俄罗斯方块游戏设计79第四章 SOPC/EDA设计实验III ( NiosII系统设计 ) 79 4-1、建立NIOSII嵌入式处理器硬件系统87 4-2、NIOSII软件设计与运行流程94 4-3、加入用户自定义组件设计100 4-4、加入用户自定义指令设计103 4-5、FLASH编程下载104 4-6、设计DSP处理器功能系统104 4-7、AM调制电路设计105第五章液晶接口实验105 5-1 GDM12864A液晶显示模块接口开发111 5-2 HS162-4液晶显示模块与单片机的接口114 5-3 G240-128A液晶显示模块的接口115第六章 CPU及其结构组件设计实验115 6-1 复杂指令CPU设计122 6-2 8051/89C51单片机核于FPGA中实现实验124第七章模拟EDA实验124 7-1 模拟EDA实验及其设计软件使用向导(PAC _Designer使用)124 7-2 基于ispPAC80的5阶精密低通滤波器设计126 7-3 基于ispPAC10的直流增益为9的放大器设计129附录:GW48 EDA/SOPC主系统使用说明129 第一节:GW48教学系统原理与使用介绍,132 第二节:实验电路结构图137 第三节:超高速A/D、D/A板GW-ADDA说明138 第四节:步进电机和直流电机使用说明138 第五节:SOPC适配板使用说明139 第六节:GWDVPB电子设计竞赛应用板使用说明141 第七节:GWCK/PK2/PK3系统万能接插口与结构图信号/与芯片引脚对照表第一章EDA_VHDL实验/设计与电子设计竞赛1-1. 应用QuartusII完成基本组合电路设计(1) 实验目的:熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。

EDA实验报告31_十六进制7段数码管显示译码设计

EDA实验报告31_十六进制7段数码管显示译码设计
3. 将以上两个底层 vhdl 文件拷贝到顶层文件 nt_7seg_top 目录,创 建 project,用元件例化语句完成顶层电路 nt_7seg_top.vhdl 的 设计,编译、仿真,给出时序波形图,引脚锁定,编程下载,并进
行硬件测试
实验结果 及分析
1.十六进制计数器计数到 ‚1111‛时 cout 产生进位信号 2.每一次计数对应数码管不同的显示译码输出,由顶层文件 nt_7seg_top.vhdl 的时序仿真波形图可见,当数码管显示到“71”即 对应的十六进制 ‚F‛时,计数值清零(rst0 <= ‘0’),数码管重新从 “3F”即 ‘1’递增至 ‘F’循环显示。
EDA 技术与应用实验报告
姓名
学号
专业年级 电子信息工程
实验题目 十六进制 7 段数码显示段数码显示译码设计和硬件验证 2. 通过 VHDL 语言设计 7 段数码显示译码电路,进一步掌握层次化设计
方法
1. 数字系统中的数据处理和运算都是二进制的,输出表达为十六进制 数。为了满足十六进制数的译码显示,可利用译码程序在 FPGA/CPLD 中来实现
2. 输出信号 LED_7seg 的 7 位分别接数码管的 7 个段 a-b-c-d-e-f-g(-h),高位在左,低位在右(如果有小数点,增加 h 段)。由于使用的是共阴极数码管,各个段接高电平时发光,低电 平不亮。
实验原理
实验内容
实验一:十六进制 7 段数码显示译码设计 1. 用 VHDL 文本输入方法,完成十六进制计数器和 7 段数码显示译码电
实验过程 中所遇到 的问题及 相应的解 决方法
1. 实验过程中,由于在对顶层文件 nt_7seg_top.vhdl 进行编译时, 没有把两个底层文件加入到工程来,故编程下载后数码管没有任何

EDA

EDA

E D A 技术及应用实验报告实验一:八位全加器的设计一、实验要求1、用VHDL设计一个四位并行全加器;2、用图形方式构成一个八位全加器的顶层文件;3、完成八位全加器的时序仿真。

二、实验原理加法器是数字系统中的基本逻辑器件。

例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。

但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。

多位加法器的构成有两种方式:并行进位和串行进位方式。

并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。

通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。

实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。

这样,多位数加法器由 4 位二进制并行加法器级联构成是较好的折中选择。

因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

将两个四位并行全加器串联得到八位全家器,设计框图如下图所示:三、实验内容1、4位全加器的VHDL语言设计源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FULLADDER4 ISPORT(C4: IN STD_LOGIC;A4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);B4: IN STD_LOGIC_VECTOR(3 DOWNTO 0);S4: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO4:OUT STD_LOGIC);END ENTITY FULLADDER4;ARCHITECTURE ART OF FULLADDER4 ISSIGNAL S5,A5,B5: STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINA5<='0' & A4;B5<='0' & B4;S5<=A5+B5+C4;S4<=S5(3 DOWNTO 0);CO4<=S5(4);END ARCHITECTURE ART;时序仿真:输入A4=1101;B4=1010;C4=0;输出CO4=1;S4=0111;结果正确。

EDA实验报告(12份).pdf

EDA实验报告(12份).pdf

实验一组合电路的设计1. 实验目的:熟悉MAX + plus II 的VHDL 文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。

2. 实验内容:设计一个2选1多路选择器,并进行仿真测试,给出仿真波形。

3. 实验程序如下:library ieee;use ieee.std_logic_1164.all; entity mux21a isport(a,b,s:in std_logic;y:out std_logic); end entity mux21a; architecture one of mux21a is beginy<=a when s='0' else b ; end architecture one ;4. 仿真波形(如图1-1所示)图1-1 2选1多路选择器仿真波形5. 试验总结:从仿真波形可以看出此2选1多路选择器是当s为低电平时,y输出为b, 当s为高电平时,y输出为a(y<=a when s='0' else b ;),完成2路选择输出。

实验二时序电路的设计1. 实验目的:熟悉MAX + plus II VHDL文本设计过程,学习简单的时序电路设计、仿真和测试。

2. 实验验内容:设计一个锁存器,并进行仿真测试,给出仿真波形。

3. 实验程序如下:library ieee;use ieee.std_logic_1164.all;entity suocun7 isport(clk: in std_logic;en: in std_logic;D: in std_logic_vector(7 downto 0);B:out std_logic_vector(7 downto 0)); end suocun7;architecture one of suocun7 issignal K: std_logic_vector(7 downto 0); beginprocess(clk,en,D)beginif clk'event and clk='1' thenif en ='0'thenK<=D;end if;end if;end process;B<=K;end one;4.仿真波形(如图2-1所示)图2-1 8位锁存器仿真波形此程序完成的是一个8位锁存器,当时钟上升沿到来(clk'event and clk='1')、使能端为低电平(en ='0')时,输出为时钟上升沿时的前一个数,从仿真波形看,实现了此功能。

EDA技术-VHDL-四选一数据选择器程序设计与仿真实验

EDA技术-VHDL-四选一数据选择器程序设计与仿真实验

EDA技术-VHDL-四选⼀数据选择器程序设计与仿真实验四选⼀数据选择器程序设计与仿真实验1 实验⽬的(1) 熟悉在QuartusⅡ软件平台上建⽴⼯作库⽂件和编辑设计⽂件的⽅法。

(2) 熟悉创建⼯程⽂件⽅法。

(3) 熟悉编译前设置和启动全程编译设置的⽅法。

(4) 熟悉波形编辑器的使⽤⽅法(5) 熟悉在QuartusⅡ软件平台上对设计进⾏仿真的操作全过程(6) 会⽤VHDL语⾔设计⼀个四选⼀数据选择器。

2 实验原理数据选择器⼜叫“多路开关”。

数据选择器在地址码(或叫选择控制)电位的控制下,从⼏个数据输⼊中选择⼀个并将其送到⼀个公共的输出端。

数据选择器的功能类似⼀个多掷开关,如图3.2.1所⽰,图中有四路数据a、b、c、d输⼊,通过选择控制信号 s1、s2(地址码)从四路数据中选中某⼀路数据送⾄输出端y。

逻辑功能如表3.2.1所⽰。

图3.2.1 四选1数据选择器⽰意图表3.2.1 四选⼀数据选择器逻辑功能表从表3.2.1中可知使能端en=1时,不论a~c输⼊状态如何,均⽆输出(y=1,因为所⽤器件的显⽰电路是共阳极),多路开关被禁⽌。

使能端en=0时,多路开关正常⼯作,根据地址码s2、s1的状态选择a~c输⼊信号中某⼀个通道的数据输送到输出端y。

3 实验内容(1) 建⽴⼀个四选⼀数据选择器的⽂件夹。

(2) 在定义好的VHDL模型中完成四选⼀数据选择器的描述,并创建⼯程。

(3) 设计完成后进⾏全程编译,检查源程序编写是否正确。

(4) 建⽴波形编辑⽂件并对输⼊波形进⾏编辑。

(5) 启动仿真器进⾏仿真,并分析仿真结果。

4 实验预习与思考(1) 进⼀步学习在QuartusⅡ软件平台上建⽴⼯作库⽂件和编辑设计⽂件的⽅法。

(2) 进⼀步学习建⽴波形编辑器⽂件编辑输⼊波形的⽅法。

(3) VHDL语⾔的结构体在整个程序中起什么作⽤。

5 VHDL仿真实验(1)新建⼀个⽂件夹。

本例中⽂件夹名为mux。

(2)输⼊源程序,打开计算机桌⾯上图标。

vhdl实验报告_16乘16点阵_列选_显示

vhdl实验报告_16乘16点阵_列选_显示

综合实践总结报告综合实践名称: EDA技术与实践综合实践地点、时间一.题目功能分析和设计实验的要求有如下三点:1.用16*16点阵的发光二极管显示字符;2.可显示字符为0~9的数字字符与A~F英文字母的大写;3.输入为四位二进制矢量;按照要求可知,LED点阵模块,共由16×16=256个LED发光二极管组成,如何在该点阵模块上显示数字和字母是本实验的关键。

先将要显示的每一幅图像画在一个16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布以数字8为例,点阵分布为:0000000000000000000000000000000000011111111110000001111111111000000110000001100000011000000110000001100000011000000111111111100000011111111110000001100000011000000110000001100000011000000110000001111111111000000111111111100000000000000000000000000000000000考虑到实际物理实验平台上点阵发光二极管的原理,以下为16×16点阵LED外观图,只要其对应的X、Y轴顺向偏压,即可使LED 发亮。

例如如果想使左上角LED点亮,则Y0=1,X0=0即可。

所以我采用行列扫描的方法,用四位二进制数做列选信号(总共16列),如选中第一列,则扫描第一列之中哪些行是高电平(1),哪些行是低电平(0);为高电平的则点亮,为低电平的不亮。

(列信号都接地)。

如此,列选信号由“0000”变到“1111”时,16列扫描完毕,一个字也就出来了,列选信号重新由“0000”开始扫描。

注意扫描频率必须要足够快,才能保证显示一个数字或字母时所有灯在肉眼看来是同时在闪烁的。

(整理)可编程逻辑器件及EDA技术实验报告.

(整理)可编程逻辑器件及EDA技术实验报告.

可编程逻辑器件及EDA技术实验报告一、组合逻辑电路设计数字逻辑电路按照逻辑功能的特点分为两类,一类是组合逻辑电路,简称为组合电路;另一类是时序逻辑电路,简称为时序电路。

组合电路的特点是电路任意时刻输出状态只取决该时刻的输入状态,而与该时刻钱的电路状态无关。

1、逻辑门电路设计实验原理:逻辑门电路包括基本逻辑门电路和符合逻辑门电路。

VHDL语言可以直接支持的逻辑运算符共有七种逻辑运算,它们是:NOT 逻辑非AND 逻辑与NAND 逻辑与非OR 逻辑或NOR 或非XOR 异或XNOR 异或非实验内容:例3-2的参考程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee. std_logic_unsigned.all;entity example3_2 isport(a,b,c,d:in std_logic;f:out std_logic_vector(3 downto 0));end example3_2;architecture behavioral of example3_2 isbeginf(0)<=(a and b)or(b and c)or(not b and not c);f(1)<=(a and b and c)or not(not a or not b or not c);f(2)<=(a xor b xor c)or(not(d)and(a or c));f(3)<=not ((a and b)xor (c and d))or((a and b and d)xor(b and c and d));end behavioral;实验分析:用逻辑运算符是实现了相对较为复杂的逻辑运算。

参考程序中使用括号来强制控制逻辑运算的优先级,对于用VHDL设计,这种写法是必修的。

eda

eda

EDA课程设计实验报告交通信号控制器的VHDL的设计一、设计任务及要求:设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。

要求:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。

支干道主干道图1 路口交通管理示意图A B C D主干道交通灯绿(40秒)黄(4秒)红(20秒)红(4秒)支干道交通灯红红绿黄表1 交通信号灯的4种状态设计要求:(1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。

(2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。

二设计原理1、设计目的:学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。

通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制2’设计说明(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。

因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。

模块说明:系统输入信号:Clk: 由外接信号发生器提供256的时钟信号;系统输出信号: full:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。

模块说明:系统输入:full: 接收由clk电路的提供的1hz的时钟脉冲信号;系统输出信号:tm:产生显示电路状态转换信号tl:倒计数值秒数个位变化控制信号th:倒计数值秒数十位变化控制信号(3)第三模块:红绿灯状态转换电路本电路负责红绿灯的转换。

模块说明:系统输入信号:full: 接收由clk 电路的提供的1hz 的时钟脉冲信号; tm: 接收计数秒数选择电路状态转换信号; 系统输出信号: comb_out: 负责红绿灯的状态显示。

EDA技术-VHDL-5.13嵌入式锁相环PLL应用实验

EDA技术-VHDL-5.13嵌入式锁相环PLL应用实验

2205.13嵌入式锁相环PLL 应用实验1 实验目的(1) 学习使用Cyclone 器件中的嵌入式锁相环,为以后的设计作准备。

2 实验原理(1)锁相环的基本组成许多电子设备要正常工作,通常需要外部的输入信号与内部的振荡信号同步,利用锁相环路就可以实现这个目的。

锁相环电路是一种反馈控制电路,简称锁相环(PLL )。

锁相环的特点是:利用外部输入的参考信号控制环路内部振荡信号的频率和相位。

因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。

锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。

锁相环通常由鉴相器(PD )、环路滤波器(LF )和压控振荡器(VCO )三部分组成,锁相环组成的原理框图如图5.13.1所示。

图5.13.1 锁相环的组成锁相环中的鉴相器又称为相位比较器,它的作用是检测输入信号和输出信号的相位差,并将检测出的相位差信号转换成)(t u D 电压信号输出,该信号经低通滤波器滤波后形成压控振荡器的控制电压)(t u C ,对振荡器输出信号的频率实施控制。

(2)锁相环的工作原理锁相环中的鉴相器通常由模拟乘法器组成,鉴相器的工作原理是:设外界输入的信号电压和压控振荡器输出的信号电压分别为:(5.13.1)(5.13.2)221式中的ω0为压控振荡器在输入控制电压为零或为直流电压时的振荡角频率,称为电路的固有振荡角频率。

则模拟乘法器的输出电压D u 为:(5.13.3)用低通滤波器LF 将上式中的和频分量滤掉,剩下的差频分量作为压控振荡器的输入控制电压)(t u C 。

即)(t u C 为:(5.13.4)式中的i ω为输入信号的瞬时振荡角频率,)(t i θ和)(0t θ分别为输入信号和输出信号的瞬时位相,根据相量的关系可得瞬时频率和瞬时位相的关系为:即(5.13.5)则,瞬时相位差D θ为:(5.13.6) 对两边求微分,可得频差的关系式为(5.13.7)上式等于零,说明锁相环进入相位锁定的状态,此时输出和输入信号的频率和相位保持恒定不变的状态,)(t u C 为恒定值。

EDA技术及应用-VHDL版(第三版)(潭会生)第7章详解

EDA技术及应用-VHDL版(第三版)(潭会生)第7章详解

第7章 EDA技术实验
CLK CLR ENA
CNT10
CLK
U0
CLR
ENA
CQ[3..0] CO
DOUT[3..0] S0
CNT10
CLK
U1
CLR
ENA
CQ[3..0] CO
DOUT[7..4] S1
CNT10
CLK CLR ENA
U2 CQ[3..0] CO
DOUT[11..8] S2
CNT10 U3
第7章 EDA技术实验
ห้องสมุดไป่ตู้验证清零功能
验证使能有效
验证计数功能
预计可能结果
图7.2 CNT10仿真输入设置及可能结果估计图
第7章 EDA技术实验
4) 管脚锁定文件 根据图7.1所示的CNT9999电路原理图,本设计实体的 输入有时钟信号CLK、清零信号CLR和计数使能信号ENA, 输出为DOUT[15..0],据此可选择实验电路结构图NO.0,对 应实验模式0。 根据图7.5所示的实验电路结构图NO.0和图7.1确定引脚 的锁定。选用EPM7128S-PL84芯片,其引脚锁定过程如表 7.1所示,其中CLK接CLOCK2,CLR接键3,ENA接键4, 计数结果DOUT[3..0]、DOUT[7..4]、DOUT[11..8]、 DOUT[15..12]经外部译码器译码后,分别在数码管1、数码 管2、数码管3、数码管4上显示。
第7章 EDA技术实验
3.实验要求 (1) 画出系统的原理框图,说明系统中各主要组成部分 的功能。 (2) 编写各个VHDL源程序。 (3) 根据系统的功能,选好测试用例,画出测试输入信 号波形或编好测试程序。 (4) 根据选用的EDA实验开发装置编好用于硬件验证的 管脚锁定表格或文件。 (5) 记录系统仿真、逻辑综合及硬件验证结果。 (6) 记录实验过程中出现的问题及解决办法。

EDA秒表设计 实验报告

EDA秒表设计 实验报告

EDA课程设计报告——基于VHDL语言的秒表设计课程名称:EDA技术院系:地球物理及信息工程学院专业班级:电子信息工程08级2班学生姓名:学号:指导老师:完成时间:2011年5月18日秒表设计一. 设计要求利用EDA实验箱,通过VHDL语言进行编程,设计一个简单的秒表,并用EDA实验箱进行实现,具体设计要求如下:(1)有使能、暂停、继续、秒表计数功能;(2)带有异步复位功能;(3)显示分、秒信息,若需要,显示秒表信息。

二. 设计的作用、目的在本次设计中,可以简单的了解EDA技术的应用以及VHDL语言编写的方法。

通过设计一个秒表,可以掌握用VHDL设计多位加法计数器的方法,尤其是调整时钟使得每过一秒就改变一个数,达到设计的要求。

三. 设计的具体实现1.系统概述本次系统设计主要分三个部分,一是通过VHDL语言设计一个八位的加法计数器,来实现秒表的计时功能;二是通过调整时钟使秒表计数为每秒改变一个数;三是加入一些控制按键,实现使能、暂停、继续等功能。

2.程序具体设计秒表显示共有6位,两位显示分,两位显示秒,十分秒和百分秒各一位。

设计时使用一个计数器,随着时钟上升沿的到来循环计数,每计数一次,百分秒位加一,通过百分秒位满十进位来控制十分位的计数,十分位满十进位,依次类推,实现秒表计数。

为实现秒位的计时精确,百秒位必须以0.01秒的时间间隔计数,即时钟的频率是100Hz。

为此,本设计采用3MHz的时钟频率通过分频得到100Hz的时钟频率,再送给控制时钟以得到比较精确的CLK信号。

具体程序设计见附录。

引脚定义如下:其中,时钟信号CLK为3MHz的时钟频率,分频后得到的时钟为CLK2,输出引脚CLK2和输入引脚CLK2在外部相连,实现将分频后的时钟送入。

3.调试应用MAX+plus II软件编译调试实验控制程序, 仿真运行结果如下:(1)给时钟后,实现开始功能:开始键按下(STA=‘1’)后,秒表计数开始。

(2)给时钟后,实现暂停功能:从上图可以看出暂停键按下后(POS=‘1’),输出(CQ)保持不变,直到暂停键再次按下(POS=‘0’),输出才继续计数,从而实现了暂停的功能。

VHDL-实验

VHDL-实验

计算机科学与技术学院实验报告(学年度第学期)课程名称EDA技术实验姓名学号专业计算机班级地点教师实验一:八位二进制补码一.实验目的1.熟悉Max+PlusII和GW48EDA开发系统的使用;2.掌握八位二进制补码的VHDL设计;3.元件例化语句的使用。

二.实验原理若原码为正,则补码等于原码;若原码为负,则补码为(2+原码)mod2。

三.八位二进制补码程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JACKAN ISPORT(rst:IN STD_LOGIC;din:IN STD_LOGIC_VECTOR(7 DOWNTO 0);dout:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY JACKAN;ARCHITECTURE HAIXIA OF JACKAN ISSIGNAL tmp:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS(din,rst)BEGINIF rst='0' THENdout<=(OTHERS=>'0');ELSIF din(7) ='1' THENFOR i IN 0 TO 6 LOOPtmp(i)<=NOT din(i);END LOOP;dout(6 DOWNTO 0) <= tmp+1;dout(7) <= din(7);ELSEdout<= din;END IF;END PROCESS;END ARCHITECTURE HAIXIA;四.实验结果五.总结8位二进制补码:寄存器主要用来存储8位二进制数据。

高8位为符号位,不进行求反运算。

余下7位根据高8位的数据状态进行相应操作。

实验二.一位全减器的VHDL设计一. 实验目的1.熟悉Max+PlusII和GW48EDA开发系统的使用;2.掌握一位半减器的VHDL设计;3.掌握一位半减器构建一位全减器的方法;二.实验原理由两个半减器和一个或门构成一个全减器。

EDA技术与VHDL实验指导书

EDA技术与VHDL实验指导书

EDA技术与VHDL实验指导书电气中心实验室编制2011-9前言《EDA技术与VHDL实验指导书》是与理论课程《EDA技术与VHDL》配套开出的,是电子信息工程等专业的一门专业选修课程,对电子信息工程等专业的学生具有非常重要的作用。

本实验课与理论课同时进行,与理论课有着较密切的联系。

因此学生在做本实验之前必须具备1.一定的C语言基础;2.电路与电子技术的基础知识;3.计算机辅助设计的基本操作能力;4.理论联系实践的自学能力。

学生学习完本实验课后,应具有1.能熟练使用Quartus II等EDA开发工具软件;2.掌握CPLD/FPGA芯片的基本使用方法,能用现代数字系统的设计方法进行基本的数字系统设计;3.掌握图形编辑和VHDL文本编辑两种设计方法,重点是VHDL文本编辑;4.具备基本的开发能力,为后续学习打下坚实的基础等方面能力。

从70 年代第一片可编程逻辑器件PROM的诞生到现在的CPLD/FPGA,数字系统的设计发生了本质的变化。

基于CPLD/FPGA和EDA(电子设计自动化)工具进行数字系统的设计与开发。

它代表了数字电信领域的最高水平,给数字电路的设计带来了革命性的变化。

从传统的对电路板的设计到现在的基于芯片的设计,使得数字系统设计的效率大大提高,产品更新速度大大加快,设计周期大大变短。

所以本科生学习本课程有着非常重要的意义。

本实验不同于其它实验,其实验手段和实验方法都有重大的变化,要求实验前提交预习报告,检查通过后方可实验,设计与综合实验环节。

本实验是在PC 平台上,用原理图或文本进行输入,然后进行编译,通过之后再进行波形仿真,如有缺陷,对源文件进行修改。

利用ISP技术、采用EDA工具、应用PLD 器件,在PC及EDA开发平台上进行。

实验一组合逻辑电路设计实验学时:3学时实验类型:验证实验要求:必做一、实验目的1.熟练掌握QuartusII开发工具软件;2.掌握门电路VHDL语言程序设计方法;3.掌握选择器VHDL语言程序设计方法;4.掌握加法器VHDL语言程序设计方法;5.熟悉VHDL编程的基本方法;二、实验原理1.二输入与门二输入与门是我们数字电路中的一个基础逻辑门电路,是最基本的逻辑门电路之一,也是最简单的逻辑门之一。

《EDA技术与VHDL》实训六 数控分频器的设计

《EDA技术与VHDL》实训六 数控分频器的设计

姓名:课程名称:EDA技术与VHDL院(系):电子信息与电气工程学院专业/年级:实训六数控分频器的设计一、实验目的:学习数控分频器的设计、分析和测试方法。

二、实验内容1、在QuartusⅡ上对数控分频器的程序进行编辑、编译、综合、适配、仿真。

说明例中各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图。

2、给出其时序仿真波形。

三、实验仪器电脑。

四、实验原理数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可五、实验内容:程序设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DVF ISPORT ( CLK : IN STD_LOGIC;D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);FOUT : OUT STD_LOGIC );END;ARCHITECTURE one OF DVF ISSIGNAL FULL : STD_LOGIC;BEGINP_REG: PROCESS(CLK)V ARIABLE CNT8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK = '1' THENIF CNT8 = "11111111" THENCNT8 := D;FULL <= '1';ELSE CNT8 := CNT8 + 1; FULL <= '0';END IF;END IF;END PROCESS P_REG ;P_DIV: PROCESS(FULL)V ARIABLE CNT2 : STD_LOGIC;BEGINIF FULL'EVENT AND FULL = '1' THEN CNT2 := NOT CNT2;IF CNT2 = '1' THEN FOUT <= '1'; ELSE FOUT <= '0'; END IF;END IF;END PROCESS P_DIV ;END;软件编译仿真分析。

VHDL语言与EDA课程设计-数字频率计【完整版】

VHDL语言与EDA课程设计-数字频率计【完整版】

VHDL语言与EDA课程设计-数字频率计【完整版】(文档可以直接使用,也可根据实际需要修订后使用,可编辑放心下载)湖南人文科技学院课程设计报告课程名称:VHDL语言与EDA课程设计设计题目:数字频率计系别:通信与控制工程系专业:电子信息工程班级:08级电信二班学生姓名:学号:起止日期: 11年6月13日~ 11年6月23日指导教师:教研室主任:摘要数字频率计是直接用十进制数字来显示被测信号频率的一种测量装置,是计算机,通讯设备、音频设音频视频等科研生产领域不可缺少的测量仪器。

本次课程设计设计以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体的性能和可靠性。

EDA〔Electronic Design Automation〕即电子设计自动化。

EDA技术指的是以计算机硬件和系统软件为根本工作平台,以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统设计的主要表达方式,自动完成集成电子系统设计的一门新技术。

本设计用VHDL在CPLD器件上实现一种8 位十进制数字频率计测频系统,能够用十进制数码显示被测信号的频率,能够测量正弦波、方波和三角波等信号的频率,具有体积小、可靠性高、功耗低的特点,设计出的频率计能够准确的测出输入信号的频率,最后通过系统仿真,下载、验证和调试运行,实现了一个性能良好的8位数字频率计初步实现了设计目标。

其根本原理是使用一个频率稳定性高的频率作为基准,比照测量其他信号的频率,即计算每秒钟内待测信号的脉冲个数。

该数字频率计可以在不更改硬件电路的根底上,对系统进行各种改良还可以进一步提高系统的性能,而且整个系统非常精简,具有高速、精确、可靠、抗干扰性强和现场可编程等优点,实用性极高。

本文详细描述了数字频率计的设计流程及正确实现。

关键词:数字频率计;EDA;VHDL;QuartusⅡ目录设计要求 (1)1、方案论证与比照 (1)1.1方案比照 (1)1.2方案选择 (2)2.总体模块设计 (2)3.单元模块设计 (3)3.1 顶层模块设计 (3)3.2 测频控制模块 (4)3.3十进位计数模块 (5)3.4 测频锁存模块 (7)4.系统仿真 (8)5.硬件下载测试 (9)6.总结与致谢 (10)参考文献 (11)附录 (12)数字频率计设计要求1.能够显示的频率为8位10进制;2.测量的波形的电压最大值小于5V;3.能测量正弦波、三角波、方波或其他周期性波形的频率;3.用数码管显示测试的结果。

EDA技术与VHDL实用教程

EDA技术与VHDL实用教程
17
EDA技术与VHDL实用教程
EDA与传统电子设计方法的比较
FPGA和DSP芯片实现FIR滤波器的速度对比
8位FIR滤 FPGA的处理速度 达到相当速度所需DSP芯片的指令执行速度
波器阶数
单位: MSPS
单位:MIPS
8
104
832
16
24
101
103
1616
2472
32
EDA技术与VHDL实用教程
EDA技术与VHDL实用教程
11
VHDL语言是一种高级描述语言,适用于 电路高级建模,综合的效率和效果较好。
Verilog-HDL语言是一种低级的描述语言, 适用于描述门级电路,容易控制电路资源, 但其对系统的描述能力不如VHDL语言。
EDA技术与VHDL实用教程
12
(二)可编程逻辑器件 可编程逻辑器件(简称PLD)是一种由用户 编程来实现某种逻辑功能的新型逻辑器件。
Expert LEVER
Actel
EDA技术与VHDL实用教程
IspLSI、pLSI、 MACH等
SX系列、MX系列
逻辑图、VHDL文本等 逻辑图、VHDL文本等
16
Actel Designer
EDA与传统电子设计方法的比较
手工设计方法的缺点是: 1)复杂电路的设计、调试十分 困难。 2)如果某一过程存在错误,查 找和修改十分不便。 3)设计过程中产生大量文档, 不易管理。 4)对于集成电路设计而言,设 计实现过程与具体生产工艺直 接相关,因此可移植性差。 5)只有在设计出样机或生产出 芯片后才能进行实测。 EDA技术有很大不同: 1)采用硬件描述语言作为设计输入。 2)库(Library)的引入。 3)设计文档的管理。 4)强大的系统建模、电路仿真功能。 5)具有自主知识产权。 6)开发技术的标准化、规范化以及IP 核的可利用性。 7)适用于高效率大规模系统设计的自 顶向下设计方案。 8)全方位地利用计算机自动设计、仿 真和测试技术。 9)对设计者的硬件知识和硬件经验要 求低。 10)高速性能好。 11)纯硬件系统的高可靠性。

EDA技术与实验考题附答案

EDA技术与实验考题附答案

填空题1.VHDL与1985年正式推出,是目前标准化成都最高的硬件描述语言.2.IEEE于1987年将VHDL采纳为ieee#1076 标准.3.用VHDL书写的源文件,既是程序又是文档,既是工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件.4.一般将一个完整VHDL程序称为设计实体.5.用VHDL设计的电路,既可以被高层次的系统调用,成为系统的一部分,也可以作为一个电路的功能块独立存在和独立运行.6.VHDL设计实体的基本结构由库、程序包、实体、结构体、配置、等部分构成.7.实体和结构体是设计实体的基本组成,它们可以构成最基本的VHDL程序.8.IEEE于1987年公布了VHDL的ieee#1076 -1987 语法标准.9.IEEE于1993年公布了VHDL的ieee#1076 -1993 语法标准.10.根据VHDL语法规则,在VHDL程序中使用的文字、数据对象、数据类型都需要预先定义.11.在VHDL中最常用的库是ieee. 标准库,最常用的程序包是std_logic_1146 程序包.12.VHDL的实体由实体声明部分和结构体组成.13.VHDL的实体声明部分指定了设计单元的输入、输出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分.14.VHDL结构体用来描述设计实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不见的部分.15.在VHDL的端口声明语句中,端口方向包括in 、out 、inout 和Buffer(具有读功能的输出) .16.VHDL的数字型文字包括整数文字、实数文字、以数字基数表示的文字、物理量文字.1.17.VHDL的字符是以单引号括起来的数字、字母、符号.18.VHDL的标识符名必须以字母开头,后跟若干字母、数字或单个下划线构成,但最后不能为下划线.19.VHDL的数据对象包括变量、常量、信号,它们是用来存放各种类型数据的容器.20.VHDL的变量(V ARIABLE)是一个局部量,只能在进程、函数和过程中声明和使用.21.VHDL的信号(SIGNAL)是一种数值容器,不仅可以容纳当前值,也可以保持历史值.22.常数(CONSTANT)是程序中的一个恒定不变的值,一般在程序前段声明.23.VHDL的数据类型包括标量型、复合型、存取类型、文件型.24.VHDL的标量型(Scalar Type)是单元素的最基本数据类型,包括整数型、实数型、枚举型、时间型.25.在VHDL中,标准逻辑位数据有九种逻辑值.26.VHDL的操作符包括逻辑操作符(Logic Operator)、关系操作符(Relation Operator)、算术操作符(Arithmetic Operator)、符号操作符(Sign Operator)四类.27.在VHDL中,预定义的属性标识符可用于检出时钟边沿、完成定时检查、获得未约束的数据类型范围等.28.VHDL的基本描述语句包括并行语句、顺序语句.29.VHDL的顺序语句只能出现在进程、过程、函数中,是按程序书写的顺序自上而下、一条一条地执行.30.VHDL的并行语句在结构体中的执行是并行语句的,其执行方式与语句书写的顺序无关.31.在VHDL的各种并行语句间,可以用信号来交换信息.32.VHDL的PROCESS(进程)语句是由顺序语句组成的,但其本身却是并行语句.33.VHDL的并行信号赋值语句的赋值目标必须都是信号.34.VHDL的子程序有过程、函数两种类型.35.VHDL的过程分为过程首和过程体两部分,调用前需要将它们装入程序包中.36.VHDL的函数分为函数首、函数体两部分,调用前需要将它们装入程序包(Package)中.37.元件例化是将预先设计好的设计实体作为一个元件,连接到当前设计实体中一个指定的端口.38.在PC上或工作站利用VHDL进行项目设计,不允许在根目录下进行,必须在根目录下为设计建立一个工程目录(即文件夹).39.程序包是用VHDL语言编写的,其源程序也需要以。

EDA技术实验报告

EDA技术实验报告

EDA技术实验报告实验⼀利⽤原理图输⼊法设计4位全加器⼀、实验⽬的:掌握利⽤原理图输⼊法设计简单组合电路的⽅法,掌握MAX+plusII 的层次化设计⽅法。

通过⼀个4位全加器的设计,熟悉⽤EDA 软件进⾏电路设计的详细流程。

⼆、实验原理:⼀个4位全加器可以由4个⼀位全加器构成,全加器的进位以串⾏⽅式实现,即将低位加法器的进位输出cout 与相邻的⾼位加法器的低位进位输⼊信号cin 相接。

1位全加器f-adder 由2个半加器h-adder 和⼀个或门按照下列电路来实现。

半加器h-adder 由与门、同或门和⾮门构成。

四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界⾯,掌握利⽤原理图进⾏电路模块设计的⽅法。

QuartusII 设计流程见教材第五章:QuartusII 应⽤向导。

2.设计1位全加器原理图(1)⽣成⼀个新的图形⽂件(file->new->graphic editor )(2)按照给定的原理图输⼊逻辑门(symbol ->enter symbol)COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击⿏标左键,然后输⼊名字;选中需命名的线,然后输⼊名字。

(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建⼀个设计的符号,该符号可被⾼层设计调⽤。

3.利⽤层次化原理图⽅法设计4位全加器(1)⽣成新的空⽩原理图,作为4位全加器设计输⼊(2)利⽤已经⽣成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形⽂件(file->new->Other Files->Vector Waveform File),保存后进⾏仿真(Processing ->Start Simulation),对4位全加器进⾏时序仿真。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA技术与VHDL实验实验4-1. 组合电路的设计实验目的:熟悉Quartus Ⅱ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。

实验任务1利用Quartus完成2选1多路选择器,并进行编译、仿真、管脚下载。

实验代码ENTITY mux21a ISPORT(a,b,s:IN BIT;y:OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)BEGINIF s='0' THEN y <=a;ELSE y <= b;END IF;END PROCESS;END ARCHITECTURE one;仿真波形从波形看出,仿真结果正确,当s=0时,y=a,反之等于b管脚下载管脚测试:s=0------{a=0则y=0},{a=1则y=1}s=1------{b=0则y=0},{b=1则y=1}实验任务2将此多路选择器看成是一个元件mux21a,利用元件例化语句描述图3-18,并将此文件放在同一目录中。

以下是部分参考程序:...COMPONENT MUX21APORT ( a,b,s : IN STD_LOGIC;y : OUT STD_LOGIC);END COMPONENT ;...u1 : MUX21A PORT MAP(a=>a2,b=>a3,s=>s0,y=>tmp);u2 : MUX21A PORT MAP(a=>a1,b=>tmp,s=>s1,y=>outy);END ARCHITECTURE BHV ;按照本章给出的步骤对上例分别进行编译、综合、仿真。

并对其仿真波形作出分析说明。

实验代码entity muxk isport(a1,a2,a3,s0,s1:in bit;outy:out bit);end muxk;architecture one of muxk iscomponent mux21aport(a,b,s:in bit;y:out bit);end component;signal tmp :bit;beginu1:mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);u2:mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);end architecture one;仿真波形从仿真波形可以看出s0.s1分别为00,01,10,11时,y分别为a1,a2,a1,a3. 管脚下载管脚测试:s=00-----y=a1;s=01-----y=b;s=10-----y=a1;s=11------y=a3;实验习题:以1位二进制全加器为基本元件,用例化语句写出8位并行二进制全加器的顶层文件,并讨论此加法器的电路特性。

实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder_8b ISPORT( a,b:IN STD_LOGIC_VECTOR(7 DOWNTO 0);ci:in STD_LOGIC;co:OUT STD_LOGIC;s:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY f_adder_8b;ARCHITECTURE one OF f_adder_8b ISCOMPONENT f_adder ISPORT(ain,bin,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END COMPONENT f_adder;SIGNAL d,e,f,g,h,i,j:STD_LOGIC;BEGINu1:f_adder PORTMAP(ain=>a(0),bin=>b(0),cin=>ci,cout=>d,sum=>s(0));u2:f_adder PORTMAP(ain=>a(1),bin=>b(1),cin=>d,cout=>e,sum=>s(1));u3:f_adder PORTMAP(ain=>a(2),bin=>b(2),cin=>e,cout=>f,sum=>s(2));u4:f_adder PORTMAP(ain=>a(3),bin=>b(3),cin=>f,cout=>g,sum=>s(3));u5:f_adder PORTMAP(ain=>a(4),bin=>b(4),cin=>g,cout=>h,sum=>s(4));u6:f_adder PORTMAP(ain=>a(5),bin=>b(5),cin=>h,cout=>i,sum=>s(5));u7:f_adder PORT MAP(ain=>a(6),bin=>b(6),cin=>i,cout=>j,sum=>s(6));u8:f_adder PORTMAP(ain=>a(7),bin=>b(7),cin=>j,cout=>co,sum=>s(7));END ARCHITECTURE one;仿真波形从波形中看出,实现了八位二进制的全加的功能实验4-2. 时序电路的设计实验目的:熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。

实验任务1设计触发器(使用例3-6),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 ISPORT( CLK:IN STD_LOGIC;D :IN STD_LOGIC;Q :OUT STD_LOGIC);END ENTITY DFF1;ARCHITECTURE bhv OF DFF1 ISSIGNAL Q1:STD_LOGIC;BEGINPROCESS(CLK,Q1)BEGINIF CLK'EVENT AND (CLK='1') AND (CLK'LAST_V ALUE='0')THEN Q1 <= D;END IF;END PROCESS;Q <=Q1;END ARCHITECTURE bhv ;仿真波形实验任务2设计锁存器(使用例3-14),同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。

实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF2 ISPORT( CLK:IN STD_LOGIC;D :IN STD_LOGIC;Q :OUT STD_LOGIC);END ENTITY DFF2;ARCHITECTURE bhv OF DFF2 ISSIGNAL Q1:STD_LOGIC;BEGINPROCESS(CLK,D)BEGINIF CLK='1'THEN Q1 <= D;END IF;END PROCESS;Q <=Q1;END ARCHITECTURE bhv ;仿真波形实验任务3只用一个1位二进制全加器为基本元件和一些辅助的时序电路,设计一个8位串行二进制全加器。

提示:此加法器有并/串和串/并移位寄存器各一。

实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder_8bs ISPORT(inputa,inputb:IN STD_LOGIC_vector(7 downto 0);clk1,en:in STD_LOGIC;cout:out std_logic;output:out STD_LOGIC_vector(7 downto 0));END ENTITY f_adder_8bs;ARCHITECTURE one OF f_adder_8bs ISCOMPONENT c_s_shift IS --串并移位寄存器PORT(datain:IN STD_LOGIC;clock:in std_logic;dataout:OUT STD_LOGIC_vector(7 downto 0));END COMPONENT c_s_shift;COMPONENT s_c_shift IS --并串移位寄存器PORT(datain:IN STD_LOGIC_vector(7 downto 0);clock,m:in std_logic;dataout:OUT STD_LOGIC);END COMPONENT s_c_shift;COMPONENT f_adder IS --全加器PORT(ain,bin,cin:IN STD_LOGIC;cout,sum:OUT STD_LOGIC);END COMPONENT f_adder;COMPONENT DFF1 IS --D触发器PORT( CLK:IN STD_LOGIC;D :IN STD_LOGIC;Q :OUT STD_LOGIC);END COMPONENT DFF1;SIGNAL a,b,c,e,f:STD_LOGIC;BEGINu1:s_c_shift PORT MAP(datain=>inputa,m=>en,clock=>clk1,dataout=>a); u2:s_c_shift PORT MAP(datain=>inputb,m=>en,clock=>clk1,dataout=>b); u3:f_adder PORT MAP(ain=>a,bin=>b,cin=>e,cout=>c,sum=>f);u4:dff1 PORT MAP(d=>c,clk=>clk1,q=>e);u5:c_s_shift PORT MAP(datain=>f,clock=>clk1,dataout=>output);cout <= c;END ARCHITECTURE one;仿真波形仿真分析:11001011与10001100的结果是01010111,进位为1管脚下载管脚测试:inputa[7..0]=10110110,, inputa[7..0]=10110110 Output[7..0]=01101100,cout=1;实验4-3. 含异步清0和同步时钟使能的加法计数器的设计实验目的:学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。

相关文档
最新文档