段数码显示译码器设计说明
(VHDL实验报告)数码管显示(一位数码管显示0-9,八位数码管显示学号后八位)
(1)一位数码管显示0-9:
(2)八位数码管显示学号后八位: 七、心得体会
七段码管位选输入信号 七段码管位选输入信号 七段码管位选输入信号
五、 实验步骤
1、打开 QUARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3、按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。其 程序如下所示:
(1)一位数码管显示0-9:
电子科技大学成都学院学院
标准实验报告
(实验)课程名称 数字电路 EDA 设计与应用
姓名 乱弹的枇杷 学号 专业 指导教师
一、 实验名称 数码管显示(一位数码管显示 0-9,八位数码管显示学号
后八位)
二、 实验目的 1、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、掌握 VHDL 的 CASE 语句及多层次设计方法。
信号名称对应fpga管脚名说明7segaf13七段码管段输入信号7segbf14七段码管段输入信号7segcf15七段码管段输入信号7segde15七段码管段输入信号7segef16七段码管段输入信号7segff17七段码管段输入信号7segge18七段码管段输入信号7segdpf18七段码管dp段输入信号7segsel0g18七段码管位选输入信号7segsel1g17七段码管位选输入信号7segsel2g16七段码管位选输入信号实验步骤1打开quartusii软件新建一个工程
信号名称 7SEG-A 7SEG-B 7SEG-C 7SEG-D 7SEG-E 7SEG-F 7SEG-G 7SEG-DP 7SEG-SEL0 7SEG-SEL1 7SEG-SEL2
简述七段显示译码指令seg的用法
一、引言在计算机系统中,七段显示译码器是一种常用的数字显示设备,通过此设备可以实现数字的显示。
而在使用七段显示译码器时,我们通常需要使用相应的指令来进行控制和操作。
其中,seg指令就是一种常见的用于七段显示译码的指令,本文将就seg指令的用法进行简要介绍。
二、seg指令的基本概念seg指令是一种用于控制七段显示译码器的指令,通过该指令,可以将需要显示的数字发送给七段显示译码器,从而实现数字的显示。
在指令的使用过程中,我们需要了解一些基本的用法和注意事项。
三、seg指令的语法格式在使用seg指令时,需要按照其规定的语法格式进行操作,以确保指令的正确执行。
一般而言,seg指令的语法格式如下:seg [寄存器],[数字]其中,寄存器表示要操作的七段显示译码器的寄存器,数字则表示要显示的数字。
四、seg指令的使用方法在实际编程中,我们可以通过使用seg指令来控制七段显示译码器的显示。
具体的使用方法如下:1. 需要将要显示的数字存储到一个寄存器中,通常是将其存储到某个特定的内存位置区域中。
2. 接下来,使用seg指令将存储的数字发送给七段显示译码器,从而实现数字的显示。
五、seg指令的注意事项在使用seg指令时,需要注意以下一些事项,以确保指令的正确执行:1. 确保寄存器的正确选择:在使用seg指令时,需要选择正确的寄存器来操作,以确保数字能够正确地发送给七段显示译码器。
2. 确保数字的有效性:在使用seg指令发送数字时,需要确保数字的有效性,避免发送无效的数字,从而造成显示错误。
六、seg指令的实际应用seg指令在嵌入式系统开发中有着广泛的应用,在一些数字显示设备的驱动程序中,我们经常会看到seg指令的身影。
通过使用seg指令,可以方便地控制七段显示译码器的显示,从而满足不同应用场景下的显示需求。
七、结语seg指令是一种用于控制七段显示译码器的指令,通过该指令,可以实现数字的显示。
在使用seg指令时,需要按照其规定的语法格式进行操作,并注意一些使用方法和注意事项,以确保指令的正确执行。
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文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
实验五-7段数码显示译码器设计
实验五7段数码显示译码器设计实验报告一、实验要求1、GW48实验箱2、写出7段数码显示译码器程序3、总结实验步骤和实验结果二、实验内容1、说明例中各语句的含义,以及该例的整体功能。
在max+plus2或quartus2上对以下该例进行编辑、编译、综合、适配仿真,给出其所有信号的时序仿真波形。
module zdw(in,out);output [6:0]out;input [3:0]in;reg[6:0]out;always@(in)begincase(in)4'd0: out=7'b1111110;4'd1: out=7'b0110000;4'd2: out=7'b1101101;4'd3: out=7'b1111001;4'd4: out=7'b0110011;4'd5: out=7'b1011011;4'd6: out=7'b1011111;4'd7: out=7'b1110000;4'd8: out=7'b1111111;4'd9: out=7'b1111011;4'd10: out=7'b1110111;4'd11: out=7'b0011111;4'd12: out=7'b1001110;4'd13: out=7'b0111101;4'd14: out=7'b1001111;4'd15: out=7'b1000111;default: out=7'bx;endcaseendendmodule2、引脚锁定以及硬件下载测试。
建议选实验电路模式6,用数码8显示译码输出(PIO46—PIO40)。
键8,键7,键6,键5四位控制输入,硬件验证译码器的工作性能。
实验四编码器,译码器,数码管(定稿)
实验四编码器、译码器、数码管一、实验目的1.掌握编码器、译码器和七段数码管的工作原理和特点。
2.熟悉常用编码器、译码器、七段数码管的逻辑功能和他们的典型应用。
3. 熟悉“数字拨码器”(即“拨码开关”)的使用。
二、实验器材1. 数字实验箱 1台2. 集成电路:74LS139、 74LS248、 74LS145、 74LS147、 74LS148 各1片74LS138 2片3. 电阻: 200Ω 14个4. 七段显示数码管:LTS—547RF 1个三、预习要求1.复习编码器、译码器和七段数码管的工作原理和设计方法。
2. 熟悉实验中所用编码器、译码器、七段数码管集成电路的管脚排列和逻辑功能。
3. 画好实验用逻辑表。
四、实验原理和电路按照逻辑功能的不同特点,常把数字电路分成两大类:一类叫做组合逻辑电路,另一类叫做时序逻辑电路。
组合逻辑电路在任何时刻其输出信号的稳态值,仅决定于该时刻各个输人端信号的取值组合。
在这种电路中,输入信号作用以前电路的状态对输出信号无影响。
通常,组合逻辑电路由门电路组成。
(一)组合逻辑电路的分析方法:a.根据逻辑图,逐级写出函数表达式。
b.进行化简:用公式法或图形法进行化简、归纳。
必要时,画出真值表分析逻辑功能。
(二)组合逻辑电路的设计方法:从给定逻辑要求出发,求出逻辑图。
一般分以下四步进行。
a.分析要求:将问题分析清楚,理清哪些是输入变量,哪些是输出函数。
进行逻辑变量定义(即定义字母A、B、C、D ……所代表的具体事物)。
b. 根据要求的输入、输出关系,列出真值表。
c. 进行化简:变量比较少时,用图形法;变量多时,可用公式法化简。
化简后,得出逻辑式。
d. 画逻辑图:按逻辑式画出逻辑图。
进行上述四步工作,设计已基本完成,但还需选择元件——数字集成电路,进行实验论证。
值得注意的是,这些步骤的顺序并不是固定不变的,实际设计时,应根据具体情况和问题难易程度进行取舍。
(三)常用组合逻辑电路:1.编码器编码器是一种常用的组合逻辑电路,用于实现编码操作。
十六进制7段数码显示译码器设计实验报告
十六进制7段数码显示译码器设计实验报告实验报告:十六进制7段数码显示译码器设计一、实验目的本实验的主要目的是设计一种用于将十六进制数码转化为七段显示的译码器电路。
通过这个实验,我们可以学习和了解数字电路的工作原理、数码管的控制方式以及七段数码的译码方法。
二、实验原理本实验所用到的数码管为共阳数码管,它由7个发光二极管组成,其中的每一个发光二极管称为一个段。
这七个段依次为a、b、c、d、e、f和g,它们分别对应数码管上的abcdefg七个引脚。
当一些引脚输出高电平时,相应的段就会被点亮,从而显示出特定的字符。
为了实现将十六进制数码转化为七段显示的功能,我们需要设计一个译码器电路。
译码器电路的输入为十六进制数码,输出为七段信号,用于控制数码管的每个段的亮灭情况。
为了简化设计,我们可以采用CMOS数字集成电路74LS47来实现译码器电路。
该集成电路内部集成了BCD转七段译码器,可以将二进制代码转化为七段数码显示所需要的信号。
它的输入为四个二进制输入端口A、B、C和D,输出为七个段芯片(a、b、c、d、e、f和g)的控制信号。
三、实验步骤1.首先,根据74LS47的真值表,确定译码器的输入和输出。
2.根据真值表,画出逻辑图,确定硬件电路的连接方式。
3.按照逻辑图和电路连接方式,进行硬件电路的布线。
4.按照实验仪器的操作说明,对电路进行调试和测试。
5.将输入端口连接至外部的十六进制信号源,观察输出端口的数据是否正确。
6.验证电路的正确性和稳定性,如果出现问题,进行排除和修复。
四、实验结果经过实验,我们成功地设计并实现了一个十六进制7段数码显示译码器电路。
当输入端口接收到一个十六进制信号时,通过电路的处理和转换,将其转化为了相应的七段信号,用于控制数码管的每个段的亮灭情况。
通过实验观察,我们发现电路的输出结果与预期一致,且工作稳定。
五、实验总结通过这个实验,我们对于数字电路的工作原理和数码管的控制方式有了更深的了解。
BCD7段译码器
1 引 言
20世纪末,数字电子技术得到了飞速发展,有力地推动和促进了社会生产力的发展和社会信息化的提高,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用了数字电子技术。
原理图描述的7段显示译码器的工作波形七段显示译码器的原理图描述显示的字形沈阳工程学院课程设计通过对bcd码显示译码器的设计我进一步了解到eda工具在我们现实生活中的作用是不可能被替代的而且在数字逻辑系统中74系列或4000系列芯片构成电路只适合简单的应用它们已不能满足人们对高科技技术的要求因此我们要更好的学习eda工具以便提高自身的实践能力与专业知识的应用能力争取更快的与社会实际和社会需要接轨
备注
1
12.30-12.31
选题,搜集资料,熟悉设计环境
2
01.02-01.06
调试程序
3
01.07-01.08
仿真程序
4
01.09-01.10
完成课程设计说明书(论文)、进行答辩
沈 阳 工 程 学 院
EDA课程设计成绩评定表
系(部):自动化学院班级:学生姓名:
指 导 教 师 评 审 意 见
评价
内容
MAX+PLUSII 具有的强大功能极大地减轻了设计者的负担,使设计者可以快速完成所需的设计,使用该软件,用户从开始设计逻辑电路到完成器件下载编程一般只需要数小时时间,其中设计的编译时间往往仅需数分钟。用于可在一个工作日内完成实现设计项目的多次修改,直至最终设计定型。 MAX+PLUS II 开发系统众多突出的特点,使它深受广大用户的青睐。
半导体数码管(或称LED数码管)是常用的显示器件,其基本单元是发光PN结,目前较多采用磷砷化镓做成的PN结,封装成为发光二极管,如图1(a)所示。当外加正向电压时,就能发出清晰的光线。发光二极管的工作电压为1.5~3V,由于工作电流为几毫安到十几毫安比较小,故实际电路应串接适当的限流电阻。
实验报告模板:实验二7段数码显示译码器
实验二7段数码显示译码器【实验目的】1.设计七段显示译码器,并在实验板上验证2.学习V erilog HDL文本文件进行逻辑设计输入;3.学习设计仿真工具的使用方法;【实验内容】1.实现BCD/七段显示译码器的“Verilog ”语言设计。
说明:7段显示译码器的输入为:IN0…IN3共5根,7段译码器的逻辑表同学自行设计,要求实现功能为:输入“0…15 ”(二进制),输出“0…9…F ”(显示数码),输出结果应在数码管(共阴)上显示出来。
2.使用工具为译码器建立一个元件符号3.设计仿真文件,进行验证。
4.编程下载并在实验箱上进行验证。
【实验原理】7段数码是纯组合电路。
通常的小规模专用IC,如74或4000系列的器件只能作十进制的BCD码译码,然而数字系统的数据处理和运算都是二进制的,所以输出表达式都是十六进制的。
为了满足十六进制数的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中实现。
首先要设计一段程序。
该程序可按照例3-2的case语句表述方法,再根据表4-2的真值表写出程序。
者输入的4位码为A【3:0】,输出控制7段共阴数码管的7位数据位LED7S【6:0】。
输出信号LED7S的7位分别接图4-74的工银数码管的7个段,高位在左,低位在右。
【程序源代码】(加注释)module LED (IN,led7);input[3:0] IN;output[6:0] led7; //定义输出信号reg[6:0] led7; //定规输出信号位7位的寄存器变量always@(IN) //IN为敏感性信号begin //主块开始case(IN) //使用了case语句4'b0000: led7<=7'b0111111;4'b0001: led7<=7'b0000110;4'b0010: led7<=7'b1011011;4'b0011: led7<=7'b1001111;4'b0100: led7<=7'b1100110;4'b0101: led7<=7'b1101101;4'b0110: led7<=7'b1111101;4'b0111: led7<=7'b0000111;4'b1000: led7<=7'b1111111;4'b1001: led7<=7'b1101111;default: led7<=7'b0111111;endcaseend //主块结束endmodule【仿真和测试结果】【硬件仿真结果:】【实验心得和体会】通过这次的7段数码显示译码器实验,我对EDA有了进一步的了解,对QuartusII有了了解以及在QuartusII的使用上有了一些经验。
数字电路——2-4译码器设计说明
目录1 绪论 (1)1.1设计背景 (1)2 电路分析 (2)2.1 2-4功能分析 (2)2.2 2-4译码器逻辑图 (3)3 系统建模与仿真 (4)3.1 建模 (4)3.2 仿真波形 (5)4 仿真结果分析 (8)5 小结与体会 (9)参考文献 (10)1 绪论1.1设计背景在数字系统中,经常需要将一中代码转换为另一种代码,以满足特定的需求,完成这种功能的电路称为码转化电路。
译码器就属于其中一种。
而译码就是编码的逆过程,它的功能是将具有特定含义的二进制码转换成对应的有效输出信号,具有译码功能的的逻辑电路称为译码器。
而2-4译码器是唯一地址译码器,是将一系列的代码转换成与之一一对应有效的信号。
常用于计算机中对存储单元地址的译码,因此,设计2-4译码器具有很强的现实意义。
1.2 matlab简介MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
它主要由MATLAB和Simulink两大部分组成。
本设计主要采用simulink进行设计与仿真。
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
实验一组合逻辑电路的设计
实验一 组合逻辑电路的设计一、实验目的:1、 掌握组合逻辑电路的设计方法。
2、 掌握组合逻辑电路的静态测试方法。
3、 加深FPGA 设计的过程,并比较原理图输入和文本输入的优劣。
4、 理解“毛刺”产生的原因及如何消除其影响。
5、 理解组合逻辑电路的特点。
二、实验的硬件要求:1、 EDA/SOPC 实验箱。
2、 计算机。
三、实验原理1、组合逻辑电路的定义数字逻辑电路可分为两类:组合逻辑电路和时序逻辑电路。
组合逻辑电路中不包含记忆单元(触发器、锁存器等),主要由逻辑门电路构成,电路在任何时刻的输出只和当前时刻的输入有关,而与以前的输入无关。
时序电路则是指包含了记忆单元的逻辑电路,其输出不仅跟当前电路的输入有关,还和输入信号作用前电路的状态有关。
通常组合逻辑电路可以用图1.1所示结构来描述。
其中,X0、X1、…、Xn 为输入信号, L0、L1、…、Lm 为输出信号。
输入和输出之间的逻辑函数关系可用式1.1表示: 2、组合逻辑电路的设计方法组合逻辑电路的设计任务是根据给定的逻辑功能,求出可实现该逻辑功能的最合理组 合电路。
理解组合逻辑电路的设计概念应该分两个层次:(1)设计的电路在功能上是完整的,能够满足所有设计要求;(2)考虑到成本和设计复杂度,设计的电路应该是最简单的,设计最优化是设计人员必须努力达到的目标。
在设计组合逻辑电路时,首先需要对实际问题进行逻辑抽象,列出真值表,建立起逻辑模型;然后利用代数法或卡诺图法简化逻辑函数,找到最简或最合理的函数表达式;根据简化的逻辑函数画出逻辑图,并验证电路的功能完整性。
设计过程中还应该考虑到一些实际的工程问题,如被选门电路的驱动能力、扇出系数是否足够,信号传递延时是否合乎要求等。
组合电路的基本设计步骤可用图1.2来表示。
3、组合逻辑电路的特点及设计时的注意事项①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。
(实际电路中图 1.1 组合逻辑电路框图L0=F0(X0,X1,²²²Xn)² ² ²Lm=F0(X0,X1,²²²Xn)(1.1)图 1.2 组合电路设计步骤示意图图还要考虑器件和导线产生的延时)。
Verilog HDL数字设计教程(贺敬凯)第7章
图7-2 跑马灯模块端口框图
第7章 Verilog HDL可综合设计举例
4. 代码分析 【例7-1】 设计源码。 module paomadeng(rst,clk,sel,led); input rst,clk; input[1:0] sel; output[7:0] led; reg[7:0] led;
第7章 Verilog HDL可综合设计举例
end end default: ; endcase
end
endmodule
第7章 Verilog HDL可综合设计举例
程序说明:
(1) case语句用于选择三种模式。当case表达式中的sel为
2'b00时选择模式1,为2'b01时选择模式2,为2'b11时选择模式3。
第7章 Verilog HDL可综合设计举例
if(cnt8>=7) cnt8<=0; else cnt8<=cnt8+1; SM_in <= 2*cnt8+1; //生成待显示数据为1, 3, 5, ... SM_B=1<<cnt8; //生成位选信号
end
endmodule 例7-4是扫描显示的顶层模块。其中:clk是扫描时钟; SM_7S为7段控制信号,由高位至低位分别接g、f、e、d、c、b、 a 7个段;SM_B是位选控制信号,接图7-6中的8个选通信号K1、 K2、…、K8。
第7章 Verilog HDL可综合设计举例
2'b11: begin
if(!dir) begin
if(cnt3==0) begin led_r=8'b00000001;led_r1=8'b10000000;end else begin led_r=(led_r<<1)| led_r; led_r1=(led_r1>>1)| led_r1; end led<=led_r | led_r1; if(cnt3==3) begin dir<=~dir; end cnt3<=cnt3+1; end else
FPGA与数字系统设计-实验六7段数码显示译码器设计
7段数码显示译码器设计1、实验目的熟悉ISE系列软件的设计流程和基本工具使用,学习7段数码显示译码器设计,学习VHDL的CASE语句应用。
2、实验内容7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中实现。
本实验中,7段译码器的数码管采用共阴数码管,而且不考虑小数点的发光管。
其输出信号LED7S的7位分别接数码管的7个段,高电平有效。
例如,当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
3、实验器材Spartan 3E开发板。
4、实验说明实验中所需要的源文件在本报告附录中。
5、实验步骤步骤1:创建ISE工程(1)启动桌面上的ISE9.1图标,在Project Navigator中选择File→New Project。
(2)在弹出的对话框(见图1)中,设置工程名为ymq7s,工程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。
图1 ISE工程属性对话框(3)出现图2所示对话框,目标器件选择spartan3E,具体设计如下图。
图2 ISE工程属性对话框(4)一直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。
图3 工程设计总表出现图4,这就是所建立的工程,现在我们需要在里面完成我们的设计。
图4 ISE工程属性对话框步骤2:创建新的VHDL设计文件(1)在ISE用户界面中,选择Project→New Source。
(2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置文件名为ymq7s,并单击“下一步”按钮。
图5 VHDL的New Source Wizard(3)点击Next,直到出现图6,直到Finish。
级《数字逻辑电路》实验指导书
课程名称:数字逻辑电路实验指导书课时:8学时集成电路芯片一、简介数字电路实验中所用到的集成芯片都是双列直插式的,其引脚排列规则如图1-1所示。
识别方法是:正对集成电路型号<如74LS20)或看标记<左边的缺口或小圆点标记),从左下角开始按逆时针方向以1,2,3,…依次排列到最后一脚<在左上角)。
在标准形TTL集成电路中,电源端V一般排在左上CC,7脚为端,接地端GND一般排在右下端。
如74LS20为14脚芯片,14脚为VCCGND。
若集成芯片引脚上的功能标号为NC,则表示该引脚为空脚,与内部电路不连接。
二、TTL集成电路使用规则1、接插集成块时,要认清定位标记,不得插反。
2、电源电压使用范围为+4.5V~+5.5V之间,实验中要求使用Vcc=+5V。
电源极性绝对不允许接错。
3、闲置输入端处理方法(1> 悬空,相当于正逻辑“1”,对于一般小规模集成电路的数据输入端,实验时允许悬空处理。
但易受外界干扰,导致电路的逻辑功能不正常。
因此,对于接有长线的输入端,中规模以上的集成电路和使用集成电路较多的复杂电路,所有控制输入端必须按逻辑要求接入电路,不允许悬空。
<也可以串入一只1~10KΩ的固定电阻)或接至某一 (2> 直接接电源电压VCC固定电压(+2.4≤V≤4.5V>的电源上,或与输入端为接地的多余与非门的输出端相接。
(3> 若前级驱动能力允许,可以与使用的输入端并联。
4、输入端通过电阻接地,电阻值的大小将直接影响电路所处的状态。
当R ≤680Ω时,输入端相当于逻辑“0”;当R≥4.7 KΩ时,输入端相当于逻辑“1”。
对于不同系列的器件,要求的阻值不同。
5、输出端不允许并联使用<集电极开路门(OC>和三态输出门电路(3S>除外)。
否则不仅会使电路逻辑功能混乱,并会导致器件损坏。
6、输出端不允许直接接地或直接接+5V电源,否则将损坏器件,有时为,一般取R 了使后级电路获得较高的输出电平,允许输出端通过电阻R接至Vcc=3~5.1 KΩ。
数码管
七段数码管显示的设计第一章(1)、CD4511BE介绍CD4511 是一个用于驱动共阴极LED (数码管)显示器的BCD 码—七段码译码器引脚图如下:其功能介绍如下:BI:4脚是消隐输入控制端,当BI=0 时,不管其它输入端状态如何,七段数码管均处于熄灭(消隐)状态,不显示数字。
LT:3脚是测试输入端,当BI=1,LT=0 时,译码输出全为1,不管输入 A4A3A2A1 状态如何,七段均发亮,显示“8”。
它主要用来检测数码管是否损坏。
LE:锁定控制端,当LE=0时,允许译码输出。
LE=1时译码器是锁定保持状态,译码器输出被保持在LE=0时的数值。
A1、A2、A3、A4、为8421BCD码输入端。
a、b、c、d、e、f、g:为译码输出端,输出为高电平1有效。
CD4511的内部有上拉电阻,在输入端与数码管笔段端接上限流电阻就可工作。
主要参数:线路数量(输入/输出)4.0 / 7.0电源电压(最大值)18 V电源电压(最小值)3 V最大工作温度+ 125 C(2)、SM5011AS介绍LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a、b、c、d、e、f、g、dp来表示。
当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。
如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。
LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。
小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。
发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。
常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
第二章(1)、设计简介利用CD4511BE芯片驱动LED八位数码管,使数码管显示0到9十个数字(2)、设计说明单个发光二极管的管压降为1.8V左右,电流不超过30mA,所以在数码管前面加上限流电阻,来保证数码管的安全。
加1减1计数器实验说明
各位同学请注意:
计数器的计数结果在数码管上显示,因此我们实现的电路结构为:
计数器模块——>7段数码管显示模块
1. 计数器可以对试验箱上的时钟进行计数,也可以采用按键形式,按下去一次记一个数,可以自己选择进行设计。
如果用试验箱上的时钟进行计数,需要对原始时钟信号进行分频,试验箱的时钟为48M的时钟,需要分到1HZ的信号来计数,可以自己设计分频器程序,也可以采用网盘中的分频程序模块分频,需要设计分频宽度,采用原理图的输入方式进行设计。
2.在下载加1减1计数器时,做好的计数器的显示是用1位七段数码管来观察的,数码管采用共阳的形式。
因此请大家参考第三版教材实验与设计【P153页】7段数码显示译码器设计,编写相应译码程序,注意:教材中给的是共阴管的,实验室是共阳的,需要将0与1颠倒显示。
3.程序设计方法可以采用VHDL的方式:输入端口为计数时钟,输出端口为7段数码管LED7S;采用2进程,其中一个进程为计数器进程,另一个进程为译码进程,译码进程的敏感信号为计数器的输出信号。
4.程序设计也可以采用原理图输入方式,如果用网盘中分频程序,必须采用原理图输入方式。
下载时间为2个班一大节,都在A212下载,一个班一个小时,2个班自己协调一下。
PLD_4个实验指导书
实验一 应用 Quartus进行编译、综合、仿真实验目的:熟悉 QuartusⅡ的图形设计流程全过程,电路设计、编译、仿真和综合。
实验内容 :首先利用 QuartusⅡ完成工程创建、综合、仿真等步骤。
在资源管理器下新建schematic文件夹,并在其中创建工程adder.qpf,新建图形文件adder.bdf。
实验步骤:一、 创建工程1. 打开创建工程向导执行菜单命令“ File > New Project Wizard”,打开Introduction对话框。
单击“Next”。
选择所建立工程的工作目录,输入工程名称、顶层实体名。
第3步加入设计文件时先略过,直接点击 next。
第4步指定目标器件类型。
在“Family”栏中选择“CycloneII” ,选择目标器件为EP2C8Q208C8(注意一个字母和数字都不能不同)第5步指定第三方对代码进行综合和仿真的工具,略过,直接点击 next。
第6步点击finish完成工程创建。
二、进行工程设置执行“Assignments > Settings” 菜单命令Files——添加和删除文件;User Libraries——添加用户库;Device——更改器件系列;EDA Tool Settings——设置其它EDA工具;Timing Analyzer——定时分析设置Simulator——仿真设置:选择功能仿真或时序仿真(目前什么设置都不修改,记住这个操作,以后进行设计时可能经常要打开这个窗口进行参数的修改)三、建立图形设计文件1. 建立一个新文件执行File-New命令,打开“New”对话框;选择 “Design Files”标签下的“Block Diagram/Schematic File”;单击OK,打开图形编辑器。
文件名后缀为.bdf进入图形编辑器后,在工作区空白处双击鼠标左键,或单击符号工具按钮,或选择菜单“Edit>Insert Symbol”,打开“Symbol”对话框;2. 打开元件仓库并从库中取出基本元件当符号放置好后,单击鼠标右键,选择下拉菜单的 Properties项,弹出“Symbol Properties”对话框,可修改符号的实例名。
BCD七段译码器
)
输出低电平电流(
)
工作环境温度
最小 4.75 2.0
-40
74Ⅱ 参数值
典型 5
最大 5.25
0.8 15 24 -50 3.2 85
电 性 能:(除特别说明外,均为全温度范围)
最小 4.5 2.0
-55
54 参数值 典型
5
最大 5.5
0.7 15 12 -50 1.6 125
Hale Waihona Puke 单位V V V V mA μA mA ℃
动器。低电平有效、高的灌入电流的输出可直接驱动显示器。7 个与非门和一个
驱动器成对连接,以产生可用的 BCD 数据及其补码至 7 个与或非译码门。剩下的
与非门和 3 个输入缓冲器作为试灯输入( )端、灭灯输入/动态灭灯输出(
)
端及动态灭灯输入( )端。
该电路接受 4 位二进制编码—十进制数(BCD)输入并借助于辅助输入端状
54LS247/74LS247
LSTTL 型 BCD—七段译码器/驱动器(OC,15V)
推荐工作条件
符号
参数名称
Vcc VIH VIL VO(OFF) IO(ON) IOH IOL TA
电源电压
输入高电平电压
输入低电平电压
关态输出电压(a~g 输出端)
开态输出电流(a~g 输出端)
输出高电平电流(
Vcc=最大 (
VI=2.7V 除外)
20
IIL
输入低电平电流 Vcc=最大 VI=0.4V
其它输入
IOS
输出短路电流
Vcc=最大 (仅对
VO=0V )
-0.3
ICC
电源电流 Vcc=最大 (注)
七段数码管显示十进制数字 (15)
实验报告实验题目设有10个开关,编号分别为0,1,……,9。
设计电路实现某开关闭合时对应显示相应的十进制数字。
要求:(1)写出设计说明,(2)用 Proteus或Multisim仿真。
实验方案首先初步确定所需器件(随进度补充器件),要完成本实验,本文先选用了共阴极数码管,BCD编码器74147,显示译码器74LS49,RESPACK-8,必要的button,power,反向器7404等等。
之后对比74147和7449功能表,找出他们之间的关系。
实验的整体思路为:首先是10个独立按键,10条必要的电路连接设计目标(74147为主),编码器4个输入和译码器4个输入连接,然后通过译码器7449右端的7个输出连接到数码管上,共阴极数码管另一端接地。
74147左端只有9个接口,连接1-9的开关后,0的开关暂时没法处理,留给最后解决。
发现74147输出高电位,而7449需要输入低电位,因此通过非门74LS04将点位变换。
开关与74147连接以后要求为:开关按下后为低电位,断开连接以后为高电位。
本文采取的方法为,开关左端接地,右端接电源(含电阻)。
当开关断开时,电路不通,电阻两段都为高电位;当开关闭合时,电路通畅,开关右端为低电位。
电路按照上述连接后,还存在2个问题:0的开关和怎样做到不按下开关时不显示。
我们发现若要数码管不显示,应当令74LS49器件的BI接口为低电位;按下任何一个按键,BI 接口变为高电位。
那么通过与非门很容易实现这个想法(此处我们使用了一个4接口与门器件和一个9接口与非器件)。
当1-9的9个开关都断开时,7449输入的都为低电位,是我们想要的0的输出。
此时只要使BI为高电位便可。
那么与非门的左端加入一个低电位便可。
因为将0的开关连接在这里可以有效解决问题。
实验过程首先列出了74147和7449的功能表,课本中给出了详细的表格,此处不再赘述。
之后按照实验方案中的想法连接电路。
连接电路图如下:实验结果将电路通电(按下播放键)。
第二章组合逻辑电路分析-含动画
普通编码器对输入信号的要求是互相排斥,优先编码器无此约束 允许多个信号同时输入,但电路只对优先级别最高的信号进行编码 【例2-6】3位二进制优先编码器的设计。 解:(1)分析设计要求
8个输入信号(I0~I7) 3个输出信号(Y2~Y0) 编码规则:用000、001、010、011、100、101、
2. 4选1数据选择器
【例2-9】4选1数据选择器的设计。 解:(1)分析设计要求 4路数 据输 入信号 (D0、D1、D2、D3) 1路输出信号(Y) 2位选择控制信号(S1、S0) S1S0=00时,Y=D0; S1S0=01时,Y=D1; S1S0=10时,Y=D2; S1S0=11时,Y=D3。
一个N×N的乘法器,有两个N位的乘数输入端及2N位乘积输出。
2.2.6 乘法器
2.乘法器的实现
以 4 × 4 乘 法 器 为 例 , 乘 法 器 的 输 入 信 号 为 被 乘 数 A(A3A2A1A0) 及 乘 数 B (B3B2B1B0),输出为乘积P(P7~P0)。
部分积的计算可通过与门(AND)实现 若要将部分积移位相加,还需要3个4位加法器进行加法运算
2.2 常用的组合逻辑电路
编码器 译码器 数据选择器 数值比较器 加法器 乘法器
2.2.1 编码器
1.编码原理
编码是指用文字、符号或数字表示特定对象的过程 编码器就是实现编码操作的电路 编码器的结构框图:
I0~Im-1对应m个需要编码的输入信号 Yn-1~Y0对应n位的编码输出 为了保证每一个输入信号都对应一个唯一的编码,n和m之间的关系 应满足关系式 2n-1<m≤2n 设计编码器关键在于编码规则,编码规则不同,设计的结果也完全不同
2.2.5 加法器
七段数码管显示十进制数字 (7)
第二次实验报告实验题目:设有十个开关,编号为0,1,2…9,设计电路实现某开关闭合时对应显示相应的十进制数字,写出设计说明并且用proteus仿真。
实验方案:1、可以利用下述装置当按键闭合时,电路接通,电阻两端电压降为5V,故输出Y 为0;当按键打开时,电路断开,电阻两端电压降为0V,故输出Y 为1。
因此我们可以利用0-9这十个按键来控制输入0或者1。
2、将0-9用四位二进制数字进行BCD编码,实现这个功能的编码器有74147其功能表如下图所示9I 8I 7I 6I 5I 4I 3I 2I 1I3Y 2Y 1Y 0Y0 * * * * * * * * 1 0 * * * * * * * 1 1 0 * * * * * * 1 1 1 0 * * * * * 1 1 1 1 0 * * * * 1 1 1 1 1 0 * * * 1 1 1 1 1 1 0 * * 1 1 1 1 1 1 1 0 * 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 10 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1按照这个表格,当我们按下某个数字所代表的按键时,该位输入对应就为0,其他位均为1,因此74147会给相对应的数字进行二进制编码。
当同时有两个按键被按下的时候,因为编码器有优先性,故只会对最大的数字进行编码,不会产生混乱。
但是这个编码器有一个小问题就是对0没有编码,这样当按下0键的时候,无法说明输出的是0.。
3、对相应的数字进行编码之后,我们就可以用译码器,七段显示译码器7449将对应的数字用发光二极管显示出来。
其输入就应该是74147的输出。
但是因为7449是高电位有效,而74147是低电位有效,所以在译码器输入之前,应该先用非门处理一下。
Protues 中没有十端口的与非门,可以用一个八端口的与非门和一个三端口的与门来代替。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附表1:
大学学生实验报告
开课学院及实验室:物理与电子工程学院-电子楼317室2016年 4 月 28 日
学院物电年级、专
业、班
Jason.P 学号
实验课程名称EDA技术实验成绩
实验项目名称7段数码显示译码器设计指导教师
一、实验目的:
学习7段数码显示译码器设计;学习VerilogHDL的多层次设计方法。
二、实验容:
1、实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
2、实验步骤:
表4-1 7段译码器真值表图4-1 共阴数码管及其电路
(1)首先按7段译码器真值表,完成7段BCD码译码器的设计。
作为7段BCD码译码器,输出信号LED7S的7位分别接如图4-1数码管的7个段,高位在左,低位在右。
例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
(2)设计该译码器,在QuartusII上对其进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形(提示:用输入总线的方式给出输入信号仿真数据)。
引脚锁定及硬件测试。
建议选实验电路模式6,用数码8显示译码输出,键8/7/6/5四位控制输入,硬件验证译码器的工作性能。
图4-2 7段译码器仿真波形
(3)将设计加入4位二进制计数器,经上面设计的16进制7段译码器显示。
图4-3计数器和译码器连接电路原理图
三、实验HDL描述:
计数器:module adder(CLK,RST,EN,LOAD,COUT,DOUT,DATA);
input CLK,EN,RST,LOAD;
input[3:0] DATA;
output[3:0] DOUT;
output COUT;
reg[3:0] Q1;
reg COUT;
assign DOUT = Q1;
always (posedge CLK or negedge RST) //CLK上升沿、RST下降沿触发
begin
if(!RST) Q1 <= 0; //RST为低电平时,Q1为0
else if(EN) begin //EN为高电平时,执行下步
if(!LOAD) Q1 <= DATA; //LOAD为低电平时Q1=DATA
else if(Q1<15) Q1 <=Q1+1; //Q1<15,计数加1
else Q1 <=4'b0000; end //Q1为其他值,计数置0
endmodule
四、仿真结果:
7段数码显示译码器仿真测试结果
A为输入的数,LED7S输出对应的译码结果(与7段译码器真值表一致)
计数器仿真测试结果
含异步清零和同步时钟使能的加法计数器,CLK为上升沿时,DOUT计数(EN=LOAD=RST=1);EN为低电平时DOUT保持当前数值(LOAD=RST=1);EN为高电平且CLK为上升沿时触发DOUT计数(LOAD=RST=1)。
LOAD为低电平且CLK为上升沿时,DOUT置为DATA值(EN=RST=1)。
RST为低电平时,DOUT置为0,与CLK是否为上升沿无关。
DOUT值计满15时COUT置1,DOUT为其他值时COUT为0。
组合电路(计数器+译码器)仿真测试结果
计数器和译码器连接的电路,led的译码输出和真值表相符合。
en为低电平且clock为上升沿时led保持,en为高电平且clock为上升沿时led显示的数字加一。
load为低电平且clock为上升沿时,led显示data的数值。
rst为低电平时,led显示数字0,与clock上升沿时间无关。
Led显示到数字15时cout为1,led显示其他数值时,cout为0。
五、引脚锁定:
六、硬件测试结果:
模式6:
en(键8控制)为低电平,保持显示数字3 计数满15(显示为F)LED-D8(cout)亮 rst(键7控制)为低电平,清零
七、实验心得:
通过本次实验,对QuartusII有了进一步的学习和认识,对Verilog也有了深入了解。
学会了7段数码显示译码器的Verilog硬件设计,学习了VHDL的CASE语句应用及多层次设计方法。
实验中,要对每一个功能模块做时序仿真,检验是否符合设计需求,最后综合起来做仿真测试,确认无误后再下载到目标机上进行硬件测试。
目名称”栏以上部分统一。