基于FPGA的数字电路实验报告

合集下载

FPGA实习报告

FPGA实习报告

FPGA实习报告一、实习概况本次实习我进入了一家高科技公司,参与了FPGA(Field-Programmable Gate Array,现场可编程门阵列)相关的项目。

通过与团队成员合作,我了解了FPGA的基本知识和应用,并在项目中完成了一些任务。

在这次实习中,我学到了很多东西,也发现了自己的不足之处。

二、FPGA介绍FPGA是一种可编程逻辑器件,与ASIC(Application Specific Integrated Circuit,专用集成电路)相比,FPGA具有灵活性高、开发周期短等优点。

它可以根据需要进行编程,实现各种逻辑功能。

由于其广泛应用于通信、计算机、医疗等领域,我对FPGA技术充满了兴趣。

三、项目任务在本次实习中,我主要参与了一个数字信号处理项目。

具体任务如下:1. 学习FPGA编程语言:我首先学习了FPGA的编程语言,包括VHDL (VHSIC Hardware Description Language)和Verilog HDL(Hardware Description Language)。

这两种语言可以用于描述硬件电路,并在FPGA上实现。

3.进行性能优化:为了提高数字滤波器的性能,我进行了一系列优化工作。

首先,我对代码进行了优化,减少了资源占用和功耗。

同时,我对硬件设计进行了优化,使用并行计算等技术提高了滤波器的运算速度。

四、实习心得1.学到了很多知识:通过这次实习,我学到了很多关于FPGA的知识,包括编程语言、硬件设计、性能优化等方面。

这些知识对于我今后的学习和工作都有很大的帮助。

2.提高了动手能力:在项目中,我需要从零开始设计和实现一个数字滤波器。

通过不断的尝试和实践,我提高了自己的动手能力和解决问题的能力。

3.感受到了团队合作的重要性:在项目中,我和团队成员密切合作,共同解决了很多技术难题。

这让我意识到团队合作的重要性,团队的力量会比个人更加强大。

4.发现了自己的不足之处:在实习中,我发现了自己在硬件设计和性能优化方面的不足之处。

数字电子技术实验报告范文-基于FGPA的4位智能抢答器(verilogHDL)

数字电子技术实验报告范文-基于FGPA的4位智能抢答器(verilogHDL)

数字电子技术实验报告范文-基于FGPA的4位智能抢答器(verilogHDL)基于FPGA的4位智能抢答器一、设计任务要求基于EDA/SOPC系统开发平台,运用QuartuⅡ可编程逻辑器件开发软件,设计一个4位智能抢答器,在开发箱上,本系统使用频率为1000赫兹的时钟脉冲。

要求如下:2、系统上电和按下“复位”按键后4位数码管显示“0000”,此时只有“开始”按键有效,其他按键不起作用;4、抢答的有效时间为10秒,如果定时抢答的时间已到而没有选手抢答,本次抢答无效,封锁输入电路,禁止抢答,数码管左边显示“10”,右边显示“00”;此状态一直保持到主持人将系统复位为止;二、设计步骤本次设计主要采用VerilogHDL语言,总体编程思路采用模块化设计方式,主要分为3个模块,一个主控制及按键输入模块,一个计时显示模块,一个抢答组号显示模块,分别对这3个子模块进行独立编程设计,编译仿真通过并生成元件,在顶层使用原理图或者VerilogHDL语言的方式将3个模块连接起来三、模块设计思路对于这个任务来说,计时显示模块和抢答组号显示模块的模块并不复杂,复杂的模块是主控制及按键输入模块,所以我决定再将主控制模块拆分成两个小的模块——按键输入模块、按键输入判断输出模块。

后者使用4个D触发器来实现,当游戏开始的时候4个D触发器都会接收按键按下的信息,并且判断是否出现问题,下面我就真实的程序来进行说明。

1、主控制模块的按键输入模块LED3=how0;LED4=how0;endendEndmodule总体的电路图如下:(有些模糊,是因为电路图的连线过长,截图的时候不得不截成一个明显的长方形图形)四、实验总结:通过这次的实验任务,学习了一些verilogHDL语言的知识,也复习了数字电子技术相关的知识。

以前只是在纸上画过一些原理图,如果需要改动某一个点的时候就会出现牵一发而动全身的现象,对于比较复杂的电路设计,纸上的勾勾画画很显然会很浪费时间,所以对于程序设计电路的方式我相信大多数人是持欢迎态度的。

可编程逻辑实验报告(3篇)

可编程逻辑实验报告(3篇)

第1篇一、实验目的1. 熟悉可编程逻辑器件(FPGA)的基本原理和操作方法。

2. 掌握使用FPGA进行数字电路设计的流程。

3. 学会使用FPGA进行简单数字电路的设计与实现。

二、实验器材1. FPGA开发板2. 编译器软件(如Xilinx ISE、Vivado等)3. 实验指导书4. 实验数据线三、实验原理可编程逻辑器件(FPGA)是一种基于半导体工艺的可编程数字电路,具有高集成度、高速度、可重构性强等特点。

FPGA通过内部逻辑单元(如查找表、触发器等)来实现各种数字电路功能。

本实验主要涉及以下原理:1. 数字电路基本原理2. 可编程逻辑器件(FPGA)的基本结构和工作原理3. 编译器软件的使用方法四、实验步骤1. 熟悉开发板(1)认识开发板上的各个模块,如时钟模块、输入输出模块、存储器模块等。

(2)了解开发板上各个模块的功能和作用。

2. 设计数字电路(1)根据实验要求,设计所需的数字电路。

(2)使用原理图或HDL语言进行电路描述。

3. 编译与下载(1)使用编译器软件对设计的数字电路进行编译。

(2)生成比特流文件。

(3)将比特流文件下载到FPGA中。

4. 测试与验证(1)观察FPGA上各个模块的输出信号,验证电路功能是否正确。

(2)使用示波器等仪器进行波形观察,进一步验证电路功能。

五、实验内容1. 设计一个4位全加器(1)原理图设计:使用原理图编辑器设计4位全加器电路。

(2)HDL语言设计:使用HDL语言描述4位全加器电路。

(3)编译与下载:将设计的电路编译成比特流文件,下载到FPGA中。

(4)测试与验证:观察FPGA上各个模块的输出信号,验证4位全加器电路功能是否正确。

2. 设计一个8位奇偶校验器(1)原理图设计:使用原理图编辑器设计8位奇偶校验器电路。

(2)HDL语言设计:使用HDL语言描述8位奇偶校验器电路。

(3)编译与下载:将设计的电路编译成比特流文件,下载到FPGA中。

(4)测试与验证:观察FPGA上各个模块的输出信号,验证8位奇偶校验器电路功能是否正确。

FPGA实验报告实验2

FPGA实验报告实验2

西南科技大学实验报告课程名称:基于FPGA的现代数字系统设计实验名称:基于HDL十进制计数、显示系统设计姓名:学号:班级:通信1301指导教师:刘桂华西南科技大学信息工程学院制基于HDL十进制计数、显示系统设计一、实验目的1、掌握基于语言的ISE 设计全流程;2、熟悉、应用VerilogHDL描述数字电路;3、掌握基于Verilog的组合和时序逻辑电路的设计方法;4、掌握chipscope 片内逻辑分析仪的使用与调试方法。

二、实验原理1、实验内容:设计具有异步复位、同步使能的十进制计数器,其计数结果可以通过七段数码管、发光二极管等进行显示。

2、模块端口信号说明:输入信号:Clk_50m ---系统采样时钟clk -------待计数的时钟clr ---------异步清零信号,当clr=0,输出复位为0,当clr=1,正常计数ena---------使能控制信号,当ena=1,电路正常累加计数,否则电路不工作输出信号:q[6:0]---------驱动数码管,显示计数值的个位cout -----------1bit 数据,显示计数值向十位的进位COM-----------共阳级数码管,公共端(接地,参考开发板原理图3、以自顶向下的设计思路进行模块划分:整个系统主要设计的模块是:十进制计数模块和数码管驱动模块,由于实验板的按键为实现硬件防抖,则需要将按键输入的时钟clk,先通过消抖模块消抖后,再输出至后续使用。

1)十进制计数器模块设计输入: CLK -------待计数的时钟CLR ---------异步清零信号,当CLR =0,输出复位为0,当CLR =1,正常计数。

EN---------使能控制信号,当EN=1,电路正常累加计数,否则电路不工作输出:SUM[3:0]---------- 计数值的个位。

即,在CLK 上升沿检测到SUM=9 时,SUM 将被置0,开始新一轮的计数。

tc ------------计数值的十位进位,即:只有在时钟CLK 上升沿检测到SUM=9 时,TC将被置1,其余情况下TC=0;在设计中可以使用always,if-else-if语句实现,设计中注意不要在两个以上的always 模块中对同一个变量进行赋值,否则会产生多重赋值源(multi-source)的问题。

数字电路课程设计报告-基于FPGA的简易数控电压源的设计

数字电路课程设计报告-基于FPGA的简易数控电压源的设计

目录序言一、基于FPGA的数控电源的课题要求二、课程要求1.技术要求2.功能要求3.工作原理4.本人的工作三、设计方案1.原理图2.框架图四、硬件电路的设计1.按键作用2.FPGA的作用3.DAC0832的作用4、共阴极的数码管五、电路图的安装与调试六、收获与体会参考文献附录(元器件清单)一、课题要求本课题所介绍的数控稳压电源与传统电压相比,具有操作方便,电压稳定度高,其输出电压大小采用了数字显示的特点。

主要用到了一块核心芯片FPGA其型号为EP2C5T144C8。

本课题具体要求如下:(一)技术要求:1.熟练掌握Quartus 6.0 软件的使用方法,同时能够对仿真波形进行一定的分析;2.熟练掌握运用VHDL语言进行层次化设计;(二)功能要求1.输出电压:范围0~+9.9V,步进0.1V;2.输出电压值由数码管进行动态显示;3.由“+”、“-”两键分别控制输出电压的增减。

(三)工作原理此数控直流稳压电源共有六个部分,输出电压的调节时通过+、-两键操作,步进电压精确到0.1V,控制可逆计数器分别作加、减计数,可逆计数器的二进制数字输出分两路运行:一路用于驱动数字显示电路,精确显示当前输出电压值;另一路进入数模转换电路(D/A 转换电路),数模转换电路将数字量按比例,转换成模拟电压。

整个系统的工作原理就是数字控制部分用加减按键产生可增加或减少BCD 码,BCD码通过二进制转化输入到DA变换,变换成相应的电压,此电压通过放大到合适的电平后加到可调稳压部分,控制输出电压一手动0.1v步进或步减。

(四)本人的工作1.硬件设计2.焊接及其调试工作二、数控电源整体设计的原理图方框图:1.本设计FPGA采用的是DP2C5T144C8需要5V的工作电压2.通过按钮向FPGA输入信号,FPGA得到增计数器或者减计数器的脉冲信号,开始计数;3.计数器的信号则会分两部分输出来;一部分传到外部的显示器上,这里先用的是共阴极数码管,另一部分送给D/A转换,D/A再将数字量按比例转换成模拟电压,再经过调整,从而得到稳定的输出电压。

FPGA实验报告5篇

FPGA实验报告5篇

FPGA实验报告5篇第一篇:FPGA实验报告FPGA实验报告专业:XXX 姓名:XXX 学号:XX一:实验目的1.熟悉Modelsim和Quartus II软件的运行环境和使用2.熟练使用Quartus II仿真软件生成网表。

3.熟悉FPGA前仿真和后仿真的整个流程。

二:实验内容编写counter计数器,在Quartus II仿真软件中生成网表,再在Modelsim中进行后仿真。

三: 实验步骤1.在Modelsim编写源程序(counter计数器及激励),编译源文件,确保程序的正确性,并进行前仿真,生成波形图如下:附:源程序如下:module counter(q,clk,reset);input clk,reset;output [3:0] q;reg [3:0] q;always @(posedge reset or negedge clk)if(reset)q <= 4'b0;elseq <= q + 1;endmodule module top;reg CLK,RESET;wire [3:0] Q;counter c1(Q,CLK,RESET);initialCLK=1'b0;always#1 CLK=~CLK;initial$monitor($time,“Q=%d”,Q);initialbeginRESET=1'b1;#5 RESET=1'b0;#180 RESET=1'b1;end endmodule 2.新建文件夹,将源程序counter.v放进去。

然后启动Quartus II仿真软件,生成网表。

1).在【File】下拉菜单中选中New Project Wizard选项,出现对话框。

并指定工程工作目录、工程名称和顶层模块名,如图(a)所示。

2).添加(Add)counter.v文件。

如图(b)所示。

3).选择器件系列4).指定其它EDA工具,如图(d)所示。

fpga实训报告

fpga实训报告

fpga实训报告FPGA实训报告FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,它可以在设计完成后进行现场编程,从而实现不同功能的硬件设计。

FPGA广泛应用于数字信号处理、计算机视觉、机器人控制等领域。

在FPGA的设计与开发过程中,实训是一种非常重要的学习方式。

本次FPGA实训主要是基于Verilog语言进行设计与开发,并使用Xilinx Vivado软件进行仿真和综合。

实训过程主要包括以下几个方面:一、FPGA基础知识学习在实训开始前,我们需要掌握FPGA的基础知识,包括FPGA的原理、结构、特点以及设计流程等。

在学习过程中,我们需要掌握Verilog语言的基础语法和常用模块设计,并了解FPGA开发工具的使用方法。

二、Verilog语言设计与编写在实训中,我们需要根据设计需求,使用Verilog语言进行FPGA 的开发。

在设计过程中,我们需要进行模块分析、状态机设计、时序分析等,同时需要保证代码的可读性、可维护性和可扩展性。

三、FPGA仿真与综合在完成代码编写后,我们需要使用Xilinx Vivado软件进行仿真和综合。

在仿真过程中,我们需要对代码进行模拟,并检查设计的正确性和时序约束是否满足。

在综合过程中,我们需要将代码翻译成FPGA可执行的位文件,并进行时序分析和资源利用率分析。

四、FPGA实现与调试在综合完成后,我们需要将位文件下载到FPGA芯片中,并进行调试和验证。

在调试过程中,我们需要使用示波器、逻辑分析仪等工具进行信号采集和调试,同时需要对设计进行优化和改进,以满足设计需求和性能要求。

总结:通过本次FPGA实训,我们掌握了FPGA的基础知识和Verilog语言的设计方法,同时了解了FPGA的设计流程和开发工具的使用方法。

在实训过程中,我们遇到了许多问题和挑战,但通过不断的调试和优化,我们最终完成了FPGA的设计和开发。

本次实训不仅提高了我们的实践能力和创新思维,同时也为我们今后从事FPGA相关工作打下了坚实的基础。

(完整word版)FPGA专题实验实验报告-西安交通大学

(完整word版)FPGA专题实验实验报告-西安交通大学

实验1:状态机问题一:你觉得上面这段代码中,q 到底在怎样变化?答:首先语句中缺少begin,q <= q也不合理;如果有异步复位信号,q=0;否则,如果有上升沿且a不等于1,q=q;如果有上升沿且a=1,q直接等于b;问题二:本页中,q 到底在怎样变化?答:复位时,q=0;否则q=d。

问题三:sync电路图:仿真:该电路使输入信号与时钟同步,并产生稳定脉冲信号,进行节拍分配。

四、红路灯电路系统框图:问题分析:东西南北都有车时,状态转换时,东西绿灯时间长于60s;三秒后,南北通行,绿灯时间少于40s。

计数器不能使用同一个,但可以减少触发器数目实验2:数字钟环节二仿真时注意问题:1.仿真1小时需要多少时间?答:取决于输入信号clk的频率。

2.现在的时钟是秒时钟,实际系统的时钟是50MHz.那用50MHz的时钟的情况下,仿真1小时要多少时间?如何解决该问题?答:1/50000000*60*60=0.000072 s;可以将输入信号分频。

环节三1,复位如何输入的?按键防抖如何制作的?修改按键防抖的间隔会导致什么问题?答:复位信号由clock顶层文件输入,按键防抖思路是使按键信号通过触发器进行延迟,持续输入十个上升沿才认为按键一次,避免了抖动。

增加时间会导致按键时间边长,短按可能误认为是抖动。

2,数码管的显示使用组合逻辑输出好还是时序逻辑输出好?答:组合逻辑好环节四:闰年:y1和y2分别为输入的年高两位和年低两位,y为年份,当cout=1时为闰年,cou=0时为平年。

如果y2=0则y1能被4整除时为闰年:当y2!=0时y2能被4整除则为闰年。

后面通过将y1循环加100次再加上y2得到年份y。

process(y1,y2)variable i:integer;beginif y2=0 thenif (y1 rem 4)=0 thencout<='1';else cout<='0';end if;elsif y1 rem 4=0 thencout<='1';else cout<='0';end if;i:=y1;for n in 0 to 99 loopi:=i+i;end loop;y<=i+y2;end process;实验3:SRAM环节二、两种仿真的比较lab/lab3/step1/memtest.vhd用功能仿真和时序仿真两种方法,比较一下SS的状态数值的变化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.初步了解模块化设计的思想,理解累加器的工作原理,用硬件描述语言实现指定功能的累加器设计。
·4位累加器
1.设计方案
需要用两个模块,一个用来进行保存工作,即累加器,另一个用来实现数据相加,即加法器。这样即可每次把数据加到总和里,实现累加器的工作。
2.原理说明及框图
基本原理为书上的结构图。只要实现了两个主要模块,再用线网连接即可。
State1
0
0
State1
State10
State1
0
0
State10
Empty
State101
0
0
State101
State1010
State1
0
0
State1010
Empty
Empty
0
1
经过状态化简,上面状态已经为最简状态。
状态装换图:
在用HDL代码实现时,利用always块和case语句实现有限状态机。
答:用两个异或门,比较计数器的输出与一个加数的大小,若相等时则输出低电平到累加器的使能端,则可停止累加。
实验9序列检测器的设计
·实验目的
掌握利用有限状态机实现时序逻辑的方法。
1实验原理:
有限状态机(FSM)本质上是由寄存器和组合逻辑电路构成的时序电路。次态由当前状态和输入一起决定,状态之间的转移和变化总是在时钟沿进行。有限状态机分为Moore型和Mealy型。Moore型有限状态机输出仅由当前状态决定;Mealy型有限状态机输出由当前状态和输入同时决定。
·思考题
1.给出锁存器的定义,它与边沿触发器的区别是什么?
答:锁存器是一种对脉冲电平敏感的存储单元电路,它可以在特定输入脉冲电平作用下改变状态。边沿触发器只有在固定的时钟上升沿或者下降沿来临时改变状态。可以通过锁存器实现边沿触发器。
2.利用乘法器实现乘法操作,当乘法完成时,用哪些方法可以控制累加器停止累加?
4.仿真结果及分析说明
如图所示,仿真结果功能正确
5.管脚绑定
用模式1,其余键指定同上。其中输出p用灯管D2表示,g用灯管D3表示,功能正常。
3)8位超前进位加法器
1.设计方案
采用两单位四位超前进位加法器级联即可得到8位的加法器。
2.代码文件清单
Task13.v adder.v
3.仿真结果及分析说明
如图所示,结果正确
2.自行设计一个1位全减器。如何利用四位加法器实现一个4位全减器。
答:因为减法可以看做是加上一个数的相反数。所以只需对减数求反,再用加法器与被减数相加即可。
3.还有哪些方法可以消除竞争冒险?举例说明。
答:通常有三种消除的方法:
1)代数法
若两级门电路的与-或(或者或-与)逻辑表达式在某种输入情况下,变成 或者 形式,则该电路有险象存在。消除险象的方法是更改电路,消除产生 或 的条件。
我的想法是,做出一个修正值M[3:0],另其第4位和第1位始终为0,若t0为1,则M的2,3位为1,否则为0.这样利用已经设计好的4位超前进位加法器始终给结果加上M即可。这个设计比较简单。
可以用下面的框图来表示(超前进位加法器用芯片表示)
3.代码文件清单
adder_4.v
BCD.v
Task15.v
4仿真结果
由此得到全加器的门级描述框图:
现在只需将4个加法器单位级联,即可得到4位逐次进位的加法器。
3.代码文件清单
Task11.v
4.仿真结果
如图所示,功能正常
5管脚绑定
用模式1电路,1键输入a,2键输入6,译码器5输出s。灯管D1代表进位,键7输入Ci,功能正常。
2)4位超前进位加法器
1.设计方案
按照指导书上给出的表达式可得:
设计一个5位的序列检测器。利用Mealy型状态机实现。
需要5个状态:
Empty:初始状态
State1:输入为1
State10:输入为10
State101:输入为101
State1010:输入为1010
状态转换表:
Present state
Next present
Output
0
1
0
1
Empty
Empty
门级:
模式6,clk用pin28,D输入端用键3,r对应键4,s对应键5,q1显示对应D1,q2对应D2。功能正常无误。
移位寄存器
1.设计方案
将触发器的输入与输出级联即可得到移位寄存器,这样每次有一个值输入时,第一个触发器就会读入一个值,下一个时钟脉冲沿来临时将这个值传递到下一个触发器,即形成了移位的效果。同时。同时设计load端可以直接从输入读数,以及异步清零端。
优点缺点逻辑清楚逻辑单元数目清晰可见节省资源与空间代码过长效率不高对于复杂的状态机问题很难实现行为级抽象级别高代码简洁容易实现不用涉及电路的具体实现方式无法了解电路详细结构可能导致资源浪费对电路难以实现宏观规划实验21hdb3编解码器设计实验目的掌握结构化设计方法理解系统级行为级设计思路理解hdb3码的原理并掌握hdb3编码器和解码器的设计方法
对于4位超前进位加法器,逻辑框图如下图所示。各个进位表达式与的 的关系如下所示:
其中 分别表示各个全加器的和信号与进位信号。
2.原理说明及框图
超前进位加法器使用更多的器件,要求所有进位端都能通过输入的两个加数和进位数直接表示出来,表达式如上图所示。直接转换为框图即可得到下图:
3.代码文件清单
Task12.v
2)卡诺图法
在卡诺图中,两个方格群之间只要有一条小边相邻(即两个方格群既不相重迭,彼此之间又有相邻的最小项),则称这两个方格群相接。有相接出现,对应的电路便有可能产生险象。为了消除这种电路的险象,在相接处加一个搭接块,就可以消除险象。
3)取样脉冲法
一般来说,有多个输入发生状态变化时,险象是难以完全消除的。当组合逻辑电路的过渡性冒险影响了整个系统的工作时,可以采用取样的办法解决。取样脉冲仅在输出处于稳态值的期间到来,以保证输出正确的结果,而在没有取样脉冲的期间,输出端的信息是无效的。
实验五D触发器设计
·实验目的
1.掌握时序逻辑电路的基本分析和设计方法;
2.理解触犯器的工作原理,用硬件描述语言实现触发器的门级设计。
·D触发器门级和行为级设计(具有异步清零功能)
1.设计方案
D触发器的门级设计较为简单,就按照指导书的图用与非门可以搭成。
D触发器的行为级设计也容易实现,只需要用Always控制语句进行操作即可。
对于状态机的实现方式,只需要做一个小小的改动,当现状态为1010时,若输入为1,此时不要回到状态101,而是回到状态0,这个状态机便不能重复检测序列了。
对移位寄存器的实现方式,当输出为1时,利用移位寄存器的clr清零端,让其清零,移位寄存器便回到了全0状态,相当于不能重复检测了。
2.说明行为级描述和门级描述的优缺点。
Task21.v
Task22.v
5.仿真结果及分析说明
加入冗余项之前:
加入冗余项BC之后;
说明加入了冗余项以后,成功消除了冒险险象。
·思考题
1.比较逐次进位加法器和超前进位加法器的区别。
答:主要区别在于,超前进位加法器可以直接根据输入确定每一位的输出,所以运算速度快,而这样消耗了更多的系统资源逐次进位加法器需根据每一位运算的情况确定进位,不过占用的系统资源更少。
·JK触发器
1.设计方案
直接用行为级设计,根据jk触发器的表达式为:
所以直接实现即可。
2.原理说明及框图
上图为jk触发器真值表,由此得到了其输出布尔方程。
其门级排布如下:
3.代码文件清单
Task34.v
4.仿真结果及分析说明
如图所示,功能正常
实验8累加器设计
·实验目的
1.掌握时序逻辑电路的基本分析和设计方法;
电路框图:
3代码文件:
Task5.v
4仿真结果:
5下载情况:
模式0,clk用键8手动输入,in用键6输入,reset键7,out输出采用译码器1。
功能正确无误。
·思考题
1.如果本实验内容要求输入序列不可以重复使用,所设计的序列检测器会不会变得更复杂?情说明原因。
答:如果按照我的设计思路,采用状态机设计或者是采用移位寄存器,都不会让实现变复杂。
答:
优点
缺点
门级
逻辑清楚,逻辑单元数目清晰可见,节省资源与空间
代码过长,效率不高,对于复杂的状态机问题很难实现
2.原理说明和框图
对于门级,直接按下面的图搭即可。
对于行为级,由功能表:
0
0
1
1
可以得到时序逻辑 ,然后就可以用行为级来描述。
3.代码文件清单
task31.v
task32.v
4.仿真结果及分析说明
行为级:
由上图看出,该触发器的逻辑行为正常,clr端可以正常控制复位。
门级:
5.下载情况
行为级:
用模式6,时钟clk用pin28,clr用键4,D输入端用键3,Q1输出采用D1灯管表示,Q2输出用D2表示。功能正常。
8位超前进位加法器
Total logic elements 16/5980
Total logic elements 32/5980
从速度上来比较,可以从仿真波形来看,8位逐次进位加法器出现了更多的延迟,而超前进位加法器从速度上快了很多,减少了几个ns的延迟。
5.下载情况
用模式1,输入与输出按键和显示的设计同上。功能正常。
3.代码文件清单
Dts.v
Adder.v
Task41.v
4.仿真结果及分析说明
由仿真结果知该累加器功能正常。
5.下载情况
采用模式0,clk用自带的pin28,clr用键7,en使能端用键8,co进位输出用D1表示,输入in用键1,输出用译码器5.经过验证功能正确。
相关文档
最新文档