康芯EDA实验指导书_阳光
EDA 实验指导书 杨秀芝 2015.10.1
实验预习要求:
1)实验前请仔细阅读指导书,复习相关内容。
2)实验前请把相应实验的 Verilog HDL 程序都编写好,请带程序参加实验。
3)实验时请携带优盘,拷贝实验波形和数据,以便写实验报告。注意,每个人的实验波形都不可能一样,不能互相拷贝借用。
4)每个实验结束后都须写实验报告,本次实验报告下次实验时交。
实验一 掌握 QuartusII 开发平台的使用,学习利用原理图输 入法和文本输入法进行电路设计 一、实验目的:
熟悉 QuartusII 软件界面, 学习简单组合电路的电路设计方法,掌握文本输入和原理图输入设计方法。掌握时序仿真测试及测试结果分析的方法。
二、实验原理:
1、半加器的原理图如图 1 所示。
图 1 半加器 上图中,半加器的功能如下:
co=a·b,s=a⊕b; 2、二选一数据选择器 二选一数据选择器 MUX21A 有数据输入端 a、b,选择输入端 s,输出端 y。
功能如下:
s=0,y=a; s=1,y=b; 三、实验内容:
1.在 QuartusⅡ平台上,利用原理图输入法,按照图 1 进行连线,完成半加器的电路设计。然后编译、仿真测试。
2.在 QuartusⅡ平台上,利用文本输入法,选用 Verilog HDL 语言,设计二选一数据择器,然后编译、仿真,给出文本设计文件和仿真波形图。
3.结果正确后锁定管脚,将二选一数据择器下载到 FPGA 芯片中,进行硬件测试。
四、实验过程:
1)打开 QuartusII 界面,建立一个名为 h_adder 的工程。
a b s co
2)选择原理图输入方式,打开编辑窗口,输入 h_adder 设计文件,按照图 1 所示输入电路。
3)选择目标芯片,完成排错、编译、综合。
4)新建仿真文件,输入待测节点,对上述设计进行仿真。
5)在 e File 菜单中选择 Create Symbol Files for Current File 项,创建一个设计的符号,该符号可被高层设计调用。
6)选择文本输入方式,打开文本编辑窗口,输入二选一数据选择器 MUX21A 的文本文件。
7)选择相同目标芯片,完成排错、编译、综合。
8)再建仿真文件,输入 MUX21A 的待测节点,对 MUX21A 进行仿真测试。
9)根据选用的开关(输入端)和 LED 发光二极管(输出端)锁定管脚。
10)下载到 FPGA 中进行硬件测试。
11)QuartusII 设计流程见教材第二章和第五章:QuartusII。
五、回答问题:
如何在原理图中输入一个总线,并与其他总线连接? 六、实验报告要求:
实验报告中要含有下列各项:
1)实验目的 资 源 管理区 工 程 工作区 编 译 状态 显 示区 信息显示窗
2)实验原理 3)实验内容,含设计程序或原理图 4)每个设计的仿真测试波形及结果分析 5)管脚锁定说明(若有该项)6)硬件测试情况说明及结果分析(若有该项)7)实验总结 管脚 锁定:
半 加器 :
a(L1)133 b(L2)135 s(D2)1 co(D1)144 二选一:
s(L7)142 a(L2)135 b(L1)133 y(D2)1
实验二 简单时序电路的设计(D D 触发器和锁存器)一、实验目的:
熟悉 QuartusII Verilog HDL 文本设计流程全过程。学习时序电路的设计方法,学习电路仿真和硬件测试的全过程。
二、实验原理 时序逻辑电路是现代复杂数字电路的重要组成部分,往往占到整个设计的 90%以上。触发器是时序电路的基本单元,本实验中将涉及到边沿触发和电平触发两种电路结构,其中边沿触发是实际电路实现的主要方式。
触发器对数据的锁存有两种方式:一类是响应时钟信号边沿的脉冲触发器,也是我们常说的触发器,另一类,在时钟信号为高(或低)电平的全部时间内,输出都响应输入,这类电路我们通常称为锁存器。电平触发的锁存器与边沿触发的触发器不同之处在于当触发端处于有效电平时,输出等于输入,输出随输入变化;触发端无效时输出保持不变。
触发器有两种清零方式:同步——当触发沿到来时,若清零信号有效,则实现清零;异步——任何时候清零信号一旦有效,触发器马上清零,而不论触发沿是否到来。
三、实验内容 1)设计一个上升沿触发的 D 触发器 输入:D 输出:Q 触发时钟:CLK 2)设计异步清零 D 触发器 在 1)设计的 D 触发器基础上,加入清零端 rst,实现异步清零方式。
3)设计一个高电平有效的锁存器 输入:D 输出:Q 触发:CLK D CLK Q D CLK Q rst D CLK Q
4)在 QuartusII 环境下对以上设计的电路模块进行编译,和时序仿真,记录时序波形,并分析数据 5)实验内容 1、2、3 按照下列给定的管脚号进行管脚锁定,再编译综合后,下载到试验箱的 FPGA 芯片中。并在实验箱上进行硬件测试。给出硬件测试结果。
管脚锁定:
信号 试验箱 管脚号 连接的器件 D 133 L1 Rst 135 L2 CLK 143 L3 Q 144 D1 四、回答问题 1)在本次实验中你使用的 Verilog HDL 描述方式是结构化描述还是行为级描述?这两种方式描述的编译出来的仿真结果是否相同? 2)请在试验报告中分析和比较 1)和 3)的仿真和实测结果,说明两者之间的异同点。
3)如果需要设计带并行预置初始值的计数器,用 Verilog HDL 应如何描述? 五、实验报告要求:
见实验 1
实验三 7 段数码显示译码器设计 一、实验目的:
学习7 段数码显示译码器设计,学习Verilog HDL 的多层次设计方法。
二、实验原理:
七段数码管由 8 个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将 8 个二极管的同一极接在一起,通过分别控制另外的 8 个电极的电平,使二极管导通(发光)或截止(不发光)。
七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。
三、实验内容 :
1)用 Verilog HDL 设计 7 段数码管显示译码电路,其中输入为 4 位 BCD 码,输出 7 位译码结果,并在 Verilog HDL 描述的测试平台下对译码器进行功能仿真,给出仿真的波形。
2)利用以上设计的译码器模块,设计一个在 4 个数码管上扫描显示字符的电路。即快速轮流点亮 4 个数码管,实现同时显示 4 个字符的效果(尽管实际上同一时间只有一个数码管被点亮)。
要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字符的编码;同时控制数码管的公共电极电平,轮流点亮数码管。
3)用 QuartusII 对 2)中的设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。
4)通过 QuartusII 集成环境,将设计下载到实验电路上进行硬件测试。
管脚锁定:
计数脉冲 clk: 50——1Hz 七段数码管输出 a: 144 b: 1 c: 2 d: 3 e: 4 f: 7 g: 10 位选:
SG1: 60 SG 2: 58 SG 3: 54 SG 4 : 52
输入:D3(L4):137 D2(L3):136 D1(L2):
135 D0(L1):133
实验四 设计一个异步清零和同步时钟使能的 10 进制加法计数器 一、实验目的:
学习计数器的设计、仿真和硬件测试,进一步熟悉 Verilog HDL 设计技术。
二、实验原理 计数器对输入的时钟信号进行计数,其中四位二进制计数器可以对 10 个时钟脉冲计数。所设计的加法计数器中 rst 是异步清零信号,高电平有效;clk 是计数时钟;ENA 为计数器输出使能控制。当 ENA 为‘1’时,多路选择器将加法计数器的输出值加载于锁存器的数据端;当 ENA 为‘0’时锁存器输出为高阻态。
三、实验内容 1)用 Verilog HDL 语言完成上述计数器的行为级设计。
2)用 QuartusII 对上述设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。
3)锁定引脚并硬件下载测试。引脚锁定后进行编译、下载和硬件测试实验。将实验过程和实验结果写进实验报告。硬件实验中,注意测试所有控制信号和显示信号,包括 RST、EN 等的同步、异步特性,进位信号等。
4)(可选项)使用 SignalTap II 对此计数器进行实时测试,为此项设计加入一个可用于 SignalTap II 采样的独立的时钟输入端 CLK0。计数时钟可以低一点,而采样时钟可高一些,如选择 clock0=2MHz,而计数时钟 CLK 可分别选择 256Hz、16384Hz、6MHz,并进行实时测试。记录测试波形,给出报告。
引脚锁定:
计数脉冲 clk: 50_1HZ 复位信号 rst: L1 133 使能信号 ena: L2 135 计数器输出 Q3: D5 4 Q2: D6 7 Q1: D7 10
Q0: D8 11 Cout: D1 144 四、回答问题 1)叙述同步和异步控制的不同之处。
2)使用 SignalTap II 时,选用不同的时钟对测试结果有什么影响? 五、实验报告要求:
见实验 1
实验五 4 4 位十进制频率计设计(选作 1 1))一、实验目的:
设计一个 4 位十进制频率计,学习复杂数字系统的设计方法。
二、实验原理:
根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为 1 秒的脉冲计数允许信号,1 秒计数结束后,计数值(即所测信号频率)锁入锁存器,并为下一次测频作准备,即将计数器清零。
三、试验内容:
1、根据频率计的工作原理,将电路划分成控制器、计数器(含锁存)和 LED 显示几个模块,1)控制器——产生 1 秒脉宽的计数允许信号、锁存信号和计数器清零信号 2)计数器——对输入信号的脉冲数进行累计并锁存。
3)LED 显示——将频率值显示在数码管上 七段数码管由 8 个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将 8 个二极管的同一极接在一起,通过分别控制另外的 8 个电极的电平,使二极管导通(发光)或截止(不发光)。
七段数码显示需要译码器才能显示需要的字符。
四、思考题:
1、1 秒脉宽的计数信号如何产生? 2、频率计的复位信号和开始计数信号是否可以合二为一? 五、实验报告要求:
见实验 1 管脚锁定:
计数脉冲 clk: 0.5Hz 自定 被测脉冲 fx 自定 复位信号 rst: L1 133 使能信号 ena: L2 135 七段数码管输出 a: 144 b: 1 c: 2 d: 3 e: 4
f: 7 g: 10 位选:
SG1: 60 SG 2: 58 SG 3: 54 SG 4 : 52
实验七 交通灯控制电路的设计(选作 2)一、实验目的:
设计一个交通灯控制电路,学习复杂数字系统的设计方法。
二、实验原理:
为了确保十字路口的车辆顺利、畅通地通过,往往都采用自动控制信号灯来进行指挥。其中红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮表示停车;绿灯(G)亮表示允许通行。交通灯控制电路的系统框图如图 1 所示:
图 1 交通灯控制器系统框图 三、实验 内容 设计一个十字路口交通信号灯控制器。基本要求如下:
1、满足图 2 顺序工作流程。图中设南北方向的红、黄、绿灯分别为 NSR、NSY、NSG,东西方向的红、黄、绿灯分别为 EWR、EWY、EWG。它们的工作方式有些必须是并行进行的,即南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮。
2、应满足两个方向的工作时序:即东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。时序工作流程图 3 所示。图 3 中,假设每个单位时间为 3 秒,则南北、东西方向绿、黄、红灯亮时间分别 15 秒、3 秒、18 秒,一次循环为 36 秒。其中红灯亮的时间 系统控制电路 手动、单步 分频 时标 ≥1 东西方向 EW 南北方向 NS G Y R G Y R
为绿灯、黄灯亮的时间之和。
图 2 交通灯顺序工作流程图 图 3 交通灯时序工作流程图 3、扩展功能:(选作)(1)灯的转换可以手动调整,夜间为黄灯闪耀。
(2)用 LED 发光二极管模拟汽车行驶电路。当某一方向绿灯亮时,这一方向的发光二极管接通,并一个一个向前移动,表示汽车在行驶;当遇到黄灯时,移位发光二极管就停止,而过了十字路口的移位发光二极管继续向前移动;红灯亮时,则另一方向转为绿灯亮,那么,这一方向的 LED 发光二极管就开始移位(表示这一方向的车辆行驶)。
四、思考题:
1、复杂系统设计时候常采用层次化设计方法,叙述层次化设计方法的步骤。
2、如果需要配合红绿灯点亮同时显示红绿灯剩余时间,请问如何修改设计? 五、实验报告要求:
南北方向绿灯亮,东西方向红灯亮(5t)南北方向黄灯亮,东西方向红灯亮(1t)南北方向红灯亮,东西方向绿灯亮(5t)南北方向红灯亮,东西方向黄灯亮(1t)1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 NSG NSY NSR EWR EWG EWY t 5t 6t t
见实验 1
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《康芯EDA实验指导书_阳光》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
