8选一数据选择器VHDL源程序
verilog实现8路数据选择器
《串行数据检测器》实验报告* All right reserved*/module mux_8(addr, in1, in2, in3, in4, in5,in6,in7,in8,mout,ncs); input [2:0] addr; //输入的地址端,3位选择开关input [3:0] in1,in2,in3,in4,in5,in6,in7,in8; //8路数据端输入input ncs; //使能信号output [3:0] mout; //一路输出reg [3:0] mout; //输出声明为寄存器类型always @(addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8 or ncs) //8路输入或者选择开关或者使能信号发生变化则条件触发beginif(!ncs) //低电平使能case(addr)3'b000: mout = in1; //选择开关的3位对应000时,输出等于in1输入;3'b001: mout = in2; //选择开关的3位对应001时,输出等于in1输入;3'b010: mout = in3; //选择开关的3位对应010时,输出等于in1输入;3'b011: mout = in4; //选择开关的3位对应011时,输出等于in1输入;3'b100: mout = in5; //选择开关的3位对应100时,输出等于in1输入;3'b101: mout = in6; //选择开关的3位对应101时,输出等于in1输入;3'b110: mout = in7; //选择开关的3位对应110时,输出等于in1输入;3'b111: mout = in8; //选择开关的3位对应111时,输出等于in1输入;endcaseelsemout = 0; //使能信号高电平时输出一直为0;endendmodule2.编写测试模块test_mux_8.v如下/*** @File test_mux_8.v* @Synopsis 这是8路数据选择器mux_8的测试模块* @Author 陈昊, @* @Version 1* @Date 2010-11-05*//* Copyright(0) 2010-* By* All right reserved*/`timescale 1ns/1nsmodule test_mux_8;wire[3:0] mout; //声明输出为线网型,4位reg [3:0] in1,in2,in3,in4,in5,in6,in7,in8; //声明8路输入信号reg [2:0] addr; //3位的选择开关,寄存型类型reg ncs; //1位的寄存器型使能信号//-------------------------------------------------------------产生测试信号------------------------------------------------------ initialbeginncs=0; //在初始化模块里将使能信号置为0,让选择器正常工作in8={$random}%16; //使用系统任务$random产生一个0至15之间的数in1={$random}%16; //并赋予输入in2={$random}%16;in3={$random}%16;in4={$random}%16;in5={$random}%16;in6={$random}%16;in7={$random}%16;addr=3'b000; //让选择开关的3位初始对应为000.repeat(5) //重复下面的语句块5次,赋5次值 begin#10 in8={$random}%16;in1={$random}%16;in2={$random}%16;in3={$random}%16;in4={$random}%16;in5={$random}%16;in6={$random}%16;in7={$random}%16;addr=addr+1; //每执行一次后改变一次选择开关的值,加1end#10 $stop;end//-------------------------------------------------------------------2.选择Altera STRATIX器件库利用Synplify Pro综合产生的RTL级电路如下五、分析与讨论。
八选一数据选择器
学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:八选一数据选择器专业名称:电子科学与技术班级:电科一班学号:3205080117学生姓名:刘海涛教师姓名:程鸿亮____2010____年___11_月___6_日组别 5 同组同学王帅周全实验日期2010年11月6 日实验室名称________成绩_____一、实验名称:八选一数据选择器二、实验目的与要求:设计一个8选1的数据选择器,初步掌握QuartusII软件的使用方法以及硬件编程下载的基本技能。
三、实验内容:1.通过VHDL编程,实现一个数据选择器,要求有8位数据输入端,1位数据输出端,通过3位地址输入信号寻址,并具有输出使能功能。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台。
如图所示:d0~d7为数据输入端;本实验用实验平台的拨动开关实现8位输入信号(d0~d7):g为使能端,高电平有效; a[2..0]为地址输入端;用实验平台的按键8,7,6实现地址信号和键3实现使能信号:y为输出端。
本实验输出采用LED发光阵列的LED12。
注:要求非使能或是无效地址状态时,y输出0。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
2.操作步骤:1.在quartus建立工程,选择好相关器件(本实验用到的开发器件为cyclonell EP2C35F484C8),新建VHDL文件,输入相关实验的代码。
2.编译成功后,建立矢量波形文件,然后依次进行相应的功能仿真和时序仿真。
3.仿真结束后,参照开发系统所给的I/O端口映射表,通过开发平台上每个I/O器件附近的I/O编号,在映射表中找到相应的引脚名,进行引脚的锁定。
4.编译下载通过对话框中的Hardware Setup按钮,选择下载设备:USB-Blaster 进行下载仿真。
四、实验条件:1. WindowsXP操作系统2. QuartusII EDA开发系统3. 杭州康芯SOPC硬件开发平台五、实验原理:1.算法流程:八选一数据选择器执行对8个数据源的选择,d0,d1,d2,d3,d4,d5,d 6,d7 定义为七个数据输入端口作为数据输入端。
八选一数据选择器
IC(“集成电路”)产业是全球高新技术产业的前沿与核心,是最具活力和挑战性的战略产业。自2000年来,在国家政策的大力支持下,我国集成电路产业得到了长足的发展,而作为集成电路产业最前沿的设计业更是呈现出“百花齐放”的繁荣景象,作为产业命脉的IC设计人才,在IC产业最集中的长三角地区也仅仅只有几千人。所以拥有一定工作经验的设计工程师,据国内知名猎头公司烽火猎聘公司数据显示IC已成为人才猎头公司争相角逐的“宠儿”。
在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器。
数据选择器(MUX)的逻辑功能是在地址选择信号的控制下,从多路数据中选择一路数据作为输出信号。
本次设计的是8选1数据选择器74LS151。74LS151为互补输出的8选1数据选择器,引脚排列如图所示,功能见表。
选择控制端(地址端)为C,B,A,按二进制译码,从8个输入数据D0-D7中,选择一个需要的数据送到输出端Y,S为使能端,低电平有效。
L-Edit Pro是Tanner EDA软件公司所出品的一个IC设计和验证的高性能软件系统模块,具有高效率,交互式等特点,强大而且完善的功能包括从IC设计到输出,以及最后的加工服务,完全可以媲美百万美元级的IC设计软件。L-EditPro包含IC设计编辑器(Layout Editor)、自动布线系统(Standard Cell Place & Route)、线上设计规则检查器(DRC)、组件特性提取器(Device Extractor)、设计布局与电路netlist的比较器(LVS)、CMOS Library、Marco Library,这些模块组成了一个完整的IC设计与验证解决方案。L-Edit Pro丰富完善的功能为每个IC设计者和生产商提供了快速、易用、精确的设计版图的系统。
EDA技术复习资料(完全版)
EDA技术复习资料(完全版)EDA技术复习资料⼀、填空1、EDA设计流程包括设计准备、设计输⼊、设计处理、和器件编程序四个步骤。
2、EDA的设计验证包括功能仿真、时序仿真和器件测试三个过程。
3、EDA的设计输⼊主要包括⽂本输⼊⽅式、图形输⼊⽅式、和波形输⼊⽅式。
4、⽂本输⼊是指采⽤硬件描述语⾔进⾏电路设计的⽅式。
5、功能仿真实在设计输⼊完成以后,选择具体器件进⾏编译之前进⾏的逻辑功能验证,因此⼜称为前仿真。
6、时序仿真实在选择了具体器件并完成布局、布线之后进⾏的时序关系仿真,因此⼜被称为后仿真或延时仿真。
7、当前最流⾏的并成为IEEE标准的硬件描述语⾔包括VHDL、和VERILOG HDL。
8、EDA⼯具⼤致分为设计输⼊编辑器、仿真器、HDL综合器、适配器(或布局布线器)、以及下载器等五个模块。
9、IEEE于1987年将VHDL采纳为IEEE#1076标准。
10、⽤VHDL语⾔书写的源⽂件。
即是程序⼜是⽂档,即是⼯程技术⼈员之间交换信息的⽂件,⼜可作为合同签约者之间的⽂件。
11、⽤VHDL设计的电路,既可以被⾼层次的系统调⽤,成为系统的⼀部分,也可以作为⼀个电路的功能快独⽴存在和独⽴运⾏。
12、VDHL设计实体的基本结构由库、程序包、实体、结构体和配臵等部分构成。
13、实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序。
14、根据VHDL语法规则,在程序中使⽤的⽂字、数据对象、数据类型都需要预先定义。
15、VHDL的实体由实体声明部分和结构体组成。
16、VHDL的实体声明部分制订了设计单元的输⼊输出端⼝或引脚,它是设计实体对外的⼀个通信界⾯,是外界可以看到的部分。
17、VDHL的结构体⽤来描述设计实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。
18、在VHDL的端⼝声明语句中,端⼝⽅向包括IN、OUT、INOUT和BUFFER。
19、VHDL的数据型⽂字包括整数⽂字、实数⽂字、以数制基数表⽰的⽂字和物理量⽂字。
第二章练习题
2-45逻辑电路如图2-77(a)所示,写出G和F的逻辑表达式,若非门的延迟为3ns,其它门的延迟为6ns,根据图2-77(b)所示A的输入波形,画出G和F的波形,并对输出波形加以说明。
2-46判断图2-79所示各电路是否存在险象。如果存在险象,说明险象类型,并通过修改逻辑设计消除险象。
2-17用一片4位全加器7483和尽量少的逻辑门,分别实现下列BCD码转换电路。
(1)8421码到5421码的转换。
(2)5421码到余3码的转换。
(3)余3码到5421码的转换。
2-18试用4位全加器7483和4位比较器7485实现一位8421BCD码全加器。
2-19试用4位全加器7483实现一位余3 BCD码加法器,允许附加其它器件。
3.(5分)分析图2-88所示电路,写出表达式,列出真值表,说明电路的逻辑功能。
4.(5分)分析图2-89所示电路,输入为余3码,说明该电路完成什么逻辑功能。
5.(5分)写出图2-90所示电路的输出函数表达式,列出真值表。
6.(5分)只用2输入与非门和异或门实现函数:
7.(10分)试用最少的与非门,设计一个组合电路,实现表2-27所示的逻辑功能。
2-23学校举办游艺会,规定男生持红票入场,女生持绿票入场,持黄票的人无论男女都可入场。如果一个人同时持有几种票,只要有符合条件的票就可以入场。试分别用与非门和或非门设计入场控制电路。
2-24一个走廊的两头和中间各有一个开关控制同一盏灯。无开关闭合时,电灯不亮;当电灯不亮时,任意拨动一个开关都使灯亮;当灯亮时,任意拨动一个开关都使灯熄灭。试用异或门实现该电灯控制电路。
2-3图2-7中的逻辑门均为TTL门。试问图中电路能否实现 , , 的功能?要求说明理由。
vhdl语言100例程序
vhdl语言100例程序以下是100个关于VHDL语言的程序示例:1. 用VHDL编写一个计数器模块2. 用VHDL编写一个SR-Latch模块3. 用VHDL编写一个JK-Flip Flop模块4. 用VHDL编写一个D-Flip Flop模块5. 用VHDL编写一个T-Flip Flop模块6. 用VHDL编写一个复位计数器模块7. 用VHDL编写一个移位寄存器模块8. 用VHDL编写一个状态机模块9. 用VHDL编写一个MUX模块10. 用VHDL编写一个DeMUX模块11. 用VHDL编写一个加法器模块12. 用VHDL编写一个减法器模块13. 用VHDL编写一个乘法器模块14. 用VHDL编写一个除法器模块15. 用VHDL编写一个比较器模块16. 用VHDL编写一个位逻辑模块17. 用VHDL编写一个字逻辑模块18. 用VHDL编写一个数据选择器模块19. 用VHDL编写一个FIFO队列模块20. 用VHDL编写一个LIFO栈模块21. 用VHDL编写一个流水线模块22. 用VHDL编写一个中断控制器模块23. 用VHDL编写一个时钟分频器模块24. 用VHDL编写一个IO控制器模块25. 用VHDL编写一个SPI通信控制器模块26. 用VHDL编写一个I2C通信控制器模块27. 用VHDL编写一个UART通信控制器模块28. 用VHDL编写一个哈希函数模块29. 用VHDL编写一个随机数产生器模块30. 用VHDL编写一个CRC校验器模块31. 用VHDL编写一个AES加密算法模块32. 用VHDL编写一个DES加密算法模块33. 用VHDL编写一个SHA加密算法模块34. 用VHDL编写一个MD5加密算法模块35. 用VHDL编写一个RSA加密算法模块36. 用VHDL编写一个卷积滤波器模块37. 用VHDL编写一个峰值检测器模块38. 用VHDL编写一个平滑滤波器模块39. 用VHDL编写一个中值滤波器模块40. 用VHDL编写一个微处理器模块41. 用VHDL编写一个信号发生器模块42. 用VHDL编写一个信号采集器模块43. 用VHDL编写一个频率计算器模块44. 用VHDL编写一个相位计算器模块45. 用VHDL编写一个时序分析器模块46. 用VHDL编写一个正弦波产生器模块47. 用VHDL编写一个余弦波产生器模块48. 用VHDL编写一个数字滤波器模块49. 用VHDL编写一个数字信号处理器模块50. 用VHDL编写一个数字识别模块51. 用VHDL编写一个自动售货机模块52. 用VHDL编写一个二进制加法器模块53. 用VHDL编写一个二进制减法器模块54. 用VHDL编写一个二进制乘法器模块55. 用VHDL编写一个二进制除法器模块56. 用VHDL编写一个自然对数模块57. 用VHDL编写一个指数函数模块58. 用VHDL编写一个三角函数模块59. 用VHDL编写一个高斯滤波器模块60. 用VHDL编写一个激光传感器模块61. 用VHDL编写一个超声波传感器模块62. 用VHDL编写一个光电传感器模块63. 用VHDL编写一个温度传感器模块64. 用VHDL编写一个气压传感器模块65. 用VHDL编写一个陀螺仪模块67. 用VHDL编写一个电流传感器模块68. 用VHDL编写一个电容传感器模块69. 用VHDL编写一个磁场传感器模块70. 用VHDL编写一个通信电缆模块71. 用VHDL编写一个电源控制器模块72. 用VHDL编写一个电机控制器模块73. 用VHDL编写一个汽车控制器模块74. 用VHDL编写一个飞机控制器模块75. 用VHDL编写一个摄像头模块76. 用VHDL编写一个音频控制器模块77. 用VHDL编写一个扬声器控制器模块78. 用VHDL编写一个拨号器模块79. 用VHDL编写一个振动控制器模块80. 用VHDL编写一个压力控制器模块81. 用VHDL编写一个过滤器模块82. 用VHDL编写一个微波发射模块84. 用VHDL编写一个智能电表模块85. 用VHDL编写一个闹钟模块86. 用VHDL编写一个计时器模块87. 用VHDL编写一个时间戳模块88. 用VHDL编写一个脉冲宽度模块89. 用VHDL编写一个电路仿真模块90. 用VHDL编写一个电路控制模块91. 用VHDL编写一个电路测试模块92. 用VHDL编写一个电路优化模块93. 用VHDL编写一个电路布局模块94. 用VHDL编写一个电路验证模块95. 用VHDL编写一个数字信号发生器模块96. 用VHDL编写一个数字信号反演器模块97. 用VHDL编写一个数字信号滤波器模块98. 用VHDL编写一个数字信号加速器模块99. 用VHDL编写一个数字信号降噪器模块100. 用VHDL编写一个数字信号解调器模块VHDL语言是一种硬件描述语言,它用于描述数字电路和系统。
vhdl 程序的基本结构 vhdl程序一般由5个部分组成
块语句
块标号:BLOCK[保护表达式] [类属子句;] [端口子句;] [块说明部分;] BEGIN <块语句部分;> END BLOCK 块标号;
类属子句用于参数的定义;端口子句用于信号的定义; 块说明部分对该块要用到的信号、常数、元件和子程序 等进行说明;块语句部分对该块的功能进行描述,块语 句部分的语句是并行执行的,和书写顺序无关。
IEEE: IEEE认可的标准库 std_logic_1164:定义了 std_logic, std_logic_vector, std_ulogic, std_ulogic_vector 等数据类型
VHDL 程序的基本结构
VHDL程序一般由5个部分组成: Library(库) Package(程序包)
CONFIGURATION small_count OF counter IS FOR count_255 END FOR; END small_count; CONFIGURATION big_count OF counter IS FOR count_64K END FOR; END big_count;
Library(程序库) Package(程序包)
Entity(实体) Architecture(构造体) Configuration(配置)
库和程序包
库 :存放已编译过的实体、构造体、 程序包和配置 程序包:由一组对外可见的信号、常量、 数据类型、子程序、属性等组成 的程序集合
库和程序包的使用
子程序调用语句 过程名(参数表);
子程序调用语句若位于 “构造体” 或 “块语句” 中,它就是并发语句; 若位于 “进程语句” 或 另一个“子 程序”中,它就是顺序语句;
数字电子技术 考试复习选择填空题汇总
数字电子技术试卷一、选择题:A组:1.如果采用偶校验方式,下列接收端收到的校验码中,( A )是不正确的A、00100B、10100C、11011D、111102、某一逻辑函数真值表确定后,下面描述该函数功能的方法中,具有唯一性的是(B)A、逻辑函数的最简与或式B、逻辑函数的最小项之和C、逻辑函数的最简或与式D、逻辑函数的最大项之和3、在下列逻辑电路中,不是组合逻辑电路的是(D)A、译码器B、编码器C、全加器D、寄存器4、下列触发器中没有约束条件的是(D)A、基本RS触发器B、主从RS触发器C、同步RS触发器D、边沿D触发器5、555定时器不可以组成D。
A.多谐振荡器B.单稳态触发器C.施密特触发器D.J K触发器6、编码器(A)优先编码功能,因而(C)多个输入端同时为1。
A、有B、无C、允许D、不允许7、(D)触发器可以构成移位寄存器。
A、基本RS触发器B、主从RS触发器C、同步RS触发器D、边沿D触发器8、速度最快的A/D转换器是(A)电路A、并行比较型B、串行比较型C、并-串行比较型D、逐次比较型9、某触发器的状态转换图如图所示,该触发器应是( C )A. J-K触发器B. R-S触发器C. D触发器D. T触发器10.(电子专业作)对于VHDL以下几种说法错误的是(A )A VHDL程序中是区分大小写的。
B 一个完整的VHDL程序总是由库说明部分、实体和结构体等三部分构成C VHDL程序中的实体部分是对元件和外部电路之间的接口进行的描述,可以看成是定义元件的引脚D 结构体是描述元件内部的结构和逻辑功能B组:1、微型计算机和数字电子设备中最常采用的数制是--------------------------------( A )A.二进制B.八进制C. 十进制D.十六进制2、十进制数6在8421BCD码中表示为-------------------------------------------------( B )A.0101B.0110C. 0111D. 10003、在图1所示电路中,使__AY 的电路是---------------------------------------------( A )A. ○1B. ○2C. ○3D. ○44、接通电源电压就能输出矩形脉冲的电路是------------------------------------------( D )A. 单稳态触发器B. 施密特触发器C. D触发器D. 多谐振荡器5、多谐振荡器有-------------------------------------------------------------------------------( C )A. 两个稳态B. 一个稳态C. 没有稳态D. 不能确定6、已知输入A、B和输出Y的波形如下图所示,则对应的逻辑门电路是-------( D )A. 与门B. 与非门C. 或非门D. 异或门7、下列电路中属于时序逻辑电路的是------------------------------------------------------( B )A. 编码器B. 计数器C. 译码器D. 数据选择器8、在某些情况下,使组合逻辑电路产生了竞争与冒险,这是由于信号的---------( A )A. 延迟B. 超前C. 突变D. 放大9、下列哪种触发器可以方便地将所加数据存入触发器,适用于数据存储类型的时序电路--------------------------------------------------------------------------------( C )A. RS触发器B. JK触发器C. D触发器D. T触发器10、电路和波形如下图,正确输出的波形是-----------------------------------------------( A )A. ○1B. ○2C. ○3D. ○4C组:1.十进制数25用8421BCD码表示为 A 。
数字电路EDA设计题库 2
1.EDA设计流程一般包括设计准备、设计输入、设计处理和器件编程4个步骤;2.EDA的设计输入法中常用的有文本输入法、图形输入法和波形输入法3种;3.功能仿真是在设计输入完成后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真;4.当前最流行的并成为IEEE标准的硬件描述语言包括VHDL 和Verilog-HDL ;5.硬件描述语言HDL给PLD和教学系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为自顶向下的方法;6.将硬件描述语言转化为硬件电路的重要工具软件称为HDL综合器;7.用MAX+PLUSⅡ的输入法设计的文件不能直接保存在根目录下,因此设计者在进入设计之前,应当在计算机中建立保存设计文件的文件夹;8.图形文件设计结束后一定要通过编译,检查设计文件是否正确;9.指定设计电路的输入/输出端口与目标芯片引脚的锁定后,再次对设计电路的仿真称为后仿真10.以EDA方式实现的电路设计文件,最终可以编程下载到FPGA 或CPLD 芯片中,完成硬件设计和验证;11.一般将一个完整的VHDL程序称为独立实体;12.用VHDL设计的电路,既可以被高层次的系统调用,成为系统的一部分,也可以作为一个电路的功能块独立实体和结构体;13.VHDL设计实体的基本结构由库、程序包、实体、结构体和配置部分组成;14.实体和结构体是设计实体的基本组成部分,它们可以构成最基本的VHDL程序;15.IEEE于1987年公布了VHDL的VHDL’87 标准;16.IEEE于1993年公布了VHDL的VHDL’93 语法标准;17.在VHDL中最常用的库是IEEE 标准库;18.VHDL的实体是由实体说明部分和结构体部分组成;19.VHDL的实体声明部分指定了设计单元的输入/输出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分;20.VHDL的结构体用来描述设计实体的逻辑结构和逻辑功能,它由VHDL语句构成是外界看不到部分;21.在VHDL的数据端口声明语句中,端口方向包括IN 、OUT 、INOUT和BUFFER;22.VHDL的数据对象包括变量、常量和信号,它们是用来存放各种类型数据的容器。
数字电路EDA设计题库
1.EDA设计流程一般包括、、和4个步骤;2.EDA的设计输入法中常用的有、和3种;3.功能仿真是在设计输入完成后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为;4.当前最流行的并成为IEEE标准的硬件描述语言包括和;5.硬件描述语言HDL给PLD和教学系统的设计带来了更新的设计方法和理念,产生了目前最常用的并称之为的方法;6.将硬件描述语言转化为硬件电路的重要工具软件称为;7.用MAX+PLUSⅡ的输入法设计的文件不能直接保存在根目录下,因此设计者在进入设计之前,应当在计算机中建立保存设计文件的;8.图形文件设计结束后一定要通过,检查设计文件是否正确;9.指定设计电路的输入/输出端口与目标芯片引脚的锁定后,再次对设计电路的仿真称为;10.以EDA方式实现的电路设计文件,最终可以编程下载到或芯片中,完成硬件设计和验证;11.一般将一个完整的VHDL程序称为;12.用VHDL设计的电路,既可以被高层次的系统调用,成为系统的一部分,也可以作为一个电路的功能块和;13.VHDL设计实体的基本结构由、、、和部分组成;14.和是设计实体的基本组成部分,它们可以构成最基本的VHDL程序;15.IEEE于1987年公布了VHDL的标准;16.IEEE于1993年公布了VHDL的语法标准;17.在VHDL中最常用的库是标准库;18.VHDL的实体是由部分和部分组成;19.VHDL的实体声明部分指定了设计单元的或,它是设计实体对外的一个通信界面,是外界可以看到的部分;20.VHDL的结构体用来描述设计实体的和,它由VHDL语句构成是外界看不到部分;21.在VHDL的数据端口声明语句中,端口方向包括、、和;22.VHDL的数据对象包括、和,它们是用来存放各种类型数据的容器。
23.VHDL的变量(V ARIABLE)是一个,只能在进程、函数和过程中声明和使用;24.VHDL的信号(SIGNAL)是一种数值容器,不仅可以容纳,也可以保持;25.VHDL的数据类型包括、、和;26.在VHDL中,标准逻辑位数据有种逻辑值;27.VHDL的操作符包括、、和4类;28.VHDL的基本描述语句包括和;29.VHDL的顺序语句只能出现在、和中,是按程序书写的顺序上而下,一条一条执行;30.VHDL的并行语句在结构体中的执行是的,其执行方式与语句书写顺序无关;31.VHDL的PROCESS语句是由组成的,但其本身却是;32.VHDL的并行信号赋值语句的赋值目标必须都是;33.元件例化是将预先设计好的设计实体作为一个,连接到当前设计实体中一个指定的。
八位数码管的动态显示VHDL程序
use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--------------------------------------------------------------------entity seg_display isport( clk : in std_logic; --定义动态扫描时钟信号reset : in std_logic; --定义复位信号ledag : out std_logic_vector(6 downto 0); --定义数码管的七段输出信号del : out std_logic_vector(2 downto 0) --定义八位数码管位置显示信号);end seg_display;--------------------------------------------------------------------architecture whphtao of seg_display issignal clk1Khz : std_logic; --数码管扫描时钟signal clk1hz : std_logic; --计数时钟signal cq : std_logic_vector(3 downto 0);--计数值beginPROCESS(clk) --产生1hz信号variable cnt : INTEGER RANGE 0 TO 49999999;BEGINIF clk='1' AND clk'event THENIF cnt=49999999 THEN cnt:=0;ELSEIF cnt<25000000 THEN clk1hz<='1';ELSE clk1hz<='0';END IF;cnt:=cnt+1;END IF;END IF;end process;PROCESS(clk) --产生1Khz信号variable cnt1 : INTEGER RANGE 0 TO 49999;BEGINIF clk='1' AND clk'event THENIF cnt1=49999 THEN cnt1:=0;ELSEIF cnt1<25000 THEN clk1khz<='1';ELSE clk1khz<='0';END IF;cnt1:=cnt1+1;END IF;END IF;process(clk1hz,reset)variable cqi : std_logic_vector(3 downto 0);beginif reset='0' then cqi:=(others =>'0');-- 计数器异步复位elsif clk1hz'event and clk1hz='1' then--检测时钟上升沿if cqi<15 then cqi:=cqi+1;else cqi:=(others =>'0');end if;--end if;end if;cq<=cqi;--计数值向端口输出end process;process(clk1KHZ) --数码管动态扫描variable dount : std_logic_vector(2 downto 0);beginif clk1kHZ'event and clk1kHZ='1' then--检测时钟上升沿dount:=dount+1;--计数器dount累加end if;del<=dount;end process;process(cq)--数码管显示begincase cq iswhen "0000" => ledag <="0111111";when "0001" => ledag <="0000110";when "0010" => ledag <="1011011";when "0011" => ledag <="1001111";when "0100" => ledag <="1100110";when "0101" => ledag <="1101101";when "0110" => ledag <="1111101";when "0111" => ledag <="0000111";when "1000" => ledag <="1111111";when "1001" => ledag <="1101111";when "1010" => ledag <="1110111";when "1011" => ledag <="1111100";when "1100" => ledag <="0111001";when "1101" => ledag <="1011110";when "1110" => ledag <="1111001";when "1111" => ledag <="1110001";when others => null;end case;end whphtao;。
实验三 8选1数据选择器实验报告
实验三、八选一数据选择器一、实验目的:1.熟悉Quartus II6.0软件的使用和FPGA设计流程2.用VHDL语言进行八选一数据选择器的设计二、实验步骤:一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8”的文件夹。
二.建立新工程1.双击桌面上Quartus II6.0 的图标,启动该软件。
2.通过File => New Project Wizard… 菜单命令启动新项目向导。
在随后弹出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。
在下一个出现的对话框中继续点击Next,跳过这步。
3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为EP1K30TC144-3 1728 24576 ,再点击Next。
在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。
三.设计输入1.建立一个VHDL文件。
通过 File => New 菜单命令,在随后弹出的对话框中选择 VHDL File选项,点击 OK 按钮。
通过 File => Save As 命令,将其保存,并加入到项目中。
2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save As 命令保存。
四.综合适配1.选择Processing =>Start Compilation命令,检查发现无程序语法错误。
2.执行Tools =>Netlist Viewer =>RTL Viewe, 生成RTL图。
五.模拟仿真1.在 File 菜单下,点击 New 命令。
黄红涛-vhdl实验报告-实验1 8选1数据选择器
学生实验报告实验课名称:VHDL硬件描述语言实验项目名称:8选1数据选择器专业名称:电子科学与技术班级:32050801学号:3205080134学生姓名:黄红涛教师姓名:程鸿亮_2010__年__11__月__6__日组别_____________________ 同组同学_ 刘增辉实验日期:2011 年11 月6 日实验室名称______ 成绩_____一、实验名称:8选1数据选择器二、实验目的与要求:1.实验目的:设计一个8选1的数据选择器,初步掌握QuartusII软件的使用方法以及硬件编程下载的基本技能。
2.实验要求:通过VHDL编程,实现一个数据选择器,要求有8位数据输入端,1位数据输出端,通过3位地址输入信号寻址,并具有输出使能功能。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
如图所示: d0~d7为数据输入端; g为使能端,高电平有效; a[2..0]为地址输端; y 为输出端。
要求非使能或是无效地址状态时,y输出0。
首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
在硬件实现中,要求:1.用实验平台的拨动开关实现8位输入信号(d0~d7):要求使用最右面8个开关。
2. 用实验平台的按键实现地址信号和使能信号:注意采用模式0的输入方式,并使用最左边的键6~键8三个按键实现地址输入,以及键3实现使能信号。
3. 输出采用LED发光阵列的LED12。
三、实验内容:1. 打开QuartusII软件,建立一个新的工程:1) 单击菜单File\New Project Wizard…2) 输入工程的路径、工程名以及顶层实体名。
3) 单击 Next> 按钮,由于我们建立的是一个空的项目,所以没有包含已有文件,单击 Next> 继续4) 设置我们的器件信息:如,将package选择为FBGA,将family置为cydoneii,pincount 设置为4845) 单击 Next> ,指定第三方工具,但是这里我们不指定第三方 EDA 工具,单击 Next> 后结束工程建立。
实验三 8选1数据选择器实验报告
实验三、八选一数据选择器一、实验目的:1.熟悉Quartus II6.0软件的使用和FPGA设计流程2.用VHDL语言进行八选一数据选择器的设计二、实验步骤:一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8”的文件夹。
二.建立新工程1.双击桌面上Quartus II6.0 的图标,启动该软件。
2.通过File => New Project Wizard… 菜单命令启动新项目向导。
在随后弹出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。
在下一个出现的对话框中继续点击Next,跳过这步。
3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为EP1K30TC144-3 1728 24576 ,再点击Next。
在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。
三.设计输入1.建立一个VHDL文件。
通过 File => New 菜单命令,在随后弹出的对话框中选择 VHDL File选项,点击 OK 按钮。
通过 File => Save As 命令,将其保存,并加入到项目中。
2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save As 命令保存。
四.综合适配1.选择Processing =>Start Compilation命令,检查发现无程序语法错误。
2.执行Tools =>Netlist Viewer =>RTL Viewe, 生成RTL图。
五.模拟仿真1.在 File 菜单下,点击 New 命令。