[VIP专享]EDA 实验2简单分频时序逻辑电路设计 实验报告
EDA实验报告二
实验三分频器一.实验目的1.设计几个实验要求分频器,并在实验箱上面实现;2.熟悉分频器的功用。
二.所用器件EDA实验箱、EP1K10TC100-3器件。
三.实验说明本实验主要是设计几个分频数值不同的分频器,并在实验板上面观察分频的结果显示。
虽然实验箱频率为多种,而实际使用的时候一个系统最好使用一个时钟,而系统中使用的其他各种频率需要在系统内部用分频器来产生,所以分频器是以后进行各种实验的关键。
本次实验主要用quatusII 的软件示波器来观察分频后的波形。
四.实验要求1.设计一个2 分频器,观察实验结果;2.设计一个28分频器,观察实验结果;3.设计一个210分频器,观察实验结果,并与上面一步的实验结果比较;三个分频器的源程序如下:Library IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY div ISPORT(CLK:IN STD_LOGIC;DIV1024CLK:OUT STD_LOGIC;DIV256CLK:OUT STD_LOGIC;DIV2CLK:OUT STD_LOGIC--2);END;ARCHITECTURE BEHA V OF div ISSIGNAL DIV256CLKTEMP,DIV1024CLKTEMP,DIV2CLKTEMP:STD_LOGIC;BEGINPROCESS(CLK)V ARIABLE DIV1C:STD_LOGIC_VECTOR(1 DOWNTO 0) ;V ARIABLE DIV512C,DIV128C:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENDIV128C:=DIV128C+1;DIV512C:=DIV512C+1;DIV1C:=DIV1C+1;IF DIV128C=128 THENDIV256CLKTEMP<=NOT DIV256CLKTEMP;DIV128C:=(OTHERS=>'0');END IF;IF DIV512C=512 THENDIV1024CLKTEMP<=NOT DIV1024CLKTEMP;DIV512C:=(OTHERS=>'0');END IF;IF DIV1C=1 THENDIV2CLKTEMP<=NOT DIV2CLKTEMP;DIV1C:=(OTHERS=>'0');END IF;END IF;DIV256CLK<=DIV256CLKTEMP;DIV1024CLK<=DIV1024CLKTEMP;DIV2CLK<=DIV2CLKTEMP;END PROCESS;END BEHA V;五.实验结果:仿真显示如下:实验四 8位数码管扫描显示一、实验目的1.学习功能集成的设计方法;2.设计8位扫描数码显示器。
时序逻辑实验报告
时序逻辑实验报告时序逻辑实验报告引言:时序逻辑是计算机科学中的重要概念,它描述了事件在时间上的顺序和发生关系。
在本次实验中,我们将探索时序逻辑的基本原理,并通过实际的电路设计和仿真来加深对其理解。
实验一:时钟信号的生成和分频时钟信号是时序逻辑中的基础,它提供了时间参考,使得电路中的各个元件能够按照特定的时间序列进行操作。
在本实验中,我们首先学习了如何通过计数器和分频器生成时钟信号。
通过调整分频器的参数,我们可以得到不同频率的时钟信号,并观察其对电路行为的影响。
实验二:时序逻辑电路的设计在本实验中,我们将学习如何设计时序逻辑电路。
时序逻辑电路通常由触发器、计数器、状态机等组成,它们能够根据输入信号的变化产生不同的输出。
我们将通过实际的案例来展示时序逻辑电路的设计过程,并使用仿真工具验证其正确性。
实验三:状态机的设计和实现状态机是时序逻辑中常用的模型,它描述了系统根据输入信号的变化而转换的状态。
在本实验中,我们将学习如何设计和实现状态机。
通过定义状态和状态转换条件,我们可以将复杂的系统行为转化为简单的状态转换图,并通过电路实现这些状态转换。
实验四:时序逻辑电路的故障排查时序逻辑电路的故障排查是电子工程师日常工作中的重要环节。
在本实验中,我们将学习如何通过逻辑分析仪和示波器等工具来排查时序逻辑电路的故障。
通过观察信号波形和逻辑分析结果,我们可以确定故障的原因,并采取相应的修复措施。
实验五:时序逻辑电路的应用时序逻辑电路在计算机科学和电子工程中有着广泛的应用。
在本实验中,我们将学习一些时序逻辑电路的典型应用,如计数器、时序多路复用器等。
通过实际的案例,我们可以更好地理解时序逻辑电路在实际系统中的作用和价值。
结论:通过本次实验,我们深入了解了时序逻辑的基本原理和应用。
我们学习了时钟信号的生成和分频,掌握了时序逻辑电路的设计和实现方法,学会了使用工具进行故障排查。
时序逻辑在现代电子系统中起着重要的作用,通过实验的学习,我们对其有了更深入的理解和应用能力。
EDA分频器设计.doc
电子信息学院实验报告书评语:学习态度:【很好】【一般】【较差】程序编写:【完整】【部分完整】【不完整】得出结论:【正确】【部分正确】【不正确】报告书写:【规范】【一般】【不规范】成绩:指导教师:批阅时间:图2.2占空比为0.25的8分频电路模型如图2.3所示,有一个脉冲端口 (clk ),和一个输出端口 (k1 )。
图2.1占空比为0.5的3分频电路仿真结果如图 2.2所示,k_or 输出波形的周期为 3倍,且占空比为 50%。
clk 脉冲的周期的EEH Cl i [5r\IE£E^-TlCT.|£i.iuLirt Lrti|Mjmii图2.3占空比为0.25的8分频电路仿真结果如图 2.4所示,k1输出波形的周期为elk脉冲的周期的8倍,且占空比为25%|Q IhlUB [5K CLh £5r\IE£EC^BEIE<L hEJdhJE JX frtfia Jj'-MidL i [i,d4irr ^1*□序T7 … a S c M. Q / . X K H* K ・耳也c 上杆芮轉-■?阁r<»; z n 1 «ar $ 白产*1 • II N * 卫血,* ™*pEft w—**_____ ■F* ejHRi旺s —J [賈y ]厲tM.1 ] ■—11 ■| .JmUuifiThhv !.■ ■ Lbtr ETT・i” vE [ST SavaJvLM:faasras Kijhr L33l^ifld ClECHLt L&±l3feL^l!ai: JDI. pUE«ni.图2.44、结果分析与实验体会经过本次实验,我对用xlinx软件进行EDA设计有了进一步的认识和理解,经过上一次的实验,I这一次可以说是轻车熟路,尽管如此,在实验过程中还是遇到了很多问题,但在同学和老师的帮助下,这些问题都一一解决。
EDA分频器实验报告 含有实验程序、仿真图像 三分频 八分频
if(!rst_n) begin
t2<=0;
k2<=0;
end
else begin
if(t2==2'b10) begin
t2<=0;
k2<=k2;
end
else begin
t2<=t2+1;
k2<=!k2;
end
end
end
assign clk_out=k1|k2;
endmodule
2、八分频器程序:
moduleba(inclk,tick);
output tick;
input inclk;
reg [1:0] t;
reg tick;
always @ (posedge inclk)
begin
if(t==3)
begin
tick =~tick;
t=0;
end
else t=t+1;
end
endmodule
五、实验仿真波形
六、实验总结和感想
通过这次实验我对PLD的设计流程有了更深的感触,明白了其设计的一般步骤及方法,为以后的Quartus Ⅱ的综合设计奠定了基础。同时,对于分频器程序的编写有了更深的认识,这能更好的促进我们以后的理论学习。实验过程中也必须本着不骄不躁、耐心严谨,否则容易出错而达不到实验要求。
三、实验内容
1、根据要求设计三分频器、八分频器。
2、对设计的分频器进行波形仿真分析。
四、三位、八位简易频率计程序
1、三分频器程序
modulesan(clk_in,rst_n,clk_out);
input clk_in;
时序电路实验报告
实验5时序电路实验预习实验报告疑问:1、时序电路的组成原理和控制原理分别是什么?2、计算机中的周期,节拍和脉冲之间有什么关系?实验报告一、波形图:参数设置:Endtime:2.0us Gridsize:25.0ns信号设置:clk:时钟信号,设置周期为25ns占空比为50%。
reset: 重置信号,用于清除当前状态机的状态,二进制输入,高电平有效。
qd:启动信号,用于启动状态机,二进制输入,低电平有效。
tj:停机控制信号,用于使状态机保持当前状态,二进制输入,高电平有效。
dp:单拍执行信号,用于使状态机输出且仅输出一次脉冲,二进制输入,高电平有效。
t1,t2,t3,t4:节拍脉冲信号,二进制输出,高电平时有效。
仿真波形1.初始状态(0-25ns):reset=1,qd=1,tj=0,dp=0,此时为初始化状态,无输出;2.启动(25-550ns):保持reset=0,使qd=0,则四个节拍脉冲依次有效;3.停机(550-650ns):保持tj=1,则节拍脉冲停留在t2的状态;4.单拍(650-1000ns):恢复tj,使dp=1,则经过一个周期的节拍脉冲后不在产生节拍脉冲;5.单拍(1000-1750ns):使qd=0再次启动状态机,保持dp=1,则输出一个周期的节拍脉冲后将不再有节拍脉冲输出,在单拍状态为结束时再次使qd=0,启动状态机,最后恢复dp,也不再有节拍脉冲出现,此时,节拍的出现主要由qd来控制。
6.重置(1750-2000ns):使reset=1,此时,所有状态都恢复到初始值。
结论:本实验的设计能正确实现模拟状态机的重置,启动,停机,单拍功能,故电路设计正确。
二、实验日志预习疑问解答:1、 时序电路的组成原理和控制原理分别是什么?答:各种计算机的时序电路不同,但基本结构一样。
时序电路实验的功能就是产生一系列的节拍点位和节拍脉冲,它一般由时钟脉冲源,时序信号产生电路,节拍脉冲和读写时序译码逻辑,启停控制电路等部分组成。
时序实验实验报告
一、实验目的1. 掌握时序逻辑电路的基本原理和设计方法。
2. 熟悉常用时序逻辑电路器件的结构和功能。
3. 培养实际操作能力,提高电路设计水平。
二、实验原理时序逻辑电路是指输出不仅与当前输入有关,还与过去输入有关,即电路的输出状态具有记忆功能的电路。
本实验主要涉及同步计数器和寄存器的设计与测试。
三、实验设备1. 数字电子实验箱2. 示波器3. 信号发生器4. 74LS163、74LS00、74LS20等集成器件四、实验内容1. 设计一个4位同步计数器,实现二进制加法计数功能。
2. 设计一个8位同步寄存器,实现数据的暂存和传送功能。
五、实验步骤1. 4位同步计数器设计(1)根据计数器功能要求,列出状态转换表。
(2)根据状态转换表,画出状态转换图。
(3)根据状态转换图,画出电路图。
(4)将电路图连接到实验箱上,并进行调试。
(5)观察计数器输出,验证计数功能是否正确。
2. 8位同步寄存器设计(1)根据寄存器功能要求,列出数据输入、保持、清除和输出控制信号的真值表。
(2)根据真值表,画出电路图。
(3)将电路图连接到实验箱上,并进行调试。
(4)观察寄存器输出,验证寄存功能是否正确。
六、实验结果与分析1. 4位同步计数器实验结果经过调试,4位同步计数器能够实现二进制加法计数功能。
观察计数器输出,验证计数功能正确。
2. 8位同步寄存器实验结果经过调试,8位同步寄存器能够实现数据的暂存和传送功能。
观察寄存器输出,验证寄存功能正确。
七、实验总结本次实验,我们通过设计4位同步计数器和8位同步寄存器,掌握了时序逻辑电路的基本原理和设计方法。
在实际操作过程中,我们提高了电路设计水平,培养了实际操作能力。
八、实验心得1. 在设计时序逻辑电路时,要充分理解电路功能要求,合理选择器件,确保电路能够实现预期功能。
2. 在调试过程中,要仔细观察电路输出,发现问题及时解决。
3. 通过本次实验,我们对时序逻辑电路有了更深入的了解,为今后学习和实践打下了基础。
时序电路的设计实验报告
时序电路的设计实验报告时序电路的设计实验报告引言:时序电路是数字电路中的一种重要类型,它在各种电子设备中都有广泛应用。
本实验旨在通过设计一个简单的时序电路,来加深对时序电路原理和设计方法的理解。
实验目的:1. 理解时序电路的基本原理和工作方式;2. 掌握时序电路的设计方法;3. 通过实际设计和调试,提高电路设计和故障排除的能力。
实验器材和元件:1. 逻辑门集成电路(例如74LS00、74LS04等);2. 触发器集成电路(例如74LS74等);3. 电阻、电容、开关等辅助元件;4. 示波器、数字信号发生器等测试设备。
实验原理:时序电路是根据输入信号的时序关系来控制输出信号的电路。
它通常由触发器、计数器、多路选择器等组成。
触发器是时序电路的基本组成单元,它能够存储和传递数据,并且根据时钟信号的变化来改变输出状态。
实验步骤:1. 根据实验要求,确定时序电路的功能和输入输出要求;2. 根据功能要求,选择合适的逻辑门和触发器进行电路设计;3. 根据设计原理,绘制电路原理图;4. 按照原理图,进行电路的布线和焊接;5. 使用数字信号发生器提供输入信号,通过示波器观察输出信号;6. 调试电路,确保电路按照设计要求正常工作;7. 对电路进行性能测试和稳定性测试;8. 记录实验数据和观察结果;9. 分析实验结果,总结电路设计中的问题和经验。
实验结果:经过设计和调试,本次实验成功实现了所要求的时序电路功能。
输入信号经过时序电路处理后,输出信号按照预期的时序关系变化。
实验数据表明,电路的稳定性和性能良好。
实验总结:通过本次实验,我深入了解了时序电路的原理和设计方法。
在实际操作中,我遇到了一些问题,例如电路布线不当导致信号干扰、触发器的选择不合适等。
通过调试和修改,我逐渐解决了这些问题,并获得了宝贵的经验。
同时,我也意识到了时序电路设计的重要性,它直接影响到整个电子设备的性能和稳定性。
未来展望:时序电路是数字电路中的基础知识,我将继续深入学习和研究相关内容。
EDA实验报告 (2)
实验一QUARTUS II软件安装、基本界面及设计入门一、实验目的:QUARTUSII是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一。
提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSII软件的安装,基本界面及基本操作,并练习使用QUARTUS的图形编辑器绘制电路图。
二、实验内容:1、安装QUARTUSII软件;2、熟悉QUARTUSII基本界面及操作;3通过一个4位加法器的设计实例来熟悉采用图形输入方式进行简单逻辑设计的步骤。
三、实验仪器:1、PC机一台;2、QUARTUSII软件;3、EDA实验箱。
四、实验原理:4位加法器是一种可实现两个4位二进制数的加法操作的器件。
输入两个4位二进制的被加数A和B,以及输入进位Ci,输出为一个4位二进制和数D和输出进位数Co。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C。
全加器有3位输入,分别是加数A、B和一个进位Ci。
将这3个数相加,得出本位和数(全加和数)D和进位数Co。
全加器由两个半加器和一个或门组成。
五、实验步骤:安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
设计半加器:在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由下至上分级输入,使用QuartusIIGraphic Editor进行设计输入的步骤如下。
(1)、打开QUARTUSII软件,选择File-new project wizard…新建一个设计实体名为has的项目文件;(2)、新建文件,在block.bdf窗口下添加元件符号,并连接。
如下图:半加器原理图(3)、将此文件另存为has.gdf的文件。
(4)、在主菜单中选择Processing→Start Compilation命令,系统对设计进行编译,同时打开Compilation Report Flow Summary窗体,Status视图显示编译进程。
eda 时序逻辑电路实验报告
实验报告姓名:吴克亮学号:1053305016班级:电气一班一、实验名称:组合逻辑电路设计二、实验目的:1、掌握用VHDL 语言和EPLD 进行组合逻辑电路的设计方法。
2、加深对EPLD 设计全过程的理解。
三、实验要求学习常用组合逻辑的可综合代码的编写,学习VHDL语言的编程思想与调试方法,学习通过定制LPM元件实现逻辑设计,通过波形仿真设计的正确与否。
四、实验设备:MAX+plus 2五、实验步骤:1、采用文本编辑器输入VHDL 语言源程序,建立工程。
2、编译。
3、仿真。
4、对芯片进行编程。
5、根据管脚分配情况连线。
实验程序:LIDRART IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PAN4_5 ISPORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0); y:OUT STD_LOGIC);END PAN4_5;ARCHITECTURE DEHA OF PAN4_5 ISSIGNAL DATAIN:INTEGER;BEGINDA TA<=CONV_INTEGER(D);PROCESSBEGINIF(DATAIN>=5)THENY<='1';ELSEY<='0';END PROCESS;END DEHA;编译结果编译通过后进行波形仿真实验心得体会做完EDA实验,我感到受益匪浅。
这不仅使我了解了EDA 的实验系统,学习了MAX+PLUSⅡ软件的使用,掌握了基本的电路设计流程、方法以及技巧,更增强了我对EDA设计的兴趣。
在实验的过程中,老师又结合实际详细的教了我们VHDL 语言的基本指令及编程方法,教我们熟悉了在PC机上运用MAX+PLUSⅡ软件和EPLD进行电路设计的设计和仿真过程。
时序逻辑电路实验报告
时序逻辑电路实验报告时序逻辑实验报告(时序逻辑实验报告1)。
实验目的1。
掌握同步计数器的设计方法和测试方法。
2掌握常用积分计数器的逻辑功能和使用方法。
第二,lshd数字信号盒。
该计数器不仅可用于计数,还可用于分频、定时和数字运算。
在实际工程应用中,很少使用小型触发器构成计数器,而直接使用中型集成计数器。
2(1)四位二进制计数器74ls161?74lsl61是具有同步设置和异步清除功能的4位二进制加法计数器。
其功能表如下表所示。
74ls163是一个4位二进制加法计数器,具有同步设置和同步清除功能。
其他函数与74lsl61相同,区别在于删除是同步的。
此图显示两个管脚的外部示意图。
表74lsl61功能表3。
应用集成计数器实现了正常情况下的任意一种计数器。
任何玛丽计数器的结构都可以分为三种类型。
第一种类型是由触发器组成的简单计数器。
第二种类型由一个集成的二进制计数器组成。
第三种类型是移位寄存器,它由移位寄存器组成。
在第一类中,您可以使用顺序逻辑电路进行设计。
在第二类中,当计数器的模数m较小时,可以通过积分计数器来实现。
当m较大时,可以通过级联多个计数器来实现。
实现方法有两种:反馈设置法和反馈清除法。
第三种类型是移位寄存器计数器,它由移位寄存器组成。
4实验电路:十进制计数器同步清除法、同步设定法、六边形回路输出、六边形分频电路图74ls161外部引脚图4。
实验内容及步骤?1。
综合计数器实验?根据电路图,使用介质集成计数器74ls163和“与非门74ls00”连接十进制计数器的同步设置或同步清零,输出连接到数码管或LED。
然后以单个脉冲作为触发输入,观察数码管或发光二极管的变化,记录电路的计数过程和状态转换规律。
根据电路图,用D触发器74ls7474构成一个六边形扭环计数器,输出端还连接到数码管或发光二极管上。
然后用单个脉冲作为触发输入,观察数码管或LED的变化,记录电路计数过程和状态转换规律。
注意观察电路是否能自动启动,否则不能将电路设置为有效状态。
EDA 实验2简单分频时序逻辑电路设计 实验报告
时序电路设计实验目的:1.掌握条件语句在简单时序模块设计中的使用。
2.学习在Verilog模块中应用计数器。
实验环境:Windows 7、MAX+PlusⅡ10等。
实验内容:1.模为60的8421BCD码加法计数器的文本设计及仿真。
2.BCD码—七段数码管显示译码器的文本设计及仿真。
3.用For语句设计和仿真七人投票表决器。
4.1/20分频器的文本设计及仿真。
实验过程:一、模为60的8421BCD码加法计数器的文本设计及仿真:(1)新建文本:选择菜单File下的New,出现如图5.1所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。
图5.1 新建文本(2)另存为Verilog编辑文件,命名为“count60.v”如图5.2所示。
(3)在编辑窗口中输入程序,如图5.3所示。
图5.2 另存为.V编辑文件图5.4 设置当前仿真的文本设计图5.3 模为60的8421BCD码加法计数器的设计代码(4)设置当前文本:在MAX+PLUS II中,在编译一个项目前,必须确定一个设计文件作为当前项目。
按下列步骤确定项目名:在File菜单中选择Project 中的Name选项,将出现Project Name 对话框:在Files 框内,选择当前的设计文件。
选择“OK”。
如图5.4所示。
(5)打开编译器窗口:在MAX—plusⅡ菜单内选择Compiler 项,即出现如图5.5的编译器窗口。
图5.5 编译器窗口选择Start即可开始编译,MAX+PLUS II编译器将检查项目是否有错,并对项目进行逻辑综合,然后配置到一个Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件。
(6)建立波形编辑文件:选择菜单File下的New选项,在出现的New对话框中选择“Waveform Editor File”,单击OK后将出现波形编辑器子窗口。
(7)仿真节点插入:选择菜单Node下的Enter Nodes from SNF选项,出现如图5.6所示的选择信号结点对话框。
简单分频时序逻辑电路的设计
电子信息工程学系实验报告课程名称:微机原理与接口技术实验项目名:简单分频时序逻辑电路的设计实验时间:2012.10.9班级:通信姓名:陈小凡学号:实验目的:1、熟悉ALTERA公司EDA设计工具软件max+plusII的安装和工作环境。
2、熟练的使用max+plusII软件中的各按钮的操作和原理。
3、学习和掌握使用max+plusII软件进行文本设计(二分频的设计为例)。
实验环境:max+plusII软件Windows7系统实验内容及步骤:一、clk-in的二分频clk-out的文本设计1、打开实验的工作环境,界面如下:图(一)工作环境界面2、按屏幕上方的“新建文件”按钮,或选择菜单“File”→“New”,出现如图4.13所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。
其界面如图(二):图(二)选择文本3、在编辑窗口中输入在文本编辑窗口,输入Verilog语言,代码如下图(三)所示:其中字体的格式和大小均可在以上界面的上方的状态栏来改变。
成绩:指导教师(签名):图(三)二分频的always语句编辑代码4、在 File Name 对话框内输入设计文件名(如half-clk.v),然后选择 OK 即可保存文件。
在 File 菜单中选择 Save & Check项,检查设计是否有错误。
如果没有,在 File菜单中选择 Create Default Symbol 项,即可创建一个设计的符号。
在 MAX+PLUS II 菜单内选择Compiler 项。
则出现编译器窗口,如图(四)所示:图(四)检查文件显示可行选择 Start即可开始编译, MAX+PLUS II 编译器将检查项目是否有错,并对项目进行逻辑综合,然后配置到一个 Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件。
5、选择菜单“File”→“New”,在出现的“New”对话框中选择“Waveform Editor File”按“OK”后将出现波形编辑器,选择菜单“Node ”→“Enter Nodes from SNF”,出现如图所示的选择信号结点对话框。
EDA实验报告2
EDA 第二次试验报告一、实验目的:利用QuartusII 软件,采取VHDL 语言编程和LPM 实现的方式设计比较电路,从而熟悉硬件描述语言和LPM 元件定制。
二、实验设计方案: 1、原理说明:当输入两位二进制数A 和B ,设A=A2A1,B=B2B1。
首先从高位开始比较,即比较A2、B2大小。
若A2>B2,则输出F1为1;若A2<B2,则输出F2为1。
当A2=B2时,则再比较低位A1、B1大小,若A1=B1,则输出F3为1。
2、结构框图:三、实验过程:比较电路:设计一个能实现两个二位数比较的电路,如下图所示,根据A 数是否大于、小于、等于B 数,相应输出端F1、F2、F3为1,设 A=A2A1,B=B2B1,当A2A1>B=B2B1时,F1为1;A2A1<B=B2B1时,F2为1;A2A1=B=B2B1时,F3为1。
VHDL 实现:1、 新建工程所在的文件夹名称为bijiao 、工程名为bijiao 、顶层实体名称为bijiao ,之后再新建VHDL 文件,以下为其编译并通过的代码: library IEEE;use IEEE.std_logic_1164.all; entity bijiao is二位数据A二位数据BLPM 定制实现比较电路 VHDL 实现比较电路输出F1或F2或F3结果波形仿真验证硬件试验箱验证比较电路A2 A1 B2B1F1 F2 F3> < =port( a2,a1:in STD_LOGIC; b2,b1:in STD_LOGIC; f1,f2:buffer STD_LOGIC; f3:out STD_LOGIC); end bijiao;architecture bijiao_arch of bijiao is beginf1<=(a2 and(not b2)) or (a1 and(not b1)and a2) or (a1 and(not b1)and (not b2));f2<=(( not a2) and b2) or (( not a2) and ( not a1)and b1) or ((not a1) and b1 and b2);f3<=not( f1 or f2);end bijiao_arch;VHDL 分析调试工具RTL viewer:2、 新建波形文件进行波形仿真:功能仿真结果:a1.b1.c1a2'.b2a1'.a2'.b1a2'.b2a1.b1'a1.a2.b1'(a2’.b2)+(a2’.a1’.b1)+(a1’.b1.b2)a1.b1’.b2’(a2.b2’)+(a1.b1’.a2)+(a1.b1’.b2’)(f1+f2)’参数设置:输入数据A (a2a1)的参数设置:End Time :2.0 us Gard Size: 400ns 输入数据B (b2b1)的参数设置:End Time :2.0 us Gard Size: 100ns 信号A 、B 的属性:二进制 输出端属性:二进制图示结论:当A 输入为00时,若B 也为00,则f1f2f3显示结果为001,其表示f3为1,即A=B ;当A 输入为00时,若B 为01、10、11,则f1f2f3显示结果为010,其表示f2为1,即A=<B ;当A 输入为01时,若B 为00,则f1f2f3显示结果为100,其表示f1为1,即A>B ;时序仿真结果:当输入由某一种取值组合变成另一种取值组合时,由于竞争使得电路产生了与稳态输出不同的、暂时的错误输出,即为冒险。
EDA实验实验报告2
EDA实验实验报告学号:姓名:彭文勇院系:微电子技术系专业:嵌入式教师:李海2010年12月实验一一位全加器的设计实验地点:第二实验楼405同组人员:孙腾坤一、实验目的通过次实验我们逐步了解、熟悉和掌握FPGA开发软件Quartus II 的使用及Verilog HDL的编程方法。
学习用Verilog HDL语言以不同的方式来描述1位全加器及电路的设计仿真和硬件测试。
二、实验原理和内容本实验的内容是建立一个1位全加器。
具体内容包括:(1)使用Quartus II建立工程、编写程序;(2)进行波形仿真验证;(3)进行硬件测试。
通过SmartSOPC试验箱上的按键KEY1~KEY3输入信号,分别为A、B和cin,并通过LED1~LED3指示相应的状态。
输出Sum和cout通过LED7和LED8指示(灯亮表示输入或输出为“1”)。
三、实验步骤(1)启动Quartus II建立一个空白工程,然后命名为full_add。
(2)新建Verilog HDL源文件full_add.v,输入程序代码并保存,然后进行综合编译。
若在编译过程中发现错误,则找出并更正错误,直至编译成功为止,并生成图形符号文件full_add.bdf。
(3)波形仿真验证。
(4)新建图形设计文件命名为full_add.bdf并保存。
微电子技术系(5)选择目标器件并对相应的引脚进行锁定,我们选Altera公司Cyclone系列的EP1C6Q240C8芯片,引脚锁定方法参考实验书后面的附录A引脚分配。
将为使用的引脚设置为三态输入(一定要设置否则可能损坏芯片)。
(6)将full_add.bdf设置为顶层实体。
对该工程文件进行全程便已处理。
若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
(7)将跳线短接帽调解到JP6的KEY1~KEY3、LED0~LED2、LED6和LED7,使KEY1~KEY3、LED1~LED3、LED7、LED8与芯片对应的引脚相连。
EDA实验报告时序电路
专用集成电路设计实验报告实验78 时序逻辑的特性姓名:***学号:**********班级:电科1301指导老师:***1、实验目的理解CMOS静态传输门寄存器的结构和时序特性。
了解SPICE仿真模型、门级(RTL级)仿真模型、电路综合模型之间的区别。
2、实验内容静态CMOS传输门主从正沿触发寄存器的结构如下图所示。
a)描述其工作原理。
b)设使用0.25um工艺,NMOS管的尺寸为L = 0.250um,W =0.375um;PMOS管的尺寸为L = 0.250um,W = 1.125um。
仿真反相器和传输门的延时。
c)计算寄存器的建立时间、保持时间、传播延时。
d)根据(c)中计算出的时序特性参数,调整D和CK之间的相位关系,使用SPICE分别仿真D的变化满足建立时间要求、不满足建立时间要求、满足保持时间要求、不满足保持时间要求的情况。
答:a)工作原理:当时钟处于低电平时(CLK=0),T1导通T2关断,输入D被采样到节点Qm上。
在此期间,T3和T4分别关断和导通。
交叉耦合的反相器(I5,I6)保持从锁存器的状态。
当时钟上升到高电平时,主级停止采样输入并进入维持状态。
T1关断T2导通,交叉耦合的反相器I2和I3保持Qm状态。
同时,T3导通T4关断,Qm被复制到输出Q上。
b)反相器延时:仿真波形图如图1.1所示。
图1.1 反相器延时仿真波形图Measure输出文件为:$DATA1 SOURCE='HSPICE' VERSION='U-2003.09 '.TITLE '*dai78_1object'invt1dlay invt2dlay temper alter#2.795e-11 1.937e-11 25.00001.0000输入下降延时:2.795e-11s输入上升延时:1.937e-11s(这里及以下计算的都是50%——50%延时)传输门:仿真波形如图1.2所示这里设置传输门的C端(Nmos的栅极)为高电平,输入A为脉冲信号,测试B端输出的延时。
EDA设计2实验报告
EDA设计(2)---多功能数字钟设计1 设计要求1.1设计一个基本的计时、计星期的数字时钟1.2能够进行正常的星期、时、分、秒的计时功能;1.3 由七个数码管显示,从左到右分别为时十位、时个位、分十位、分个位、秒十位、秒个位、星期;星期为1、2、3、4、5、6、7来表示周一到周日;1.2.3 计时电路的开关分配(1)k1是计时电路的使能开关(k1=0正常计时,k1=1时钟保持);(2)k2是计时电路的清零/秒表清零/闹钟定时清零复用开关(在不同的模式显示下,k2=0时正常计,k2=1时清零);(3)k3是计时电路的校分/闹钟电路定分复用开关(k3=0正常计时,k3=1进行校分);(4)k4是计时电路的校时/闹钟电路定时复用开关(k4=0正常计时,k4=1进行校时);(5)k5是计时电路的校星期/闹钟电路定星期复用开关(k5=0正常计时,k5=1进行校星期);(6)k7为闹钟开关,k6是基本计时电路、闹钟的显示选择开关{k6=0显示基本计时模式;k6=1显示设定的闹钟时间(由k3、k4、k5分别设定),但闹钟的开关k7=1时闹钟才进入闹钟模式};1.2.4整点报时功能(当时钟计到59分53秒、55秒、57秒时报时频率为500hz,59秒报时频率为1Khz);2 设计原理多功能数字时钟的整体框图如图由脉冲发生电路产生数字钟所需的各种频率。
根据要求设计出基本计时和闹钟,通过模式选择开关进行切换。
其中,基本计时部分设计校分、校时、保持、校星期、报时和清零等电路。
闹钟设计定时。
最后报时、1分钟闹钟电路通过蜂鸣器输出,基本计时、闹钟电路在数码管动态显示。
基本计时电路校分校时 保持校星期报时 清零闹钟电路1分钟延时定时译码显示电路蜂鸣器分频电路 K1~k7消颤开关2.1基本计时电路原理通过分频电路来构成脉冲发生电路,将实验箱48Mhz分成基本计时电路所需的各种脉冲。
基本计时电路由模60、模24和模7计数器组成。
(完整word版)EDA实验报告完整版
数字系统设计基础实验报告实验名称: 1.组合电路设计___2.失序电路设计___3.计数器的设计___4.原理图设计加法器学号: ___ ********__ ____**: ___ **_______班级: __ 计科09-1班_____老师: __ ______中国矿业大学计算机学院2011年10月27日一.实验一: 组合电路的设计二.实验目的三.熟悉QuartusⅡ的VHDL文本设计流程全过程, 学习简单组合电路的设计、仿真和硬件测试。
四.实验任务任务1: 利用QuartusⅡ完成2选1多路选择器的文本编辑输入和仿真测试等步骤, 得出仿真波形。
最后在试验系统上进行硬件测试, 验证本项设计的功能。
五.任务2: 将此多路选择器看成是一个元件mux21a, 利用元件例化语句描述电路图, 并将此文件放在同一目录中。
六.对于任务中的例子分别进行编译、综合、仿真, 并对其仿真波形作出分析说明。
七.实验过程1.新建一个文件夹, 取名CNT10。
2.输入源程序。
3.文件存盘, 文件名为cnt10, 扩展名为.vhd。
八.创建工程, 按照老师要求对软件进行设置。
九.进行失序仿真, 得到仿真图形。
十.实验程序任务1:entity CNT10 ISport (a,b,s:in bit;y:out bit);end entity CNT10;architecture one of CNT10 isbeginprocess (a,b,s)if s='0' then y<=a; else y<=b;end if;end process;end architecture one;任务2:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUXK ISPORT (s0,s1: in STD_LOGIC;a1,a2,a3: in STD_LOGIC;outy: out STD_LOGIC );END ENTITY MUXK;ARCHITECTURE double OF MUXK ISSIGNAL tmpout,tmp:STD_LOGIC;BEGINu1: PROCESS(s0,a2,a3,tmp)BEGINIF s0='0' then tmp<=a2;else tmp<=a3;END IF ;END PROCESS u1 ;u2: PROCESS(s1,a1,tmp,tmpout)BEGINIF s1='0' then tmpout<=a1;else tmpout<=tmp; END IF ;END PROCESS u2 ;outy<=tmpout;END ARCHITECTURE double;十一.实验结果任务1:任务2:十二.实验体会在课堂上对于“EDA与VHDL”这门课的用处及用法一直一知半解, 课上对于一些编程也是学的很模糊, 因为学习过模拟电路与数字电路, 所以总认为器件仿真要用电脑模拟器件或者直接用实物, 但是通过本次实验对QuartusⅡ的初步接触, 了解了其功能的强大。
EDA实验报告
EDA实验报告一、实验目的本次 EDA 实验的主要目的是熟悉电子设计自动化(EDA)软件的使用,掌握数字电路的设计、仿真和实现流程,提高对数字逻辑电路的理解和设计能力。
二、实验设备与环境1、计算机一台2、 EDA 软件(如 Quartus II 等)三、实验原理1、数字逻辑基础数字电路中的基本逻辑门包括与门、或门、非门、与非门、或非门等。
通过这些基本逻辑门的组合,可以实现各种复杂的数字逻辑功能。
2、组合逻辑电路组合逻辑电路的输出仅取决于当前的输入,不存在存储单元。
常见的组合逻辑电路有加法器、编码器、译码器等。
3、时序逻辑电路时序逻辑电路的输出不仅取决于当前的输入,还与电路的过去状态有关。
常见的时序逻辑电路有计数器、寄存器等。
四、实验内容1、设计一个简单的加法器使用基本逻辑门设计一个两位加法器,输入为两个两位的二进制数A 和 B,输出为它们的和 S 以及进位 C。
2、设计一个 4 位计数器实现一个 4 位的计数器,能够在时钟信号的上升沿进行计数,计数范围为 0 到 15。
3、设计一个数码管显示译码器将输入的 4 位二进制数转换为数码管的 7 段显示编码,实现数字 0 到 9 的显示。
五、实验步骤1、加法器设计(1)打开 EDA 软件,创建一个新的项目。
(2)使用原理图输入方式,绘制出加法器的逻辑电路图,包括两个半加器和一个或门。
(3)对设计进行编译,检查是否存在语法错误。
(4)创建仿真文件,设置输入信号的激励,进行功能仿真,观察输出结果是否符合预期。
2、计数器设计(1)在项目中新建一个模块,使用 Verilog HDL 语言描述计数器的功能。
(2)编写测试代码,对计数器进行仿真验证。
(3)将计数器下载到硬件开发板上,通过观察实际的输出结果验证其功能。
3、数码管显示译码器设计(1)同样使用原理图输入方式,设计数码管显示译码器的逻辑电路。
(2)进行编译和仿真,确保译码器的功能正确。
(3)将译码器与计数器连接起来,实现数码管的动态显示。
EDA实验报告2
实验二模十状态机与7段译码器显示一、实验目的:通过设计频率可选的模十状态机以及7段译码电路以进一步掌握VHDL硬件描述语言。
二、实验流程:本设计有分频器、多路选择器、状态机和译码器。
时钟输入作为分频器的输入,输出时钟分别为2分频、4分频、8分频和16分频;四个频率的时钟信号由4选1的多路选择器选择其中之一作为状态机的时钟输入;使用选中的时钟频率作为输入驱动状态机按照以下的次序输出:0->2->5->6->1->9->4->8->7->3->0的顺序输出;使用此输出作为驱动输入到7段译码器的显示逻辑。
(可以参考课本125页程序)对本程序进行编译,编译成功,编译报告如下图所示:功能仿真结果:总体仿真结果RST有效和二分频结果四分频结果八分频结果十六分频结果实验结果分析:通过上面的功能仿真,可以看出本例实现了一个频率可选的模十状态机,并且通过七段译码器显示输出逻辑。
在本例中,时钟输入作为分频器的输入,分频器的四个输出端分别为2分频、4分频、8分频和16分频;四个频率的时钟信号由4选1的多路选择器选择其中之一作为状态机的时钟输入;使用选中的时钟频率作为输入驱动状态机按照以下的次序输出:0->2->5->6->1->9->4->8->7->3->0的顺序输出;使用此输出作为驱动输入到7段译码器的显示逻辑。
在功能仿真的波形图中,可以看出,随着sel信号(多路选择器的控制输入端)的不同,输入的时钟信号的频率不同。
在选中的时钟频率下,状态机按照0->2->5->6->1->9->4->8->7->3->0的顺序输出。
在sel信号为00时,时钟频率为二分频,即看到一个完整的状态需要两个完整的时钟周期。
在sel信号为01时,时钟频率为四分频,看到一个完整的状态需要经历四个完整的时钟周期;当sel为10时,时钟频率为八分频,看到一个完整的状态信号需要八个完整的时钟周期;当sel为11时,时钟频率为十六分频,看到一个完整的状态信号需要十六个完整的时钟周期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时序电路设计
实验目的:
1.掌握条件语句在简单时序模块设计中的使用。
2.学习在Verilog模块中应用计数器。
实验环境:
Windows 7、MAX+PlusⅡ10等。
实验内容:
1.模为60的8421BCD码加法计数器的文本设计及仿真。
2.BCD码—七段数码管显示译码器的文本设计及仿真。
3.用For语句设计和仿真七人投票表决器。
4.1/20分频器的文本设计及仿真。
实验过程:
一、模为60的8421BCD码加法计数器的文本设计及仿真:
(1)新建文本:选择菜单File下的New,出现如图5.1所示的对话框,在框中选中“Text Editor file”,按“OK”按钮,即选中了文本编辑方式。
图5.1 新建文本
(2)另存为Verilog编辑文件,命名为“count60.v”如图5.2所示。
(3)在编辑窗口中输入程序,如图5.3所示。
图5.2 另存为.V编辑文件图5.4 设置当前仿真的文本设计
图5.3 模为60的8421BCD码加法计数器的设计代码
(4)设置当前文本:在MAX+PLUS II中,在编译一个项目前,必须确定一个设计文件作为当前项目。
按下列步骤确定项目名:在File菜单中选择Project 中的Name选项,将出现Project Name 对话框:在Files 框内,选择当前的设计文件。
选择“OK”。
如图5.4所示。
(5)打开编译器窗口:在MAX—plusⅡ菜单内选择Compiler 项,即出现如图5.5的编译器窗口。
图5.5 编译器窗口
选择Start即可开始编译,MAX+PLUS II编译器将检查项目是否有错,并对项目进行逻辑综合,然后配置到一个Altera 器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件。
(6)建立波形编辑文件:选择菜单File下的New选项,在出现的New对话框中选择“Waveform Editor File”,单击OK后将出现波形编辑器子窗口。
(7)仿真节点插入:选择菜单Node下的Enter Nodes from SNF选项,出现如图5.6所示的选择信号结点对话框。
按右上侧的“List”按钮,在左边的列表框选择需要的信号结点,然后按中间的“=>”按钮,单击“OK”,选中的信号将出现在波形编辑器中。
图5.6 仿真节点插入
(8)输入波形设置,保存波形文件,
文本仿真:单击菜单File下的Save选项,
在弹出的窗口中将波形文件存在以上的同
一目录中,文件取名为count60.scf。
单击
MAX—plusⅡ菜单内选择Simulator选项,
单击Start,接着打开Open SCF(界面如
下图5.7所示),即完成计数器的波形仿真。
图5.7 Simulator仿真
二、BCD码—七段数码管显示译码器、七人投票表决器、1/20分频器的文本设计及仿真:
(1)新建文本:“File”→“New”,出现如图5.1所示的对话框,“Text Editor file”→“OK”。
(2)另存为Verilog编辑文件:分别命名为“decode4_7.v”、“voter7.v”、“fdivision..v”,与图5.2类似。
(3)在编辑窗口中分别输入各自相应的程序代码,分别如图5.8、图5.9、图5.10所示。
图5.8 BCD码—七段数码管显示译码器的设计代码
图5.9 七人投票表决器的设计代码图5.10 1/20分频器的设计代码
(4)设置当前文本:“File”→“Project”→“Name”,出现与图5.4类似的Project Name对话框:选择→“OK”。
(5)打开编译器窗口:在MAX—plusⅡ菜单内选择Compiler 项,单击Start。
与图5.5类似。
(6)建立波形编辑文件:选择菜单File下的New选项,在出现的New对话框中选择“Waveform Editor File”,单击OK后将出现波形编辑器子窗口。
(7)仿真节点插入:选择菜单Node下的Enter Nodes from SNF选项,单击“List”按钮,再单击中间的“=>”按钮,插入仿真节点。
单击“OK”,选中的信号将出现在波形编辑器中。
与图5.6类似。
(8)输入波形设置,保存波形文件,文本仿真:单击菜单File下的Save选项,在弹出的窗口中将波形文件存在以上的同一目录中,文件分别取名为decode4_7.scf、voter7.scf、fdivision.scf。
单击MAX—PlusⅡ菜单内选择Simulator选项,单击Start,接着打开Open SCF(界面与图5.7类似),即完成对以上实验的波形仿真。
实验结果及分析:
一、模为60的8421BCD码加法计数器实验的仿真结果,如下图5.11所示:
图5.11 模为60的8421BCD码加法计数器仿真波形窗口二、BCD码—七段数码管显示译码器实验的仿真结果,如下图5.12所示:
图5.12 BCD码—七段数码管显示译码器仿真波形窗口三、七人投票表决器实验的仿真结果,如下图5.13、图5.14所示:
图5.13 七人投票表决器仿真波形窗口(不通过)
图5.14 七人投票表决器仿真波形窗口(通过)四、1/20分频器的仿真结果,如下图5.15所示:
图5.15 1/20分频器仿真波形窗口
实验心得:
通过本次计数器、译码器、表决器及1/20分频器的文本设计和仿真的实验,巩固了用MAX+PlusⅡ
完成Verilog语言的文本设计和仿真的基本流程。
掌握条件语句、循环语句在简单时序模块设计中的使用。