EDA实验报告-实验3计数器电路设计
计数器eda实验报告
计数器eda实验报告计数器EDA实验报告引言:计数器是数字电路中常见的基本模块之一,用于计算和记录输入脉冲信号的数量。
在本次实验中,我们将使用EDA工具对计数器进行设计和分析。
通过对计数器的EDA实验,我们旨在深入了解计数器的工作原理和性能特点。
一、实验目的本次实验的目的是通过EDA工具对计数器进行设计和分析,具体包括以下几个方面:1. 了解计数器的基本原理和工作方式;2. 学习使用EDA工具进行电路设计和仿真;3. 分析计数器的性能指标,如最大计数值、计数速度等。
二、实验步骤1. 设计计数器的电路原理图;2. 使用EDA工具进行电路仿真;3. 分析仿真结果,包括计数器的计数规律、计数速度等;4. 调整计数器的参数,观察对计数结果的影响;5. 总结实验结果并提出改进意见。
三、计数器的设计原理计数器是由触发器和逻辑门组成的电路,可以实现对输入脉冲信号的计数功能。
常见的计数器包括二进制计数器、十进制计数器等。
在本次实验中,我们将设计一个4位二进制计数器。
四、EDA工具的使用我们选择使用Xilinx ISE Design Suite进行电路设计和仿真。
该工具具有强大的功能和易于使用的界面,方便我们进行计数器的设计和分析。
五、仿真结果分析通过对计数器的仿真结果进行分析,我们可以得到以下结论:1. 计数器的计数规律:根据计数器的设计原理,我们可以观察到计数器的计数规律为二进制递增。
2. 计数器的计数速度:计数器的计数速度取决于输入脉冲信号的频率和计数器的时钟频率。
通过适当调整时钟频率,我们可以实现不同速度的计数。
六、参数调整与性能改进在实验过程中,我们可以通过调整计数器的参数来改进其性能。
例如,我们可以增加计数器的位数,以提高其计数范围;或者调整计数器的时钟频率,以改变其计数速度。
通过不断优化和改进,我们可以得到更加高效和灵活的计数器设计。
七、实验总结通过本次计数器EDA实验,我们深入了解了计数器的工作原理和性能特点,并学会了使用EDA工具进行电路设计和仿真。
EDA实验报告——计数器
EDA实验报告——计数器一、实验目的本实验主要是通过搭建计数器,了解计数器的基本原理和使用方法,掌握数字电路的设计方法及仿真分析方法。
二、实验原理计数器是数字电路的重要组成部分,在数字电路的多个应用中都有着广泛的应用。
计数器可以实现多种数字处理功能,如二进制计数、定量计数、计时、频率分频等。
三、实验材料1. Protues软件2. 74LS90集成电路3. 7段数码管4. 4位拨动开关5. 4个LED灯6. 电路板、杜邦线等。
四、实验内容1. 给定 74LS90 计数器数据手册,分析本实验使用到的 74LS90 芯片的接口及特性。
2. 根据实验需求,用 Protues 软件搭建计数器电路图。
3. 在计数器电路图中连通 74LS90 芯片的译码器输出端口,设置与四个拨动开关相连的输入端口以及 LED 显示器输出端口,实现计数器的计数。
4. 在计数器的输出端口增加 7 段数码管,通过数码管显示计数值。
5. 根据实验需求搭建模电流源电路,对实验电路进行仿真分析,并对仿真结果进行评估。
五、实验步骤2. 从库中拖动 74LS90 芯片、7 段数码管、拨动开关、LED 灯等元件到设计图中。
4. 在 74LS90 芯片工作模式的选择端口接上拨动开关,选择计数器的计数方式。
5. 配置模电流源电路,并设置仿真参数。
6. 进行仿真并记录仿真结果。
七、实验结果本实验搭建的计数器能够正确地进行计数,并且将计数结果通过数码管和 LED 灯显示出来。
在进行仿真分析时,根据仿真数据评估实验电路的合理性。
本实验通过搭建计数器,了解计数器的基本原理和使用方法,掌握数字电路的设计方法及仿真分析方法。
实验中主要学习了数字计数器的结构、性能和工作原理,在搭建计数器电路时主要包括了 74LS90 芯片的接口和设置以及输入输出端口的设置。
通过本实验,我进一步了解了计数器的基本知识和原理,也学习了如何使用 Protues 软件进行电路的搭建和仿真。
EDA实验报告(12份).pdf
实验一组合电路的设计1. 实验目的:熟悉MAX + plus II 的VHDL 文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
2. 实验内容:设计一个2选1多路选择器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all; entity mux21a isport(a,b,s:in std_logic;y:out std_logic); end entity mux21a; architecture one of mux21a is beginy<=a when s='0' else b ; end architecture one ;4. 仿真波形(如图1-1所示)图1-1 2选1多路选择器仿真波形5. 试验总结:从仿真波形可以看出此2选1多路选择器是当s为低电平时,y输出为b, 当s为高电平时,y输出为a(y<=a when s='0' else b ;),完成2路选择输出。
实验二时序电路的设计1. 实验目的:熟悉MAX + plus II VHDL文本设计过程,学习简单的时序电路设计、仿真和测试。
2. 实验验内容:设计一个锁存器,并进行仿真测试,给出仿真波形。
3. 实验程序如下:library ieee;use ieee.std_logic_1164.all;entity suocun7 isport(clk: in std_logic;en: in std_logic;D: in std_logic_vector(7 downto 0);B:out std_logic_vector(7 downto 0)); end suocun7;architecture one of suocun7 issignal K: std_logic_vector(7 downto 0); beginprocess(clk,en,D)beginif clk'event and clk='1' thenif en ='0'thenK<=D;end if;end if;end process;B<=K;end one;4.仿真波形(如图2-1所示)图2-1 8位锁存器仿真波形此程序完成的是一个8位锁存器,当时钟上升沿到来(clk'event and clk='1')、使能端为低电平(en ='0')时,输出为时钟上升沿时的前一个数,从仿真波形看,实现了此功能。
eda计数器的实验报告
eda计数器的实验报告EDA计数器的实验报告引言:计数器是数字电路中常用的组合逻辑电路,用于实现对输入信号的计数功能。
EDA计数器是一种基于EDA(Electronic Design Automation,电子设计自动化)技术的计数器,利用EDA工具进行设计和仿真,能够更加高效地完成计数任务。
本实验旨在通过设计和实现EDA计数器,探索其原理和应用。
一、实验目的本实验的目的是通过设计和实现EDA计数器,深入理解计数器的工作原理,并掌握EDA技术在数字电路设计中的应用。
通过实验,我们将学习以下内容:1. 计数器的基本原理和分类;2. EDA工具的使用方法;3. 数字电路的设计与仿真。
二、实验步骤1. 确定计数器的功能要求:根据实验要求,我们需要设计一个4位二进制计数器,能够实现从0000到1111的计数功能。
2. 使用EDA工具进行设计:选择合适的EDA工具(如Verilog、VHDL等),根据计数器的功能要求,编写相应的代码。
3. 进行仿真:利用EDA工具提供的仿真功能,对设计的计数器进行仿真,验证其正确性和稳定性。
4. 进行综合和布局布线:将设计的计数器进行综合和布局布线,生成对应的逻辑网表和物理布局。
5. 进行时序分析和时序优化:对设计的计数器进行时序分析,优化其时序性能,确保其能够满足实际应用需求。
6. 进行静态和动态功耗分析:对设计的计数器进行静态和动态功耗分析,评估其功耗性能,并进行相应的优化。
三、实验结果与分析经过以上步骤的设计和优化,我们成功实现了一个4位二进制计数器。
通过EDA工具的仿真功能,我们验证了计数器的正确性和稳定性。
在时序分析和时序优化过程中,我们发现了一些潜在的时序问题,并进行了相应的优化,确保了计数器的正常工作。
在静态和动态功耗分析中,我们评估了计数器的功耗性能,并进行了一些优化措施,减少了功耗。
四、实验总结通过本次实验,我们深入学习了计数器的原理和分类,并掌握了EDA技术在数字电路设计中的应用。
可编程逻辑器件实验EDA-步长可变的加减计数器
实验六步长可变的加减计数器
一、实验目的
1、掌握加减法计数器以及特殊功能计数器的设计原理;
2、用HDL语言设计多功能计数器。
二、硬件需求
EDA/SOPC实验箱一台。
三、实验原理
计数器的步长是指计数器每次的改变量。
在很多应用场合,都希望计数器的步长可变。
所谓步长可变,也就是计数器的步长是一个不定值,具体是多少是要靠外部干预的,比如外部给定其步长为5,那么该计数器每次要么增加5,要么减少5,也就是说计数器每次的改变量是5。
这种步长可变的计数器才具有一定的实际意义,比如在直接数字频率合成DDFS 中的地址累加器就是一个步长可变的递增计数器。
四、实验内容
本实验要完成的任务就是设计一个8位的计数器,步长的改变量要求从0~15,实验中用拨挡开关模块的SW1A~SW4A来作为步长改变量的输入,用按键F1来控制计数器的增减,具体要求为:当F1输入为高时,计数器为步长可变的加计数器;当F1输入为低时,计数器为步长可变的减计数器。
计数器输出的Q值用七段数码管模块来表示。
实验中计数器的时钟频率为了便于眼睛观察,同上个实验一样用1Hz的时钟。
五、实验步骤
(1)实现程序
本实验采用顶层设计
元件例化
(2)仿真波形图
从仿真波形图可以看出,LED输出波形持续变化,以设定的步长,增减计数,产生相应的七位译码值。
(3)实际结果。
EDA技术应用的项目四 模3计数器-文档资料
四、项目实施——1. Quartus Ⅱ原理图设计
(4) 仿真验证
创建一个仿真波形文件,添加仿真节点
四、项目实施——1. Quartus Ⅱ原理图设计
编辑输入信号,添加时钟波形
四、项目实施——1. Quartus Ⅱ原理图设计
执行仿真,观察波形仿真结果
四、项目实施——1. Quartus Ⅱ原理图设计
四、项目实施——1. Quartus Ⅱ原理图设计
(3) 项目编译
分析综合 点击Quartus Ⅱ软件工具条上的快捷按钮 进行分析综合。 引脚分配 完成计数器的分析综合过程,得到工程的数据库文件以后, 需要给计数器的输入输出引脚进行引脚分配。 全编译 选择Processing→Start Compilation启动全编译过程。 ,对计数器工程
四、项目实施
硬件平台准备
微机一台(Windows XP系统、安装好 Quartus Ⅱ5.0等相关软件)
EDA学习开发板一块
USB电源线一条
ISP下载线一条。
四、项目实施——1. Quartus Ⅱ原理图设计
(1) 创建工程
在D:\altera\Quartus50\example\counter_3下建立项
目counter_3 选择EPM240T100C5作为目标器件
四、项目实施——1. Quartus Ⅱ原理图设计
(2) 建编辑原理图设计文件
新建原理图文件counter_3.bdf。
放置元件,调整元件位置。
四、项目实施——1. Quartus Ⅱ原理图设计
完成连线、并重新命名管脚
一、项目描述 2. 项目目标
三、项目分析
1.系统功能分析
EDA实验报告-实验3计数器电路设计
暨南大学本科实验报告专用纸课程名称EDA实验成绩评定实验项目名称计数器电路设计指导教师郭江陵实验项目编号03 实验项目类型验证实验地点B305学院电气信息学院系专业物联网工程组号:A6一、实验前准备本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。
EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为3.3V;EDAPRO/240H实验仪主板的VCCIO跳线器组中“VCCIO3.3V”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为 2.5V;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为3.3V。
请参考前面第二章中关于“电源模块”的说明。
二、实验目的1、了解各种进制计数器设计方法2、了解同步计数器、异步计数器的设计方法3、通过任意编码计数器体会语言编程设计电路的便利三、实验原理时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。
计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。
利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。
输出显示模块用VHDL实现。
四、实验内容1、用74161构成8位二进制同步计数器(程序为T3-1);2、用74390构成8位二——十进制异步计数器(程序为T3-2);3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3):0,2,5,3,4,6,1五、实验要求学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。
六、设计框图首先要熟悉传统数字电路中同步、异步计数器的工作与设计。
在MAX+PLUSII中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。
EDA数字电路设计实验报告范文
一、实验目的通过本实验的学习,使学生掌握VHDL 中文件IO、配置、同步和异步设计等知识,训练VHDL 的编程能力,培养数字电路设计的基本技能,为今后继续学习大规模数字系统设计奠定基础。
二、实验内容1、分析示例代码,掌握VDHL 文件IO 的编写方法。
2、分析示例代码,掌握VDHL 配置的使用以及编写方法。
3、按照要求修改文件IO 和配置的示例代码。
4、根据同步和异步设计的不同,按照要求编写代码。
三、实验原理、方法和手段复杂设计,例如CPU,需要给它执行的指令。
以验证其正确性。
执行的结果也可以保存在文件中,供以后分析用。
VHDL 提供了文件读写功能,可以将测试激励预先保存在文件中,然后读入进行仿真。
文件读写的功能保存在IEEE 库的std.textio 和 std_logic_textio 包中,在文件头包含这些库,包,就可以调用文件读写函数。
文件I/O 关键语句:1、使用IEEE 文件读写包:USE ieee.std_logic_textio.all;USE std.textio.all;2、定义文件数据类型file results: text open write_mode is “results.txt";file mem_data: text;3、打开文件file_open(mem_data, "mem_data.txt", read_mode);4、定义行变量variable inline: line;5、读入一行数据到行变量readline(mem_data, inline);6、读行变量数据read(inline, ram_mem_temp);7、写数据到行变量write(OneLine,addr,right,10);8、写行变量到文件中writeline(results,OneLine);9、类型转换To_stdlogicvector(ram_mem_temp);--将ram_mem_temp 转换成std_logic_vector 型变量conv_integer(addr);--将addr 转换成interger 型变量1),常用的数据类型,函数,过程,模块,测试激励可以放在一个包中,以方便重用。
EDA计数器实验报告
EDA计数器实验报告一、实验目的:1、深刻理解VHDL语言元件例化的方法。
2、掌握计数器的设计原理以及设计方法。
3、结合以前学过的数码管扫描知识完成计数器显示学号后三位。
二、实验原理:计数器是可以统计时钟脉冲次数的时序器件,为了使计数器可以显示学号后三位,采用级联的形式来设计计数器,如十进制的计数器与六进制的计数器级联即构成了六十进制计数器。
使用3个带Carry-in和Carry-out模10的计数器的计数输出分别作为计数器个位、十位、百位的输出,设计模108计数器。
实验内容:本次实验要求设计一个模为自己学号后 3 位的计数器(模108)。
各个零部件可以用LPM来定制,而顶层则要使用VHDL语言以元件例化的方法来实现。
1、VHDL语言的部分代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity exp_cnt108 isport(clk0,clk,clrn,En:in std_logic;b,s,g:out std_logic_vector(3 downto 0);c:out std_logic;cc:out std_logic;sb,ss,sg:out std_logic;ga,gb,gc,gd,ge,gf,gg:out std_logic);end exp_cnt108;architecture rtl of exp_cnt108 iscomponent count4port(clk:in std_logic;q:out std_logic_vector(1 downto 0));end component;component decoder2_3port(data:in std_logic_vector(1 downto 0);eq0,eq1,eq2:out std_logic);end component;component mux4_3_1port( data0x : IN STD_LOGIC_VECTOR (3 DOWNTO 0);data1x : IN STD_LOGIC_VECTOR (3 DOWNTO 0);data2x : IN STD_LOGIC_VECTOR (3 DOWNTO 0);sel : IN STD_LOGIC_VECTOR (1 DOWNTO 0);result : OUT STD_LOGIC_VECTOR (3 DOWNTO 0));end component;component my7449port(cout:in std_logic_vector(3 downto 0);a,b,c,d,e,f,g:out std_logic);end component;component exp_cnt10port(Clk,clrn,En,cin:in std_logic;cq:out std_logic_vector(3 downto 0);cout:out std_logic);end component;signal clr,cin:std_logic;signal q:std_logic_vector(1 downto 0);signal coutb,couts,coutg,cout:std_logic_vector(3 downto 0);signal c1,c2,c3: std_logic;signal eq0,eq1,eq2: std_logic;signal qa,qb,qc,qd,qe,qf,qg: std_logic;beginu0:count4 port map(clk0,q);u1:decoder2_3 port map(q,eq0,eq1,eq2);sb<=eq2;ss<=eq1;sg<=eq0;cin<='1';u2:exp_cnt10 port map(clk,clrn or clr,En,cin,coutg,c1);u3:exp_cnt10 port map(clk,clrn or clr,En,c1,couts,c2);u4:exp_cnt10 port map(clk,clrn or clr,En,c2 and c1,coutb,c3);b<=coutb;s<=couts;g<=coutg;cc<=c1;c<=c2;clr<=coutb(0) and coutg(3);u5:mux4_3_1 port map(coutg,couts,coutb,q,cout);u6:my7449 port map(cout,qa,qb,qc,qd,qe,qf,qg);ga<=qa;gb<=qb;gc<=qc;gd<=qd;ge<=qe;gf<=qf;gg<=qg;end rtl;三、波形仿真及下载验证:如图所示:波形仿真:仿真参数设置:Entime:45us Grid size:100ns clk:clock→period:10ns波形说明:clrn为0,En为0时,保持;clrn为0,En为1时,计数;clrn为1时,清零;由仿真图知,计数到107后从0开始计数。
EDA实验报告(四选一、四位比较器、加法器、计数器、巴克码发生器)
EDA实验报告(四选⼀、四位⽐较器、加法器、计数器、巴克码发⽣器)实验1 4选1数据选择器的设计⼀、实验⽬的1.学习EDA软件的基本操作。
2.学习使⽤原理图进⾏设计输⼊。
3.初步掌握器件设计输⼊、编译、仿真和编程的过程。
4.学习实验开发系统的使⽤⽅法。
⼆、实验仪器与器材1.EDA开发软件⼀套2. 微机⼀台3. 实验开发系统⼀台4. 打印机⼀台三、实验说明本实验通过使⽤基本门电路完成4选1数据选择器的设汁,初步掌握EDA设计⽅法中的设汁输⼊、编译、综合、仿真和编程的过程。
实验结果可通过实验开发系统验证,在实验开发系统上选择⾼、低电平开关作为输⼊,选择发光⼆极管显⽰输出电平值。
本实验使⽤Quartus II软件作为设计⼯具,要求熟悉Quartus II软件的使⽤环境和基本操作,如设计输⼊、编译和适配的过程等。
实验中的设计⽂件要求⽤原理图⽅法输⼊,实验时,注意原理图编辑器的使⽤⽅法。
例如,元件、连线、⽹络爼的放巻⽅法和放⼤、缩⼩、存盘、退岀等命令的使⽤。
学会管脚锁定以及编程下载的⽅法等。
四、实验要求1.完成4选1数据选择器的原理图输⼊并进⾏编译;2.对设计的电路进⾏仿真验证:3.编程下载并在实验开发系统上验证设计结果。
五、实验结果管脚分配:N;如kne DteOwn LccatMi Pwecgj G【c^p I/ODo-l 2 GC6P I ifo Xfl-c t nk A Igt PHJ V21Bl NO AS-VLUTrifd2?B Irpjt PIW.VI DJ_W ^>VLVTTl(d 3? co1r(xt P1M IPS5a^Lumid 庐Cl Irpul P1W.KC654a>vivin(d 5* C213P1KLP2S M」JO a>vLum(d 6* C3Inpjt叽⼼:■? ^3-VLVTn(d I* GK incut PJWJtfH7B7JJ1 a>VLUTn(d8o v O J U X A7B7 M J S3-VLVTn(d9<wvx4fr?实验2 四位⽐较器⼀、实验⽬的1. 设计四位⼆进制码⽐较器,并在实验开发系统上验证。
有时钟使能的两位十进制计数器设计
EDA技术及应用实验报告——有时钟使能的两位十进制计数器设计班级:XXX姓名:XXX学号:XXX一、实验目的:1、学习MAX+PLUSⅡ软件的使用,包括软件安装及基本的使用流程。
2、掌握用原理图输入法设计简单组合电路的方法和详细设计流程。
3、掌握原理图的层次化设计方法。
二、实验原理:频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。
为此这里拟用一个双十进制计数74390和其它一些辅助元件来完成。
电路原理图应该如图所示。
图中,74390连接成两个独立的十进制计数器,待测频率信号clk通过一个与门进入74390的计数器1的时钟输入端1CLKA,与门的另一端由计数使能信号enb控制:当enb = '1' 时允许计数;enb = '0' 时禁止计数。
计数器1的4位输出q[3]、q[2]、q[1]和q[0]并成总线表达方式即q[3..0],由图3-24左下角的OUTPUT输出端口向外输出计数值,同时由一个4输入与门和两个反相器构成进位信号进入第2个计数器的时钟输入端2CLKA。
第2个计数器的4位计数输出是q[7]、q[6]、q[5]和q[4],总线输出信号是q[7..4]。
这两个计数器的总的进位信号,即可用于扩展输出的进位信号由一个6输入与门和两个反相器产生,由cout输出。
clr是计数器的清零信号。
三、实验内容和步骤:1、打开原理图编辑器,有时钟使能的两位十进制计数器的设计。
2、编译3、波形仿真,由上图仿真得到电路的仿真波形。
由波形图可见,电路的功能完全符合原设计要求:当clk输入时钟信号时,clr信号具有清0功能,当enb为高电平时允许计数,低电平时禁止计数;当低4位计数器计到9的向高4位计数器进位,另外由于图中没有显示高4位计数器计到9,故看不到count的进位信号。
4、引脚锁定并下载。
实验总结通过本实验,学习了有时钟使能的两位十进制计数器原理图输入的设计,进一步熟练掌握了原理图输入设计的方法。
eda实验报告十进制计数器设计流程
eda实验报告十进制计数器设计流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!EDA实验报告:十进制计数器设计流程详解一、实验背景与目的在电子设计自动化(EDA)领域,计数器是一种常见的数字逻辑电路,用于实现数字系统的计数功能。
EDA实验报告-cnt9999
EDA实验报告CNT9999计数器的设计指导老师:***班级:电技1503学号:***********姓名:***交通工程学院2017.10.15实验一0~9999的计数器电路的设计1.实验目的(1)进一步熟悉和掌握Quartus II软件的使用。
(2)进一步熟悉和掌握GW48-CK或其他EDA实验开发系统的使用。
(3)学习和掌握VHDL进程语句和元件例化语句的使用。
2.实验内容设计并调试好一个计数范围为0~9999的4位十进制计数器电路CNT9999,并用GW48-CK或其他EDA实验开发系统进行硬件验证。
3实验条件(1)开发软件:Quartus II 13.0。
(2)实验设备:GW48-CK EDA 实验开发系统。
(3)拟用芯片:EP3C55F484C7。
4.实验设计1)系统原理框图为了简化设计并便于显示,本计数器电路CNT9999的设计分为两个层次,其中底层电路包括四个十进制计数器模块CNT10,再由这四个模块按照图1.1所示的原理图构成顶层电路CNT9999.图1.1 CNT9999电路原理图2)VHDL程序计数器CNT9999的底层和顶层电路均采用VHDL文本输入,有关VHDL程序如下。
CNT10的VHDL源程序:--CNT10.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;ENA: IN STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO: OUT STD_LOGIC );END ENTITY CNT10;ARCHITECTURE ART OF CNT10 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR,ENA) ISBEGINIF CLR='1' THEN CQI<="0000";ELSIF CLK'EVENT AND CLK='1' THENIF ENA='1' THENIF CQI="1001" THEN CQI<="0000";ELSE CQI<=CQI+'1';END IF;END IF;END IF;END PROCESS;PROCESS(CQI) ISBEGINIF CLK'EVENT AND CLK='1' THENIF CQI<"1001" THEN CO<='0';ELSE CO<='1';END IF;END IF;END PROCESS;CQ<=CQI;END ARCHITECTURE ART;CNT9999的VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;--使用IEEE.STD_LOGIC_1164程序包PORT(CLR: IN STD_LOGIC;CLK: IN STD_LOGIC;CLK2:IN STD_LOGIC;ENA: IN STD_LOGIC;COM: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY DCNT9999;ARCHITECTURE ART OF DCNT9999 ISCOMPONENT CNT10 IS --CNT10元件定义语句PORT(CLK, CLR, ENA: IN STD_LOGIC;CQ: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO: OUT STD_LOGIC);END COMPONENT CNT10;COMPONENT CTRLS IS --元件定义语句PORT(CLK: IN STD_LOGIC;--端口说明语句(端口名:端口模式数据类型)SEL: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT CTRLS;COMPONENT DISPLAY IS --元件定义语句PORT(SEL: IN STD_LOGIC_VECTOR(2 DOWNTO 0);DATAIN: IN STD_LOGIC_VECTOR(15 DOWNTO 0);COM: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SEG: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END COMPONENT DISPLAY;SIGNAL S0,S1,S2: STD_LOGIC; --信号的定义,定义了3个标准位的单值信号SIGNAL SEL: STD_LOGIC_VECTOR(2 DOWNTO 0);--定义1个标准位矢量的位矢量信号SEL,含有3个元素SIGNAL DOUT:STD_LOGIC_VECTOR(15 DOWNTO 0);--定义1个标准位矢量的位矢量信号DOUT,有16个数组元素BEGINU0: CNT10 PORT MAP(CLK,CLR, ENA, DOUT(3 DOWNTO 0), S0); --元件例化语句,位置关联的方式U1: CNT10 PORT MAP(S0, CLR, ENA, DOUT(7 DOWNTO 4), S1);U2: CNT10 PORT MAP(S1, CLR, ENA, DOUT(11 DOWNTO 8), S2);U3: CNT10 PORT MAP(S2, CLR, ENA, DOUT(15 DOWNTO 12));U4: CTRLS PORT MAP(CLK2,SEL);U5: DISPLAY PORT MAP(SEL(2 DOWNTO 0),DOUT(15 DOWNTO 0),COM(7 DOWNTO 0),SEG(7 DOWNTO 0));--位置关联方式END ARCHITECTURE ART;3)仿真波形设置本设计包括两个层次,因此先进行底层的十进制计数器CNT10的仿真,再进行顶层CNT9999的仿真。
eda课程设计计数器
eda课程设计 计数器一、课程目标知识目标:1. 理解计数器的基本概念,掌握其工作原理;2. 学会运用EDA工具进行计数器的设计与仿真;3. 掌握计数器的应用场景,了解其在数字系统中的作用。
技能目标:1. 能够运用所学知识,设计简单的计数器电路;2. 熟练使用EDA工具进行电路的绘制、仿真和调试;3. 培养动手实践能力和团队协作能力,提高问题解决能力。
情感态度价值观目标:1. 培养学生对电子设计的兴趣,激发学习热情;2. 培养学生的创新意识和探究精神,鼓励尝试和改进;3. 增强学生的责任感,认识到计数器在现代社会生活中的重要性。
课程性质:本课程为电子设计自动化(EDA)课程的实践环节,旨在让学生通过动手实践,掌握计数器的设计与应用。
学生特点:学生具备一定的电子基础知识,对EDA工具有一定的了解,具有较强的学习能力和动手能力。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,强调动手实践,培养学生的实际操作能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高其电子设计能力。
教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
二、教学内容1. 计数器原理讲解:- 理解异步计数器与同步计数器的工作原理;- 掌握二进制、十进制和任意进制计数器的设计方法。
2. EDA工具使用:- 学习并熟练使用Multisim、Proteus等EDA工具进行计数器电路设计;- 掌握电路绘制、仿真和调试的基本步骤。
3. 实践操作:- 设计并实现一个简单的二进制计数器电路;- 设计并实现一个十进制计数器电路;- 尝试设计任意进制计数器电路。
4. 教学大纲:- 第一章:计数器原理及分类;- 第二章:EDA工具的基本操作;- 第三章:二进制计数器设计与实践;- 第四章:十进制计数器设计与实践;- 第五章:任意进制计数器设计与实践。
5. 教学内容安排与进度:- 原理讲解:2课时;- EDA工具使用:2课时;- 二进制计数器设计:2课时;- 十进制计数器设计:2课时;- 任意进制计数器设计:2课时。
EDA实验报告
实验一:QUARTUS II 软件使用及组合电路设计仿真实验目的:学习QUARTUS II 软件的使用,掌握软件工程的建立,VHDL 源文件的设计和波形仿真等基本内容。
实验内容:1.四选一多路选择器的设计基本功能及原理:选择器常用于信号的切换,四选一选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。
四选一选择器有四个输入端a,b,c,d,两个信号选择端s(0)和s(1)及一个信号输出端y。
当s输入不同的选择信号时,就可以使a,b,c,d中某一个相应的输入信号与输出y端接通。
逻辑符号如下:程序设计:软件编译:在编辑器中输入并保存了以上四选一选择器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。
仿真分析:仿真结果如下图所示分析:由仿真图可以得到以下结论:当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个段,本实验中用的数码管为共阳极的,接有低电平的段发亮。
数码管的图形如下七段译码器的逻辑符号:程序设计:软件编译:在编辑器中输入并保存了以上七段译码器的VHDL源程序后就可以对它进行编译了,编译的最终目的是为了生成可以进行仿真、定时分析及下载到可编程器件的相关文件。
仿真分析:仿真结果如下图所示:分析:由仿真的结果可以得到以下结论:当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;当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实验报告
sum: out std_logic_vector(n downto 1);
cout: out std_logic
);
end siwei;
architecture Behavioral of siwei is
component quanjia
port (a,b,cin:in std_logic;
when"110"=>Y<="01000000";
when"111"=>Y<=;
whenothers=>null;
endcase;
elseY<=;
endif;
endprocess;
endBehavioral;
仿真结果:
2. 60进制计数器
实验程序:
library IEEE;
use Uncomment the following lines to use the declarations that are
仿真结果:
实验二、四位全加器和8位移位寄存器设计实验
1、实验目的
1)学习了解加法器工作原理。
2)学习用VHDL语言设计全加器的设计方法。
3)学习使用元件例化的方法设计多位加法器。
4)了解移位寄存器的工作原理
5)学习移位寄存器设计方法
2、实验内容
1)用VHDL语言设计全加器。
2)用元件例化方法设计一个四位二进制加法器。
验一:译码器及计数器设计实验
1、实验目的
1)复习二进制译码器的功能。
2)学习VHDL语言源程序输入方法。
3)学习VHDL语言源程序检查和修改。
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第三次实验(10进制计数器数码管显示)
--------顶层文件counter十进制计数并显示在LED上LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count ISPORT(CLK, RST, EN, LOAD :IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR (3 DOWNTO 0);COUT : OUT STD_LOGIC;LED7S:OUT STD_LOGIC_VECTOR (6 DOWNTO 0));END count;ARCHITECTURE BEHAVE OF count ISCOMPONENT CNT10 ISPORT(CLK, RST, EN, LOAD :IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR (3 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);COUT : OUT STD_LOGIC);END COMPONENT CNT10;COMPONENT DECL7S ISPORT (A:IN STD_LOGIC_VECTOR (3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR (6 DOWNTO 0));END COMPONENT DECL7S;SIGNAL S:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINU1:CNT10PORT MAP (CLK=>CLK,RST=>RST,EN=>EN,LOAD=>LOAD,DATA=>DATA,DOUT=>S,COUT=>COUT);U2:DECL7S PORT MAP (A=>S,LED7S=>LED7S);END ARCHITECTURE BEHAVE;---------------------cnt10 10进制计数LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT(CLK, RST, EN, LOAD :IN STD_LOGIC;DATA : IN STD_LOGIC_VECTOR (3 DOWNTO 0);DOUT : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);COUT : OUT STD_LOGIC);END CNT10;ARCHITECTURE BEHAVE OF CNT10 ISBEGINPROCESS(CLK, RST, EN,LOAD)VARIABLE Q : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = '0' THEN Q := (OTHERS=>'0');ELSIF CLK'EVENT AND CLK= '1' THENIF EN= '1' THENIF (LOAD= '0') THEN Q :=DATA;ELSEIF Q<15 THEN Q := Q+1;ELSE Q := (OTHERS=>'0');END IF;END IF;END IF;END IF;IF Q="1010" THEN COUT<='1';ELSE COUT<='0'; END IF;DOUT<=Q;END PROCESS;END BEHAVE;---------------------驱动LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY DECL7S ISPORT (A:IN STD_LOGIC_VECTOR (3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR (6 DOWNTO 0));END;ARCHITECTURE ONE OF DECL7S ISBEGINPROCESS (A) BEGINCASE A ISWHEN "0000" => LED7S <= "1000000";WHEN "0001" => LED7S <= "1111001";WHEN "0010" => LED7S <= "0100100";WHEN "0011" => LED7S <= "0110000";WHEN "0100" => LED7S <= "0011001";WHEN "0101" => LED7S <= "0010010";WHEN "0110" => LED7S <= "0000010";WHEN "0111" => LED7S <= "1111000";WHEN "1000" => LED7S <= "0000000"; WHEN "1001" => LED7S <= "0010000"; WHEN "1010" => LED7S <= "0001000"; WHEN "1011" => LED7S <= "0000011"; WHEN "1100" => LED7S <= "1000110"; WHEN "1101" => LED7S <= "0100001"; WHEN "1110" => LED7S <= "0000110"; WHEN "1111" => LED7S <= "0001110"; WHEN OTHERS => NULL;END CASE;END PROCESS;END;生成门电路图波形仿真图引脚锁定。
eda实验报告计数器
eda实验报告计数器EDA实验报告-计数器引言:计数器是数字电路中常用的基本模块之一,它在各个领域都有着广泛的应用。
本实验旨在通过EDA(电子设计自动化)软件进行计数器的设计与仿真,探索计数器的原理和功能。
一、计数器的基本原理计数器是一种能够按照规定的顺序改变其输出状态的电子电路。
它通过内部的触发器和逻辑门实现数字信号的计数功能。
常见的计数器有二进制计数器、十进制计数器等。
二、实验设计与仿真1. 实验目标本次实验的目标是设计一个4位二进制计数器,并通过EDA软件进行仿真验证。
计数器的功能是在每个时钟脉冲到来时,输出的二进制数加1。
2. 设计思路计数器的设计需要考虑以下几个方面:- 选择适当的触发器:本实验选择了D触发器作为计数器的基本单元,因为D触发器具有简单、易于控制的特点。
- 确定计数器的位数:本实验设计了一个4位计数器,即可以表示0~15的二进制数。
- 连接逻辑门:通过逻辑门将各个触发器连接起来,实现计数器的功能。
3. 电路设计根据设计思路,我们使用EDA软件进行电路设计。
首先,将4个D触发器连接起来,形成4位计数器。
然后,根据计数器的功能要求,将时钟信号连接到每个触发器的时钟输入端。
最后,将各个触发器的输出通过逻辑门进行连接,得到计数器的输出。
4. 仿真验证完成电路设计后,我们使用EDA软件进行仿真验证。
通过输入不同的时钟信号,观察计数器的输出是否符合预期。
在仿真过程中,我们可以调整时钟信号的频率,观察计数器的计数速度。
三、实验结果与分析通过EDA软件的仿真,我们得到了计数器的输出结果。
在时钟信号的作用下,计数器按照预期进行了计数,并输出了相应的二进制数。
通过观察输出结果,我们可以得出以下几点结论:- 计数器的输出与时钟信号的频率有关,频率越高,计数速度越快。
- 计数器的输出按照二进制的顺序进行计数,当达到最大值时,会从0重新开始计数。
四、实验总结本次实验通过EDA软件进行了计数器的设计与仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
暨南大学本科实验报告专用纸课程名称 EDA实验成绩评定实验项目名称计数器电路设计指导教师郭江陵实验项目编号 03 实验项目类型验证实验地点 B305 学院电气信息学院系专业物联网工程组号: A6一、实验前准备本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。
EDAPRO/240H实验仪主板的VCCINT跳线器右跳设定为; EDAPRO/240H实验仪主板的VCCIO 跳线器组中“”应短接,其余VCCIO均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT跳线器组设定为;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO跳线器组设定为。
请参考前面第二章中关于“电源模块”的说明。
二、实验目的1、了解各种进制计数器设计方法2、了解同步计数器、异步计数器的设计方法3、通过任意编码计数器体会语言编程设计电路的便利三、实验原理时序电路应用中计数器的使用十分普遍,如分频电路、状态机都能看到它的踪迹。
计数器有加法计数器、可逆计数器、减法计数器、同步计数器等。
利用MAXPLUSII已建的库74161、74390分别实现8位二进制同步计数器和8位二——十进制异步计数器。
输出显示模块用VHDL实现。
四、实验内容1、用74161构成8位二进制同步计数器(程序为T3-1);2、用74390构成8位二——十进制异步计数器(程序为T3-2);3、用VHDL语言及原理图输入方式实现如下编码7进制计数器(程序为T3-3):0,2,5,3,4,6,1五、实验要求学习使用Altera内建库所封装的器件与自设计功能相结合的方式设计电路,学习计数器电路的设计。
六、设计框图首先要熟悉传统数字电路中同步、异步计数器的工作与设计。
在MAX+PLUS II中使用内建的74XX库选择逻辑器件构成计数器电路,并且结合使用VHDL语言设计转换模块与接口模块,最后将74XX模块与自设计模块结合起来形成完整的计数器电路。
并借用前面设计的数码管显示模块显示计数结果。
◆74161构成8位二进制同步计数器(程序为T3-1)◆七、原理图◆ 8位二进制同步计数器原理图 (程序为T3-1)模块说明: 采用了两个74161计数器,一个用来作为低位计数,另一个作为高位计数器。
数据总线开关(4位二路开关)模块用于将计数器输出的数据分路切换为LED 数码管显示所需要的数据格式。
字形码转换模块调用前面实验所设计的模块。
八、实验电路连线与使用操作A :为独立扩展下载板上第86脚,应接“数码管段位引线”接线组“KPL_AH ”的AB :为独立扩展下载板上第87脚,应接“数码管段位引线”接线组“KPL_AH ”的BC :为独立扩展下载板上第88脚,应接“数码管段位引线”接线组“KPL_AH ”的CD :为独立扩展下载板上第89脚,应接“数码管段位引线”接线组“KPL_AH ”的DE:为独立扩展下载板上第90脚,应接“数码管段位引线”接线组“KPL_AH”的E F:为独立扩展下载板上第92脚,应接“数码管段位引线”接线组“KPL_AH”的F G:为独立扩展下载板上第93脚,应接“数码管段位引线”接线组“KPL_AH”的G SEL0:为独立扩展下载板上第69脚,为数码管的位选扫描信号,接信号接线组“DS1-8A(T)”的SS0引线插孔。
SS1、SS2接地(即在电源引线插孔组GND孔处)。
RESET:为独立扩展下载板上第68脚,应接“多功能复用按键F1-F12”信号接线组“F1_12(T)”的F9~F12的任意一个插孔CKCNT:为独立扩展下载板上第70脚,应接时钟信号源接线组“CLOCK(T)”的“FRQ (18~21)”引线插孔CKDSP:为独立扩展下载板上第79脚即GCLK1,应接时钟信号接线组“CLOCK(T)”的“FRQ(11)”引线插孔备注:程序T3-1、T3-2、T3-3的插线均相同,其中T3-3中CLK与T3-1的CKCNT定义引脚相同。
使用操作:◆8位二进制同步计数器使用操作demo3top:程序下载以后,在“动态键盘显示模块”的二个数码管上显示计数值,范围为00~FFH 的二位十六进制数,并循环递增计数。
九、波形仿真分析4为2路开关选择器模块仿真结果输入信号:sel:高低四位选择控制为,高电平选低四位,低电平选高四位D_IN :输入8位数输出信号:D_out:根据选择输出高四位或低四位数波形分析结果如上图在两个timebar之间,sel为高电平输出了D_IN的低四位数,在两个timebar 两边sel为低电平,输出了D_IN的高四位,结果正确。
字行码转换模块仿真结果如下图输入信号:D_IN :要显示的4位2进制数输出信号:a,b,c,d,e,f,g : 输出数码管段选波形结果分析在上图timebar处,输入的4位2进制数是5输出的段码是”1101101”,即共阴数码管对应的数值为5。
仿真结果正确。
◆8位二进制同步计数器仿真结果demo3top:输入信号:RESET:清零信号,低电平下重新开始计数。
CKDSP:动态显示数码管扫描频率设定。
CKCNT:计数时钟信号。
中间信号量:DA[7..0]:用于显示计数模块输出的中间计数结果。
输出信号:A~G:数码管7个段位,用于显示计数结果。
波形结果分析:如图所示,当计数器DA[7..0]输出为“16”时,第2个timebar处对应的数码管的段码为”1111101”,即共阴数码管显示对应的值为6,第3个timebar处对应数码管的段码值为“0000110”,即共阴数码管显示对应的值为1,且在DA = 16 0x时sel的值在’0’ 和‘1’之间不断变化,表明这个时间段选中二个数码管,并显示为“16”。
其他状态下计数时钟产生的显示结果值类同。
另外第一个timebar 体现了同步计数功能,当CKCNT为上升沿时计数器加1。
第4个timebar体现异步复位功能,当RESET为0时立刻复位重新开始计算。
结论:由上述分析所得结果,完全达到实验所需的要求。
CNT4单独进行仿真结果输入信号:EN :使能信号,当EN为高电平时开始计数。
CLK :时钟信号,没一个时钟上升沿,计数加1。
CLR :复位信号,为低电平时,计数复位。
输出信号:QA,QB, QC, QD : 计数输出4位2进制数信号,QA为第一位。
RCO :进位信号,当计数计到16个数时产生进位,为高电平。
波形结果分析:第一个timebar,体现了同步计数功能,当clk为上升沿时开始计数。
第二个timebar体现进位输出功能,当计数计到“1111”时产生进位,RCO为高电平。
第三个timebar体现异步复位功能,CLR信号为低电平时,输出立刻复位为“0000”,第四个timebar体现使能信号只有为高电平时才计数,低电平保持不变。
结论:仿真结果正确。
对“demo3Atop”进行仿真的结果如下:输入信号:RESET:清零信号,低电平下重新开始计数。
CKDSP:动态显示数码管扫描频率设定。
CKCNT:计数时钟信号。
中间信号量:DA[7..0]:用于显示计数模块输出的中间计数结果。
输出信号:A~G:数码管7个段位,用于显示计数结果。
波形结果分析:如图所示,当计数器DA[7..0]输出为“16”时,第3个timebar处对应的数码管的段码为”1111101”,即共阴数码管显示对应的值为6,第2个timebar处对应数码管的段码值为“0000110”,即共阴数码管显示对应的值为1,且在DA = 16 0x时sel的值在’0’ 和‘1’之间不断变化,表明这个时间段选中二个数码管,并显示为“16”。
其他状态下计数时钟产生的显示结果值类同。
另外第一个timebar 体现了同步计数功能,当CKCNT为上升沿时计数器加1。
第4个timebar体现异步复位功能,当RESET为0时立刻复位重新开始计算。
结论:仿真结果达到实验要求。
下载硬件调试结果:顶层文件原理图:VCCCKDSPINPUT VCC RESETINPUT VCCCKCNTINPUT SEL0OUTPUT a OUTPUT b OUTPUT c OUTPUT d OUTPUT e OUTPUT f OUTPUT gOUTPUTDA[7..0]OUTPUT COUNTERCLRNCLKENP LDN A D ENT B C QD QC QB QA RCO74161instCOUNTERCLRNCLKENP LDN A D ENT B C QD QC QB QA RCO74161inst1PRNCLRN TQTFFinst2d_in[3..0]ab c d e f gxdeledinst3D_IN[7..0]SELD_OUT[3..0]XSH8_4inst4VCCVCCVCCDA[0]DA[1]DA[2]DA[3]DA[4]DA[5]DA[6]DA[7]DA[7..0]PIN_86PIN_87PIN_88PIN_89PIN_90PIN_92PIN_93PIN_69PIN_68PIN_70PIN_79仿真结果:九、实验心得通过实验,熟悉了quartus的硬件仿真步骤,熟悉了分模块仿真的作用和如何在仿真图上体现出该模块要实现的所有功能,熟悉8位二进制同步计数器使用操作。
实验三问题1、74161计数器是什么功能的计数器,用专业的词语形容答:4位16进制异步复位同步置数计数器2、XSH8_4的功能答:4位2选1多路选择器,从8位输入中选择高4位或低4位输出3、XDELED模块功能答:段译码模块,把输入的4位2进制数译码为数码管的段选信号。
4、TFT是什么模块作用是什么答:T触发器,输入上升沿则输出翻转。
5、74161里的引脚含义以及为什么这么连接,(ABCD哪个引脚是高位,哪个引脚是低位ENT、ENP作用,ENT\ENP\LDN为什么接高电平VCC而第二个74161为什么接RCO为什么不把RCO进位脉冲接到时钟CLK引脚答:LDN:控制是否输入预置数的引脚。
ABCD:预置数输入引脚。
D为高位ENT、ENP:使能端,当ENT、ENP同时为高电平时才能计数,一高一低,保持计数不变。
ENT\ENP\LDN接高电平VCC :保持74161计数状态,而且不允许置数。
第二个74161接RCO原因:当低四位的计数进位时,高四位的计数器就计数加1 。
不接CLK的原因是为了实现两个计数器实现同步计数功能。
6、74161里的RCO的高电平时间有没可能跨越两个CKL时钟周期,为什么答:当第一个计数器计数到”1111”时RCO从0变成1的时候,当下一个时钟上升沿时,RCO又变为0,它的宽度只有一个脉冲的宽度。
不可能跨越2个clk 。