eda实验指导书最新内容摘要:

IF CLK39。 EVENT AND CLK = 39。 139。 THEN CNT8 = CNT8 + 1。 END IF。 END PROCESS P2。 P3: PROCESS( A ) –译码电路 BEGIN CASE A IS WHEN 0 = SG = 0111111。 WHEN 1 = SG = 0000110。 WHEN 2 = SG = 1011011。 WHEN 3 = SG = 1001111。 WHEN 4 = SG = 1100110。 WHEN 5 = SG = 1101101。 WHEN 6 = SG = 1111101。 WHEN 7 = SG = 0000111。 WHEN 8 = SG = 1111111。 WHEN 9 = SG = 1101111。 WHEN 10 = SG = 1110111。 WHEN 11 = SG = 1111100。 WHEN 12 = SG = 0111001。 WHEN 13 = SG = 1011110。 WHEN 14 = SG = 1111001。 WHEN 15 = SG = 1110001。 WHEN OTHERS = NULL。 END CASE。 END PROCESS P3。 END。 例 是扫描显示的示例程序,其中 clk 是扫描时钟; SG 为 7 段控制信号,由高位至低位分别接 g、 f、 e、d、 c、 b、 a 7 个段; BT 是位选控制信号,接图 520中的 8 个选通信号: k k …k8。 程序中 CNT8 是一个 3 位计数器,作扫描计数信号,由进 程 P2生成;进程 P3 是 7段译码查表输出程序,与例 518 相同;进程P1是对 8 个数码管选通的扫描程序,例如当 CNT8 等于 001 时, K2 对应的数码管被选通,同时, A 被赋值3,再由进程 P3译码输出 1001111,显示在数码管上即为 ―3‖;当 CNT8 扫变时,将能在 8 个数码管上显示数据: 13579BDF。 四、实验研究与思考 字形编码的种类,即一个 8 段数码管可产生多少种字符,产生所有字符需多少根译码信号线。 字符显示亮度和扫描频率的关系,且让人感觉不出光烁现象的最低扫描频率是多少。 扫描显示和 静态显示有什么差别。 使用扫描显示有什么好处。 15 实验十 VHDL 硬件设计 计数器及时序电路描述 一、实验目的 了解时序电路的经典设计方法( JK 触发器和一般逻辑门组成的时序逻辑电路)。 了解同步计数器,异步计数器的使用方法。 了解同步计数器通过清零阻塞法和预显数法得到循环任意进制计数器的方法。 理解时序电路和同步计数器加译码电路的联系,设计任意编码计数器。 了解同步设计和异步设计的区别。 二、实验仪器 计算机、 Max+plusII 或 QuartusII 软件、 EDA 试验箱。 三、实验内容 实验内容中的六个实验均要通过实验十的 ―扫描显示电路 ‖进行显示,具体连线根据每个实验内容完成时的管脚分配来定义,同相应的输入输出接口功能模块相连,扫描模块的设计参考实验十。 用 JK 触发器设计异步四位二进制加法计数器。 8 位 LED 数码管 16 进制显示扫描显示驱动电路设计,实验参考原理图如图 所示。 其中,计数时钟频率 CLK2Hz;扫描时钟频率 40Hz;四位 JK 触发器接成异步计数器; SEL0~ SEL2 为扫描地址(控制八位数码管的扫描顺序和速度); A……G 为显示译码输出,代表数码管的八个段位( a,b,c,d,e,f,g);八位数码管同时顺序显示 0~ F。 图 计数器设计参考原理图 用 74161 两个宏连接成八位二进制同步计数器,实验参考原理图如图 所示。 将两个 74161 串接成典型的同步计数器; muxh14 完成扫描数据切换;两位数码管同时显示 00~ FF。 16 图 两位十六进制计数器设计参考原理图 用 74390 两个宏连接成八位十进制异步计数器。 两位数码管扫描显示十进制 00~ 99,实验参考原理图,如图 所示: 图 两位十进制计数器 设计参考原理图 用 VHDL 语言的状态机方法实现同步清零七进制计数器和用 74161 计数器加译码的方法实现异步清零七进制计数器,计数按 0、 1变化的七进制计时器,两种方法同时显示。 实验参考原理图,如图 所示: 17 图 两位七进制计数器设计参考原理图 自行 设定实验步骤和 设计纪录方式,完成实验报告 四、实验研究与思考 说明在 FPGA 设计中,同步设计和异步设计的不同之处。 图形设计和 VHDL 语言设计编程各有什么优点,混合编程时应注意些什么问题。 应用状态机设计时序电 路需要注意哪些问题。 实验十一 数字钟 一、实验目的 掌握多位计数器相连的设计方法。 掌握十进制,六进制,二十四进制计数器的设计方法。 继续巩固多位共阴极扫描显示数码管的驱动,及编码。 掌握扬声器的驱动。 LED 灯的花样显示。 掌握 FPGA 技术的层次化设计方法。 二、实验仪器 计算机、 Max+plusII 或 QuartusII 软件、 EDA 试验箱。 三、实验内容 要求 具有时、分、秒计数显示功能,以二十四小时循环计时;具有清零、调节小时、分钟的功能;具有整点 18 报时和 LED 灯花样显示的功能;各种进制的计数及时钟控制模块( 10 进制、六进制、 24 进制)、扫描分时显示、译码模块、彩灯,扬声器编码模块都采用 VHDL 语言编写,设计参考原理图如图 所示。 内容 ( 1)根据电路特点,可在教师指导下用层次设计概念。 将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。 让几个学生分做和调试其中之一,然后再将各模块和起来联试。 以培养学生之间的合作精神,同时加深层次化设计概念。 扫描显示设计请参考实验十。 ( 2)了解软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录 下的同一设计,如何熔合。 图 数字钟参考设计原理图 自行 设定实验步骤和 设计纪录方式,完成实验报告 四、实验研究与思考 层次化设计与模块化设计有何优点。 扫描电路实现显示功能的潜在好处。 19 实验十二 字符发生器 一、实验目的 了解点阵字符产生和显示的原理。 了解 LPM_ROM 和 1616 点阵 LED 的工作原理。 掌握 LPM_ROM 数据读取时序的控制方式的 VHDL 描述方法。 进一步掌握地址发生器和译码器的设计方法。 加强对用 FPGA 产生总线,地址定 位的理解。 二、实验仪器 计算机、 Max+plusII 或 QuartusII 软件、 EDA 试验箱。 三、实验内容 原理: 1616 扫描 LED 点阵的工作原理同 8 位扫描数码管类似。 它有 16 个共阴极输出端口,每个共阴极对应有 16 个 LED 显示灯。 所以其扫描译码地址是 4 位信号线。 本实验就是要通过 FPGA 芯片产生读时序,将字形从 LPM_ROM 中读出,然后产生写时序,写入 1616的点阵,使其扫描显示输出。 字库格式如图 所示。 这是一 1616 点阵字库,一个字占 32 个字节,例如 ―正 ‖所对应的 32 个字节是: W0―00000000‖, W1―00000000‖, W2―00000000‖, W3―00000000‖, W4―00010000‖, W5―00001000‖, W6―00010000‖, W7―00001000‖…… 用 FPGA 芯片内部的 LPM_ROM 编辑器,将某一字符的点阵字模存入。 用 FPGA 芯片设计地址发生器,从 LPM_ROM 中读取点阵字模数据。 设计点阵扫描和 LPM_ROM 中的地址映射,编写相应时序的读过程信号和写过程信号,以及相应的扫描顺序。 其顶层电路原理图如图 所示。 图 点阵 字库格式 20 图 字符发生器顶层原理图 自行 设定实验步骤和 设计纪录方式,完成实验报告 四、实验研究与思考 有几种方法可以使字形显示旋转 90 度、 180 度。 有几种方法可以使字形之间: 错误 !未找到引用源。 按一定延时显示; 错误 !未找到引用源。 按一定位移速度显示。 实验十三 模拟信号检测 一、实验目的 掌握状态机设计方法。 了解 ADC0809 的工作原理和采样控制时序。 设计 A/D 转换器 ADC0809 的采样控制电路。 掌握 VHDL 语言的仿真验证方法。 二、 实验仪器 计算机、 Max+plusII 或 QuartusII 软件、 EDA 试验箱、示波器。 三、实验内容 原理: ADC0809 是 CMOS 的 8 位 A/D 转换器,片内有 8 路模拟开关,可控制 8 个模拟量中的一个进入转换器中。 转换时间约 100μs,含锁存控制的 8 路多路开关,输出有三态缓冲器控制,单 5V电源供电。 主要控制信号如图 所示: START 是转换启动信号,高电平有效; ALE 是 3 位通道选择地址 (ADDC、 ADDB、ADDA)信号的锁存信号。 当模拟量送至某一输入端 (如 IN1 或 IN2 等 ),由 3 位地址信号选择,而地址 信号由ALE 锁存; EOC 是转换情况状态信号,当启动转换约 100μs 后, EOC 产生一个负脉冲,以示转换结束;在EOC 的上升沿后,若使输出使能信号 OE 为高电平,则控制打开三态缓冲器,把转换好的 8 位数据结果输至数据总线,至此 ADC0809 的一次转换结束。 : 图 ADC0809工作时序 21 实验示例程序如。 【例 】 LIBRARY IEEE。 USE。 ENTITY ADCINT IS PORT(D : IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 来自 0809转换好的 8位数据 CLK : IN STD_LOGIC。 状态机工作时钟 EOC : IN STD_LOGIC。 转换状态指示,低电平表示正在转换 ALE : OUT STD_LOGIC。 8个模拟信号通道地址锁存信号 START : OUT STD_LOGIC。 转换开始信号 OE : OUT STD_LOGIC。 数据输出 3态控制信号 ADDA : OUT STD_LOGIC。 信号通道最低位控制信号 LOCK0 : OUT STD_LOGIC。 观察数据锁存时钟 Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 8位数据输出 END ADCINT。 ARCHITECTURE behav OF ADCINT IS TYPE states IS (st0, st1, st2, st3,st4)。 定义各状态子类型 SIGNAL current_state, next_state: states :=st0。 SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0)。 SIGNAL LOCK : STD_LOGIC。 转换后数据输出锁存时钟信号 BEGIN ADDA = 39。 139。 当 ADDA=39。 039。 ,模拟信号进入通道 IN0;当 ADDA=39。 139。 ,则进入通道 IN1 Q = REGL。 LOCK0 = LOCK。 COM: PROCESS(current_state,EOC) BEGIN 规定各状态转换方式 CASE current_state IS。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。