数字电路与逻辑设计-基于Verilog HDL和Quartus Prime(新形态版)实验指导书汇_第1页
数字电路与逻辑设计-基于Verilog HDL和Quartus Prime(新形态版)实验指导书汇_第2页
数字电路与逻辑设计-基于Verilog HDL和Quartus Prime(新形态版)实验指导书汇_第3页
数字电路与逻辑设计-基于Verilog HDL和Quartus Prime(新形态版)实验指导书汇_第4页
数字电路与逻辑设计-基于Verilog HDL和Quartus Prime(新形态版)实验指导书汇_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字电路与逻辑设计——基于Verilog&QuartusPrime实验指导书(一)一、实验项目名称:在QuartusPrimeLite开发环境设计逻辑电路二、实验目的熟悉QuartusPrimeLite开发工具,学习用原理图法设计逻辑电路。下载QuartusPrimeLite18.1软件,下载网址:/content/www/cn/zh/programmable/downloads/download-center.html三、主要设备PC机,QuartusPrimeLite软件开发平台。四、实验内容1.学习使用QuartusPrimeLite开发环境。参见《数字电路与逻辑设计》中第8章中的流程,先练习一遍。2.用原理图法设计一个3-8译码器,如图1所示。a2,a1,a0为输入信号,y0~y7为输出信号。3-8译码器的具体功能要求如表1所示(仔细阅读表1的表格右侧每一行的功能说明)。要求使用MAX10系列的10M50DAF484C7G芯片实现,如图2所示。图2中的3个小开关和8个LED灯都是辅助电路,为了便于理解3-8译码器的实用功能,本实验只是纯仿真实验,不涉及实际硬件实验电路板。10M50DAF484C7G10M50DAF484C7G图13-8译码器图23-8译码器在实际芯片(10M50DAF484C7G)上的引脚分配表13-8译码器功能表inputoutputa2a1a0y7y6y5y4y3y2y1y000011111110当abc=000时,只有y0输出0,即LED0亮;00111111101当abc=001时,只有y1输出0,即LED1亮;01011111011当abc=010时,只有y2输出0,即LED2亮;01111110111当abc=011时,只有y3输出0,即LED3亮;10011101111当abc=100时,只有y4输出0,即LED4亮;10111011111当abc=101时,只有y5输出0,即LED5亮;11010111111当abc=110时,只有y6输出0,即LED6亮;11101111111当abc=111时,只有y7输出0,即LED7亮;五、实验步骤及注意事项1.在电脑硬盘中(D或E盘中)创建一个自己的目录(文件夹),用英文名称,不要用汉字名称。2.创建Project,要求使用MAX10系列的10M50DAF484C7G芯片。3.创建原理图文件。提示,原理图中,如果要用到与非门,三输入与非门的名称是nand3。4.编译。编译成功后,按照图2,为输入输出信号指定引脚。再编译,直到编译成功。5.创建仿真波形输入文件并编辑输入信号波形。画波形之前,先设置时间栅格间距,方法为,Edit,gridsize。6.仿真。仿真后,查看输出信号的波形是否正确。如果不正确,修改原理图,再编译,再仿真,直到正确。提示:可以选中几个信号,如a3a2a1a0,然后鼠标右键,group,把信号组合起来,更容易观察。实验指导书(二)一、实验项目名称:组合电路设计二、实验目的(1)学习EDA工具的使用(2)组合逻辑电路设计三、主要设备PC机,QuartusPrimeLite软件开发平台,DE-10LITE开发板。四、实验内容1.设计一个MUX4-1选择器,输入为:数据输入a[3..0]、b[3..0]、c[3..0]、d[3..0],控制输入s[1..0],输出为dout[3..0],MUX4-1选择器的功能表如表1所示。用VHDL描述设计,并编译和仿真验证。表1MUX4-1功能表sdout00a01b10c11d2.设计一个7段数码管显示译码器seg_decoder,输入为data[3..0],输出为显示驱动信号abcdefg[6..0],数码管为共阳连接。用VHDL描述设计,并编译和仿真验证。3.设计一个8-3编码器encoder,输入信号为I[7..0],输出为code[2..0],8-3编码器的真值表如表2所示。用VHDL语言描述译码器,并编译仿真。表28-3编码器真值表Icode000000010000000001X001000001XX01000001XXX0110001XXXX100001XXXXX10101XXXXXX1101XXXXXXX1115.设计一个4-bit加法器adder_4bit,输入信号为a[3..0]、b[3..0],输出信号为和sum[3..0],并编译仿真。6.设计一个可以进行多种运算的电路alu,电路结构如图1所示。图1alu电路结构要求:(1)利用设计完成的MUX4_1选择器、7段数码管显示译码器seg_decoder和4-bit加法器,使用component和portmap语句来描述,并编译仿真。(2)熟悉DE10-Lite开发板的相关资源布局及FPGA芯片(10M50DAF484C7G)的引脚连接。(3)使用拨码开关SW7、SW6、SW5、SW4、SW3、SW2、SW1、SW0作为a和b输入,拨码开关拨到上方为1,拨到下方为0。(4)使用数码管HEX0作为输出显示。五、实验步骤及仿真要求1.在电脑硬盘中(D或E盘中)创建一个自己的目录(文件夹),用英文名称,不要用汉字名称。注意,不要在桌面创建文件夹,也不要在U盘里运行,容易出问题。2.先创建工程,File->NewProjectWizard,选择MAX10系列的10M50DAF484C7G芯片。(1)在D或E盘新建工程文件夹alu,新建工程alu;(2)把MUX4_1.vhd、seg_decoder.vhd、full_adder、encoder和adder_4bit.vhd都放在工程alu中;(3)描述alu设计,并编译仿真;3.编译,编译哪个模块就设哪个模块为顶层模块,如果出错,改错,重新编译,直到编译成功。否则无法仿真。4.根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片。实验指导书(三)一、实验项目名称:规则时序电路模块设计二、实验目的(1)学习EDA工具的使用(2)规则时序电路模块设计三、主要设备PC机,QuartusPrimeLite软件开发平台,DE-10LITE开发板。四、实验内容1.设计一个3-bit通用寄存器reg_3bit。D2,D1,D0为寄存器的数据输入端口,clk为时钟输入,Q2,Q1,Q0为寄存器的输出信号。每当时钟沿到来,对数据输入采样,把数据保存到寄存器的输出端。2.设计一个6级的3-bit移位寄存器shift_reg。要求用设计的3-bit通用寄存器构成移位寄存器,用component和portmap语句或generate语句描述,并编译仿真。3.设计一个模8计数器count8,输入信号为:时钟输入clk,输出为计数输出cnt[2..0],用VHDL语言描述译码器,并编译仿真。4.设计一个能够循环显示信息的电路,显示的信息可以是0-1-2-3-4-5-6-7,也可以是c-u-c-i-c-s等,clk为时钟输入,disp0[6:0],disp1[6:0],disp2[6:0],disp3[6:0],disp4[6:0],disp5[6:0]是6个数码管的显示驱动信号,。要求:1)循环显示电路功能:每来一个时钟,计数器的计数值加1,计数值的译码信息显示在数码管上,前一个数码管显示的信息向后一个数码管移动。2)使用板上按键key0做时钟信号,使用板上7段数码管显示。3)使用实验(二)中设计的4-7译码器、设计的移位寄存器和计数器完成设计。3)按照板上资源对设计分配引脚。4)在DE10-LITE板上实现电路,并观察实现效果。-五、实验步骤及仿真要求1.在电脑硬盘中(D或E盘中)创建一个自己的目录(文件夹),用英文名称,不要用汉字名称。注意,不要在桌面创建文件夹,也不要在U盘里运行,容易出问题。2.先创建工程,File->NewProjectWizard,选择MAX10系列的10M50DAF484C7G芯片。(1)在D或E盘新建工程文件夹light,新建工程light;(2)把reg_3bit.vhd、shift_reg.vhd、count8.vhd和light.vhd都放在工程light中,把实验(二)中设计的4-7译码器也加入到工程中;(3)描述light设计,并编译仿真;3.编译,编译哪个模块就设哪个模块为顶层模块,如果出错,改错,重新编译,直到编译成功。否则无法仿真。4.根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片。注意:分配按键KEY1的引脚时,把I/OStandard设为3.3VSchmittTrigger,这样可以给按键加上去抖电路。实验指导书(四)一、实验项目名称:随机时序模块设计二、实验目的(1)随机时序电路设计三、主要设备PC机,QuartusPrimeLite软件开发平台四、实验内容1.设计一个序列信号发生器seq_gen,输入为:时钟clk、复位信号rst,输出为:y序列。每来一个时钟(上升沿),y输出一个信号(0或1)。要求:(1)随着时钟的到来,y循环输出序列信号01011011101111011111…,序列长度为20.(这个序列有明显的规律,就是一个1,两个1,三个1,四个1,五个1,中间隔一个0)。(2)在序列输出的过程中,任何时候,只要rst=1(相当于按一下reset按键),时钟沿一来,y立刻输出序列的第1位,即从第1位开始重新输出序列。要求用状态机(statemachine)设计,并编译仿真。2.设计一个1100101序列检测器seq_moore,输入为:时钟clk、串行输入x,输出为z,每检测到一个1100101序列就输出一个1脉冲。要求:(1)用Moore机实现。(2)不重复检测。3.设计一个1100101序列检测器seq_mealy,输入为:时钟clk、串行输入x,输出为z,每检测到一个1100101序列就输出一个1脉冲。要求:(1)用Mealy机实现。(2)不重复检测。五、实验步骤:(1)在D或E盘新建工程文件夹sm,新建工程sm;(2)把设计的seq_gen.vhd、seq_moore.vhd和seq_mealy文件都放到工程中;(3)对各设计编译仿真,编译哪个文件,;实验指导书(五)一、实验项目名称:带显示的计数器二、实验目的学习时序电路设计三、主要设备PC机,QuartusPrimeLite软件开发平台,DE10-Lite实验板。四、实验内容1.设计一个模24的BCD计数器cnt24,输入为:时钟clk、使能en,输出为:十位hq[3..0]、个位lq[3..0]。用VHDL描述设计,并编译仿真。2.设计一个模60的BCD计数器cnt60,输入为:时钟clk、使能en,输出为:十位hq[3..0]、个位lq[3..0]、进位输出cout(每计60个时钟脉冲cout输出一个1,其余时间为0)。3.设计一个带显示的模24的BCD计数器counter24,输入为:时钟clk、使能en,输出为:十位的7段数码管显示驱动h[6..0],个位的7段数码管显示驱动l[6..0]。要求:(1)利用已经设计完成模24计数器cnt24和7段数码管显示译码器seg_decoder构成电路,使用component和portmap语句来描述,并编译仿真。(2)熟悉DE10-Lite开发板的相关资源布局及FPGA芯片(10M50DAF484C7G)的引脚连接。(3)使用拨码开关SW0作为使能输入en,拨码开关拨到上方为1,拨到下方为0;使用按键KEY1作为时钟输入,按一下产生一个时钟脉冲。(4)用7段数码管HEX5和HEX4分别作为十位和个位的输出显示。4.设计一个带显示的模60的BCD计数器counter60,输入为:时钟clk、使能en,输出为:十位的7段数码管显示驱动h[6..0],个位的7段数码管显示驱动l[6..0]。要求:(1)利用已经设计完成模24计数器cnt24和7段数码管显示译码器seg_decoder构成电路,使用component和portmap语句来描述,并编译仿真。(2)熟悉DE10-Lite开发板的相关资源布局及FPGA芯片(10M50DAF484C7G)的引脚连接。(3)使用拨码开关SW0作为使能输入en,拨码开关拨到上方为1,拨到下方为0;使用按键KEY1作为时钟输入,按一下产生一个时钟脉冲。(4)用7段数码管HEX5和HEX4分别作为十位和个位的输出显示。五、实验步骤:(1)在D或E盘新建工程文件夹bcd_counter,新建工程bcd_counter;(2)设计完成的cnt24.vhd、cnt60.vhd都放在工程中;把签名实验中设计的4-7译码器seg_decoder.vhd也加入到工程中;(4)对各个设计进行编译仿真;(5)根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片。注意:分配按键KEY1的引脚时,把I/OStandard设为3.3VSchmittTrigger,这样可以给按键加上去抖电路。实验指导书(五)一、实验项目名称:带显示的计数器二、实验目的(1)学习较复杂时序电路设计三、主要设备PC机,QuartusPrimeLite软件开发平台,DE10-Lite实验板。四、实验内容1.设计一个模24的BCD计数器cnt24,输入为:时钟clk、使能en,输出为:十位hq[3..0]、个位lq[3..0]。用VHDL描述设计,并编译仿真。2.设计一个模60的BCD计数器cnt60,输入为:时钟clk、使能en,输出为:十位hq[3..0]、个位lq[3..0]、进位输出cout(每计60个时钟脉冲cout输出一个1,其余时间为0)。3.设计一个带显示的模24的BCD计数器counter24,输入为:时钟clk、使能en,输出为:十位的7段数码管显示驱动h[6..0],个位的7段数码管显示驱动l[6..0]。要求:(1)利用已经设计完成模24计数器cnt24和7段数码管显示译码器seg_decoder构成电路,使用component和portmap语句来描述,并编译仿真。(2)熟悉DE10-Lite开发板的相关资源布局及FPGA芯片(10M50DAF484C7G)的引脚连接。(3)使用拨码开关SW0作为使能输入en,拨码开关拨到上方为1,拨到下方为0;使用按键KEY1作为时钟输入,按一下产生一个时钟脉冲。(4)用7段数码管HEX5和HEX4分别作为十位和个位的输出显示。4.设计一个带显示的模60的BCD计数器counter60,输入为:时钟clk、使能en,输出为:十位的7段数码管显示驱动h[6..0],个位的7段数码管显示驱动l[6..0]。要求:(1)利用已经设计完成模24计数器cnt24和7段数码管显示译码器seg_decoder构成电路,使用component和portmap语句来描述,并编译仿真。(2)熟悉DE10-Lite开发板的相关资源布局及FPGA芯片(10M50DAF484C7G)的引脚连接。(3)使用拨码开关SW0作为使能输入en,拨码开关拨到上方为1,拨到下方为0;使用按键KEY1作为时钟输入,按一下产生一个时钟脉冲。(4)用7段数码管HEX5和HEX4分别作为十位和个位的输出显示。五、实验步骤:(1)在D或E盘新建工程文件夹bcd_counter,新建工程bcd_counter;(2)设计完成的cnt24.vhd、cnt60.vhd都放在工程中;把签名实验中设计的4-7译码器seg_decoder.vhd也加入到工程中;(4)对各个设计进行编译仿真;(5)根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片。注意:分配按键KEY1的引脚时,把I/OStandard设为3.3VSchmittTrigger,这样可以给按键加上去抖电路。实验指导书(六)一、实验项目名称:计时器设计二、实验目的(1)学习全同步计时器设计(2)学习FPGA硬件开发的基本技能三、主要设备PC机,QuartusPrimeLite软件开发平台,DE10-Lite实验板。四、实验内容1.设计一个50M分频器fdiv,输入为50MHz的时钟信号clk,输出为频率为1Hz的信号cout。2.设计一个带显示的能够计时、计分、计秒的计时器timer,输入为:时钟clk,输出为:时的高位显示驱动hh[6..0]、时的低位显示驱动hl[6..0],分的高位显示驱动mh[6..0]、分的低位显示驱动ml[6..0],秒的高位显示驱动sh[6..0]、秒的低位显示驱动sl[6..0]。要求:(1)计时器为全同步电路,使用板上50MHz时钟,时分秒计数器都使用50MHz时钟;(2)利用已经设计完成的50M分频器fdiv、模24计数器cnt24、模60计数器cnt60和和7段数码管显示译码器seg_decoder构成电路,画出电路结构。(3)使用component和portmap语句来描述,并编译仿真。(4)熟悉DE10-Lite开发板的相关资源布局及FPGA芯片(10M50DAF484C7G)的引脚连接。(5)用7段数码管HEX5和HEX4分别作为时的高位和低位的输出显示,用HEX3和HEX2分别作为分的高位和低位的输出显示,用HEX1和HEX0分别作为秒的高位和低位的输出显示。五、实验步骤:(1)在D或E盘新建工程文件夹timer,新建工程timer;(2)在工程中设计分频器fdiv.vhd,把已设计完成的cnt24.vhd、cnt60.vhd、seg_decoder.vhd文件加入到工程文件夹;(3)在新建工程中加入前面实验中已完成的.vhd文件;(4)描述计时器设计,并编译仿真;(5)根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片,在实验板上观察调试设计。实验指导书(七)一、实验项目名称:设计一个时分秒可调的数字钟二、实验目的(1)掌握FPGA硬件开发技能(2)学习分析和设计一个功能较复杂的综合电路,学习电路模块的划分(3)学习对数据通路和状态机的设计和准确描述三、主要设备PC机,QuartusPrimeLite软件开发平台,DE10-Lite实验板。四、实验内容1.设计一个数字钟clock,输入为:时钟clk、模式键mode、调整键adj,输出为:时的高位显示驱动hh[6..0]、时的低位显示驱动hl[6..0],分的高位显示驱动mh[6..0]、分的低位显示驱动ml[6..0],秒的高位显示驱动sh[6..0]、秒的低位显示驱动sl[6..0]。要求:(1)调整键adjust用来调时、分、秒,mode按键用来调整模式,模式的具体含义及数字钟功能要求如表1所示。表1数字钟功能Mode键功能按一下mode键此时可调整“时”,每按一下adjust键,增加1小时,增加到23小时,再按一下adjust键,则变为00小时。调整过程中,数码管HEX5,HEX4闪烁,提示用户此时正在调整“小时”。再按一下mode键此时可调整“分”,每按一下adjust键,增加1分钟,增加到59分,再按一下adjust键,则变为00分。调整过程中,数码管HEX3,HEX2闪烁,提示用户此时正在调整“分钟”。再按一下mode键此时可调整“秒”,每按一下adjust键,增加1秒,增加到59秒,再按一下adjust键,则变为00秒。调整过程中,数码管HEX1,HEX0闪烁,提示用户此时正在调整“秒”。再按一下mode键回到正常计时和显示状态(2)数字钟为全同步电路,使用板上50MHz时钟,时分秒计数器都使用50MHz时钟;(3)画出电路结构,电路结构钟应清晰画出时、分、秒计数模块以及他们的控制信号,控制电路状态机产生的控制信号,以及各模块之间的粘合逻辑。(4)利用已经设计完成的50M分频器fdiv、模24计数器cnt24、模60计数器cnt60和和7段数码管显示译码器seg_decoder构成电路。(5)设计电路结构中新增的模块状态机控制器。(6)使用component和portmap语句来描述,并编译仿真。(7)用7段数码管HEX5和HEX4分别作为时的高位和低位的输出显示,用HEX3和HEX2分别作为分的高位和低位的输出显示,用HEX1和HEX0分别作为秒的高位和低位的输出显示;用KEY0作为mode键,用KEY1作为adj键。实验步骤:(1)在D或E盘新建工程文件夹clock,新建工程clock;(2)把已设计完成的cnt24.vhd、cnt60.vhd、fdiv.vhd、seg_decoder.vhd文件拷贝到工程文件夹;(3)在新建工程中加入上述.vhd文件;(4)设计描述状态机控制器;(5)描述顶层时钟设计,并编译仿真;(6)根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片,在实验板上观察运行结果是否符合设计要求。注意事项:(1)各主要模块设计完成后要先仿真;(3)顶层模块仿真时可以先降低分频比,以便能在较短的仿真时间内看到仿真结果;(3)分配按键KEY1和KEY0的引脚时,把I/OStandard设为3.3VSchmittTrigger,这样可以给按键加上去抖电路。(4)实验报告中须加入仿真结果。实验指导书(八)一、实验项目名称:带定闹的、时分秒可调的数字钟二、实验目的(1)掌握FPGA硬件开发技能(2)学习分析和设计一个功能较复杂的综合电路,学习电路模块的划分(3)学习对数据通路和状态机的设计和准确描述三、主要设备PC机,QuartusPrimeLite软件开发平台,DE10-Lite实验板。四、实验内容1.设计一个数字钟clock,输入为:时钟clk、复位键reset,模式键mode、调整键adj,输出为:时的高位显示驱动hh[6..0]、时的低位显示驱动hl[6..0],分的高位显示驱动mh[6..0]、分的低位显示驱动ml[6..0],秒的高位显示驱动sh[6..0]、秒的低位显示驱动sl[6..0]。要求:(1)在上一个实验的基础上,为数字钟增加闹钟功能。(2)调整键adjust用来调时、分、秒,mode按键用来调整模式,模式的具体含义及数字钟功能要求如表1所示。表1数字钟功能Mode键功能按一下mode键此时可调整“时”,每按一下adjust键,增加1小时,增加到23小时,再按一下adjust键,则变为00小时。调整过程中,数码管HEX5,HEX4闪烁,提示用户此时正在调整“小时”。再按一下mode键此时可调整“分”,每按一下adjust键,增加1分钟,增加到59分,再按一下adjust键,则变为00分。调整过程中,数码管HEX3,HEX2闪烁,提示用户此时正在调整“分钟”。再按一下mode键此时可调整“秒”,每按一下adjust键,增加1秒,增加到59秒,再按一下adjust键,则变为00秒。调整过程中,数码管HEX1,HEX0闪烁,提示用户此时正在调整“秒”。再按一下mode键此时可调整闹钟的“时”,每按一下adjust键,增加1小时,增加到23小时,再按一下adjust键,则变为00小时。调整过程中,数码管HEX5,HEX4用来显示闹钟的“小时”并闪烁,提示用户此时正在调整闹钟“小时”。HEX1,HEX0两个数码管(显示秒)不亮。再按一下mode键此时可调整闹钟的“分”,每按一下adjust键,增加1分钟,增加到59分,再按一下adjust键,则变为00分。调整过程中,数码管HEX3,HEX2用来显示闹钟的“分钟”并闪烁,提示用户此时正在调整闹钟“分钟”。HEX1,HEX0两个数码管(显示秒)不亮。再按一下mode键回到正常计时和显示状态(3)增加一个复位按键reset,连接到日常的counter24,counter60,counter60计数器的rst端口,按一下reset按键,三个计数器全部复位到零。(4)数字钟为全同步电路,使用板上50MHz时钟,时分秒计数器都使用50MHz时钟;(5)在上一个实验设计的基础上,修改电路结构,电路结构中应清晰画出时、分、秒计时模块,时、分定时模块以及他们的控制信号,控制电路状态机产生的控制信号,以及各模块之间的粘合逻辑。(6)设计定时模块;(7)修改上一个实验钟的状态机控制器,使之满足本次设计要求;(8)使用component和portmap语句来描述,并编译仿真。(9)用7段数码管HEX5和HEX4分别作为时的高位和低位的输出显示,用HEX3和HEX2分别作为分的高位和低位的输出显示,用HEX1和HEX0分别作为秒的高位和低位的输出显示;用KEY0作为mode键,用KEY1作为adj键;用SW0作为reset输入;闹钟所设置的时间到了之后,LEDR[7]灯亮。五、实验步骤:(1)备份上一个实验的工程文件夹clock;(2)在clock工程中修改控制器状态机的设计;(3)修改顶层时钟设计,增加定时模块,并编译仿真;(4)根据要求对设计进行引脚分配,然后再次编译;编译正确后,通过USB-Blaster下载线把sof文件下载到芯片,在实验板上观察运行结果是否符合设计要求。注意事项:(1)新修改的或新增的主要模块设计完成后要先仿真;(3)仿真时可以先降低分频比,以便能在较短的仿真时间内看到仿真结果;(4)分配按键KEY1和KEY0的引脚时,把I/OStandard设为3.3VSchmittTrigger,这样可以给按键加上去抖电路。(5)实验报告中必须包括系统结构图和仿真结果。实验指导书(一)一、实验项目名称:QuartusPrimeLite开发工具使用二、实验目的熟悉QuartusPrimeLite开发工具,学习用原理图法设计逻辑电路。下载QuartusPrimeLite18.1软件,网址:/content/www/cn/zh/programmable/downloads/download-center.html三、主要设备PC机,QuartusPrimeLite软件开发平台。四、实验内容1.使用QuartusPrimeLite开发环境。参见《数字电路与逻辑设计》第8章中的流程,先练习一遍。2.用原理图法设计一个3-8译码器,如图1所示。a2,a1,a0为输入信号,y0~y7为输出信号。3-8译码器的具体功能要求如表1所示(仔细阅读表1的表格右侧每一行的功能说明)。要求使用MAX10系列的10M50DAF484C7G芯片实现,如图2所示。图2中的3个小开关和8个LED灯都是辅助电路,为了便于理解3-8译码器的实用功能,本实验只是纯仿真实验,不涉及实际硬件实验电路板。10M50DAF484C7G10M50DAF484C7G图13-8译码器图23-8译码器在实际芯片(10M50DAF484C7G)上的引脚分配表13-8译码器功能表inputoutputa2a1a0y7y6y5y4y3y2y1y000011111110当abc=000时,只有y0输出0,即LED0亮;00111111101当abc=001时,只有y1输出0,即LED1亮;01011111011当abc=010时,只有y2输出0,即LED2亮;01111110111当abc=011时,只有y3输出0,即LED3亮;10011101111当abc=100时,只有y4输出0,即LED4亮;10111011111当abc=101时,只有y5输出0,即LED5亮;11010111111当abc=110时,只有y6输出0,即LED6亮;11101111111当abc=111时,只有y7输出0,即LED7亮;五、实验步骤及注意事项在电脑硬盘中(D或E盘中)创建一个自己的目录(文件夹),用英文名称,不要用汉字名称。创建Project,要求使用MAX10系列的10M50DAF484C7G芯片。创建原理图文件。提示,原理图中,如果要用到与非门,三输入与非门的名称是nand3。编译。编译成功后,按照图2,为输入输出信号指定引脚。再编译,直到编译成功。创建仿真波形输入文件并编辑输入信号波形。画波形之前,先设置时间栅格间距,方法为,Edit,gridsize。仿真。仿真后,查看输出信号的波形是否正确。如果不正确,修改原理图,再编译,再仿真,直到正确。提示:可以选中几个信号,如a3a2a1a0,然后鼠标右键,group,把信号组合起来,更容易观察。实验指导书(二)一、实验项目名称:组合电路设计二、实验目的学习EDA工具的使用和用原理图设计组合电路三、主要设备PC机,QuartusPrimeLite软件开发平台,DE-10LITE开发板。四、实验内容1.设计一个3-bit二选一选择器。D0[2:0],D1[2:0]为选择器的数据输入端口,s为选择控制端口,Dout[2:0]为选择器输出信号。要求:二选一选择器的功能是:当s为0时,选择D0输出,当s为1时,选择D1输出。用基本逻辑门设计。设计完成后生成一个二选一选择器模块。2.设计一个3-bit加法器。D0[2:0],D1[2:0]为加法器的输入端口,sum[2:0]为加法器输出信号。要求:加法器仅实现加法,无进位输入,进位输出忽略。用基本逻辑门设计。设计完成后生成一个加法器模块。3.设计一个3-bit比较器。D0[2:0],D1[2:0]为比较器的输入端口,comp[2:0]为比较器输出信号。要求:比较器实现比大、比小和相等比较,输出comp[2]为比大输出,comp[1]为相等比较输出,comp[0]为比小输出。用基本逻辑门设计。设计完成后生成一个比较器模块。4.设计两个7段数码管显示译码器。D[2:0]为译码器的输入端口,disp[6:0]为译码输出信号。要求:一个译码器输出驱动显示为0-1-2-3-4-5-6-7;另一个译码器输出驱动显示为g(100)、E(010)、L(001),其他编码输出无效,不显示;也可以采用其他译码方案。用基本逻辑门设计。设计完成后分别生成两个比较器模块。5.设计一个带结果显示的运算器电路。D0[2:0],D1[2:0]为运算器的数据输入端口,s为运算器功能选择输入,disp[6:0]为运算结果输出显示信号。要求:运算器的功能为:当s为0时,运算器做加法器运算,运算结果经译码器译码后显示在板上数码管HEX0上;当s为1时,运算器做比较运算,比较结果经译码器译码后显示在数码管HEX0上。用前面任务中设计的二选一选择器、加法器、比较器和译码器实现这个运算器。在DE10-LITE板上实现这个运算器,D0[2:0]用拨码开关SW2~SW0输入,D1[2:0]用拨码开关SW5~SW3输入,s用拨码开关SW9输入;运算结果显示在数码管HEX0上。七、实验过程及要求使用组合电路基本方法设计多路选择器、加法器、比较器和译码器,求出输出的逻辑函数式。用设计的多路选择器、加法器、比较器和译码器设计计算器电路,画出电路结构图。选择MAX10系列的10M50DAF484C7G芯片。用原理图实现各模块,完全连线的画图方式和同名节点连线的画图方式都可以。编译,如果出错,改错,重新编译,直到编译成功,保存编译报告。对顶层的计算器电路按要求分配芯片引脚。在DE10-LITE板上实现运算器电路。实验指导书(三)一、实验项目名称:规则时序电路设计二、实验目的学习EDA工具的使用和用原理图设计规则时序电路。三、主要设备PC机,QuartusPrimeLite软件开发平台,DE-10LITE开发板。四、实验内容1.用D触发器设计一个3-bit通用寄存器。D2,D1,D0为寄存器的数据输入端口,clk为时钟输入,Q2,Q1,Q0为寄存器的输出信号。要求:寄存器的功能是:每当时钟沿到来,对数据输入采样,把数据保存到寄存器的输出端。用D触发器设计。设计完成后生成一个寄存器模块。2.设计一个6级的3-bit移位寄存器。Din[2:0]为移位寄存器的数据输入端口,clk为时钟输入,Dout[2:0]为移位寄存器的串行输出信号,Q1[2:0]为第一级寄存器输出,Q2[2:0]为第二级寄存器输出,Q3[2:0]为第三级寄存器输出,Q4[2:0]为第四级寄存器输出,Q5[2:0]为第五级寄存器输出。要求:用任务1中设计的3-bit寄存器设计这个移位寄存器。设计完成后生成一个6级3-bit移位寄存器模块。3.设计一个模8计数器。clk为时钟输入,Q[2:0]为计数输出信号。要求:计数器功能:每来一个时钟,计数器的计数值加1,当计数到7时,下一个时钟计数器回到0。设计、综合、仿真完成后生成一个模8计数器模块。4.设计一个能够循环显示信息的电路,显示的信息可以是0-1-2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论