EDA 实验2简单分频时序逻辑电路设计 实验报告

合集下载

EDA实验报告二

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实验报告

EDA实验报告

EDA 实验报告实验一:组合电路的设计实验内容是对2选1多路选择器VHDL 设计,它的程序如下:ENTITY mux21a ISPORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ;END ARCHITECTURE one ;Mux21a 仿真波形图以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。

mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。

Mux21a 结构体可以看成是元件的内部电路图。

最后是对仿真得出的mux21a 仿真波形图。

Mux21a 实体Mux21a 结构体实验二:时序电路的设计实验内容D触发器的VHDL语言描述,它的程序如下:LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF1 ISPORT (CLK : IN STD_LOGIC ;D : IN STD_LOGIC ;Q : OUT STD_LOGIC );END ;D触发器ARCHITECTURE bhv OF DFF1 ISBEGINPROCESS (CLK)BEGINIF CLK'EVENT AND CLK = '1'THEN Q <= D ;END IF;END PROCESS ;END bhv;D触发器的仿真波形图最简单并最具代表性的时序电路是D触发器,它是现代可编程ASIC设计中最基本的时序元件和底层元件。

EDA分频器实验报告 含有实验程序、仿真图像 三分频 八分频

EDA分频器实验报告  含有实验程序、仿真图像  三分频  八分频
always @(negedge clk_in) begin
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;

EDA简单组合时序电路设计8分频

EDA简单组合时序电路设计8分频
奇数倍分频有两种实现方法,其中之一完全可以通过计数器来实现,如进行三分频,就可通过待分频时钟上升沿触发计数器来进行模三计数,当计数器计数到邻近值时进行两次翻转。比如可以在计数器计数到1时,输出时钟进行翻转,计数到2时再次进行翻转。这样,就在计数值邻近的1和2进行了两次翻转。如此便实现了三分频,其占空比为1/3或2/3。
比较器的输出端:
agb:输出a端信号与b端信号的比较值。
图2比较器模块仿真波形图
仿真结果说明:
当a端信号大于b端信号时,比如a为15而b为0时,输出端agb输出高电平信号“1”;反之,输出端agb输出低电平信号“0”。
always @ (posedge clk)
if(! rst)
begin
count <= 1'b0;
clk_odd <= 1'b0;
end
else
if ( count < N/4-1)
begin
count <= count + 1'b1;
clk_odd <= 1'b1;
end
else if (count < N/2-1)
4.实验步骤和程序分为三部分:一为基本步骤,二为程序流程图(也可以为算法的文字或公式说明)或状态图,三为程序源代码(可以不用全写,只写出关键部分的程序)及其说明。
5.实验结论和体会:一为实验结论,二为讨论当前设计的不足及其改进设想。
6.测试数据记录和结果分析:Verilog程序综合出来的RTL图(电路很复杂时不做要求);时序仿真结果(必备),可以抓图后打印出来贴在报告上,但必须对图里的结果有详细的文字说明。可参考以下案例格式写
#100;
#10 rst=1;

EDA实验报告

EDA实验报告

实验一:QUARTUS II 软件使用及组合电路设计仿真页脚内容1实验目的:学习QUARTUS II 软件的使用,掌握软件工程的建立,VHDL源文件的设计和波形仿真等基本内容。

实验内容:1.四选一多路选择器的设计基本功能及原理:选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。

四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)和s(1)及一个信号输出端y。

当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。

逻辑符号如下:页脚内容2程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:仿真结果如下图所示页脚内容3分析:由仿真图可以得到以下结论:当s=0(00)时y=a;当s=1(01)时y=b;当s=2(10)时y=c;当s=3(11)时y=d。

符合我们最开始设想的功能设计,这说明源程序正确。

2.七段译码器程序设计基本功能及原理:七段译码器是用来显示数字的,7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD 中实现。

本项实验很容易实现这一目的。

输出信号的7位分别接到数码管的7个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。

数码管的图形如下页脚内容4七段译码器的逻辑符号:程序设计:页脚内容5软件编译:在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。

仿真分析:仿真结果如下图所示:页脚内容6分析:由仿真的结果可以得到以下结论:当a=0(0000)时led7=1000000 此时数码管显示0;当a=1(0001)时led7=1111001 此时数码管显示1;当a=2(0010)时led7=0100100 此时数码管显示2;当a=3(0011)时led7=0110000 此时数码管显示3;当a=4(0100)时led7=0011001 此时数码管显示4;当a=5(0101)时led7=0010010 此时数码管显示5;当a=6(0110)时led7=0000010 此时数码管显示6;当a=7(0111)时led7=1111000 此时数码管显示7;当a=8(1000)时led7=0000000 此时数码管显示8;页脚内容7当a=9(1001)时led7=0010000 此时数码管显示9;当a=10(1010)时led7=0001000 此时数码管显示A;当a=11(1011)时led7=0000011 此时数码管显示B;当a=12(1100)时led7=1000110 此时数码管显示C;当a=13(1101)时led7=0100001 此时数码管显示D;当a=14(1110)时led7=0000110 此时数码管显示E;当a=15(1111)时led7=0001110 此时数码管显示F;这完全符合我们最开始的功能设计,所以可以说明源VHDL程序是正确的。

EDA实验报告 (2)

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 时序逻辑电路实验报告

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. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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语言的文本设计和仿真的基本流程。

掌握条件语句、循环语句在简单时序模块设计中的使用。

相关文档
最新文档