ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:750.38KB ,
资源ID:8974762      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8974762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(0000000 用图形法设计模为12的同步计数器.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

0000000 用图形法设计模为12的同步计数器.docx

1、0000000 用图形法设计模为12的同步计数器 EDA技术实用教程 -实验报告 专业班级: 学生姓名: 指导教师: 实验二 用图形法设计模为12的同步计数器一、实验目的: 掌握MAXPLUS的图形输入法和仿真过程(1) 掌握图形输入法(2) 熟悉仿真方法(3) 理解时序仿真(4) 掌握用图形编辑法实现组合逻辑电路设计思想。二、实验内容: 用图形法设计模为12的同步计数器三、实验设计: 1.实验原理 采用图形法来设计模为12的同步计数器,3个输入“INPUT”(分别为CLK,Clear,En),1个“74161计数器”芯片,1个“与非门”及1个“非门”,5个输出OUTPUT(分别为Cout,Q

2、0,Q1,Q2,Q3),电路连接如图1所示2.实验电路 图1.模为12的同步计数器 3.实验步骤 (1)在File 菜单里面选择 New 打开新建文件类型对话框。选择 Waveform Editor File 项单击OK。 (2)在波形编辑器窗口的Name下单击鼠标右键,出现浮动的菜单,选择Enter Nodes from SNF.可以打开“从SNF文件输入观测点”的对话框。 (3)在Type区选择Input和Output,在默认的情况下是打开的,单击List按钮,可在Available Nodes & Groups区看到设计文件中使用的输入/输出信号,单击=按钮可以将这些信号选择到 Sele

3、cted Nodes & Groups区。单击OK按钮,关闭对话框即可看到波形编辑窗口,将此波形文件保存为默认名。波形编辑器窗口Name的浮动菜单列出输入/输出信号波形文件中的输入输出信号网格大小设置对话框绘图网格设置菜单条 在此,默认的情况下,模拟的时间长短为1us。此时在“File”菜单中选择“End Time”来设置结束时间。在模为12的计数器中,我们将信号“en”从头到尾,即从0ns到1000ns赋值为1。选中信号“en”,单击“Name”区中的“en”信号,可看见“en”信号变为黑色,表示被选中;单击即可将“en”信号赋为1采用同样的方式可将信号“clear”从0ns到1000ns赋

4、值为“1”,为观察其清零的作用,将在240ns到300ns之间将其赋值为“0”(因为该信号低电平有效将鼠标移到“clear”信号的240ns处按住鼠标左键并向右拖动鼠标300ns处,松开鼠标左键可以看到这段区域为黑色,被选中,单击工具条中的即可。为了将时钟信号“clk”赋周期为40ns的时钟信号。选中信号“clk”;设置信号周期。单击工具条中的就可以打开下面的对话框,单击“OK”关闭就对话框即可生成所需的时钟。时钟周期设置对话框选择“File”中的“Save”存盘。在此已完成波形输入:建立好的输入波形图 运行仿真器,进行时序仿真 从“MAX+PlusII”菜单中选择“Simulator”,打开

5、仿真器,单击按钮“Start”开始仿真。仿真完毕之后,单击“Open SCF”按钮打开刚才编辑的波形文件,就可以对仿真结果进行检查。仿真器 为了观测方便,可将计数器输出Q3、Q2、Q1、Q0作为一个组来观测:将鼠标移到“Name”区的Q3上,按住鼠标的左键并按住向下拖动鼠标之Q0处,松开左键,可选中信号Q3、Q2、Q1、Q0。在选中区(黑色)上单击鼠标右键,打开一个浮动菜单,选择“Enter Group”。单击“Ok”关闭此对话框,可以得到下面的波形图文件。现在观测就容易了。以上步骤是实验指导书上给出的。实验电路图形实验过程截图实验结果截图BIN(二进制)DEC(十二进制)OCT(八进制)HE

6、X(十六进制)实验结果分析 本次实验通过一个“74161同步计数器”来实现模可变的功能,通过在MAX+plusII软件中进行编译仿真,观察仿真结果,在初次接触此软件的同时,熟悉其功能操作,对实验结果及其相关步骤进行分析。实验当中,首先在图形元器件的选择上,按照实验指导来进行,及修改相关参数和名称,连接图形,掌握方法,成功连接完成,进行保存并仿真。 实验结果中,分别显示了二进制,十二进制,八进制,十六进制的结果波形图,通过波形图,我们不难看出,在不同进制下,计数的结果是相同的,但显示的形式不同。 实验中,也遇到了一些问题。比如说:在图形保存中,选择“.gdf”格式,如果选择错误就会导致实验仿真错

7、误。在仿真前,要先建立工程,再进行编译,再导入图形中的输入项,最后进行仿真,观察其结果。 实验心得 通过这次实验,学会了MAX+plusII软件的使用,并且在实验当中,能够巩固课本上关于模计数器的相关知识点,通过图形法来实现其设计的目的,熟悉仿真方法,理解时序仿真,掌握用图形编辑法实现组合逻辑电路设计思想。实验三 六位环行计数器设计一、实验目的: (1) 熟悉图形输入编辑实现时序逻辑电路设计的过程。 (2) 掌握环行计数器的设计思路。二、实验内容: 通过分析六位环行计数器设计原理图,试写出该计数器的时钟方程、驱动方程和输出方程,并画出其状态转换图。通过时序仿真结果验证分析的正确性和原理图设计的

8、合理性。实验设计 1.实验要求 (1)掌握图形逻辑输入法及编译的方法。 (2)理解仿真实现过程并分析仿真结果。 (3)掌握环行计数器的设计方思路。 2.实验原理 环行计数器是由移位寄存器加上一定的反馈电路构成的 。图形中,采用输入输出模块,JK触发器和两个D触发器,连接组成的六位环行计数器。 3.实验电路 4.仿真结果图 五、实验结果分析 本实验利用原理图编辑输入完成六位环行计数器的设计,在连接相关模块后,进行编译,建立工程,导入输入项(CLK时钟信号),再进行仿真,其结果如图所示。从仿真图,我们可以看出,初始值设定在“000”,然后是“001”,“011”,“111”,“110”,“100”

9、,最后又回到初始值。继续循环下去。实验心得 此次实验,通过对计数器的设计,学会使用触发器来实现功能的输出,掌握时序逻辑电路的设计方法,并能运用相关的元器件来进行图形的连接,掌握仿真的方法,掌握编译的方法,能对仿真结果进行分析。并且在实验中,也能巩固书本上的相关知识点,加强学习的积极性,能够在不懂得实验相关点,及时的反映给老师,并且得到解决的方法,自主学习的能力能够得到提升。 实验六 基于VHDL语言的分频器设计与实现一、实验目的 1、进一步掌握VHDL语言的基本结构及设计的输入方法。 2、掌握VHDL基本逻辑电路的综合设计应用。二、实验内容 1、设计并实现一个6分频的分频电路,要求其输出信号的

10、占空比为50。请分析分频电路设计原理并编写VHDL语言程序,利用Max+PlusII开发软件对其进行编译和仿真。6分频电路实现程序代码如下: 2、在实际数字电路设计过程中,往往需要得到占空比不是1:1的分频时钟,方法是:首先描述一个计数器电路,然后根据计数器电路的并行输出信号来决定输出时钟的高低电平。请设计、编写VHDL语言程序实现分频后时钟信号的占空比为1:15的16分频电路,并利用Max+PlusII开发软件对其进行编译和仿真。三、实验设计 1.实验原理 在数字电路系统中,分频电路应用得十分广泛。例如,工程人员常常使用分频电路来得到数字通信中的帧头信号、选通信号以及中断信号等。因此,分频电

11、路在数字电路系统的设计中也应该作为重要的基本电路来掌握,从而给今后的一些设计带来方便。 实验程序图 在Max+PlusII中的截图 3.仿真结果: 程序代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clk_div6 is port(clk:in std_logic; clk_out:out std_logic);end clk_div6;architecture rtl of clk_div6 is signal clk_temp:std_logic;begin proces

12、s(clk) variable counter:integer range 0 to 15; constant md:integer:=2; beginif clkevent and clk=1thenif counter=md then counter:=0; clk_temp=not clk_temp; else counter:=counter+1; end if;end if; end process;clk_out=clk_temp;end rtl;四、实验结果分析 本实验利用VHDL语言设计分频电路,目的在于进一步掌握VHDL语言的基本结构及设计的输入方法,掌握VHDL基本逻辑电路

13、的综合设计应用。从结果分析来看,通过输入的时钟信号来控制输出的信号,通过相关元器件的连接,及程序的编译结果,来实现分频的目的。五、实验心得 本次实验比较难以入手,很多程序段的编写必须要参考实验指导和专业教材来进行,而且在编写完成,在编译时,也会出现很多的错误,对于VHDL语言的基本结果,在课堂上没有完全掌握,所知道的也是很少的一部分知识,所以实验当中遇到了很多的困难。所以最终的仿真结果也来不及更多的去检查正确性。此次实验,我明白了,课本的知识对于实际操作来时有很大的帮助作用,还需更加巩固课本所学,来进一步达到实验的目的。实验九 汽车尾灯控制器设计与实现一、实验目的 1、进一步掌握VHDL语言的

14、基本结构及设计的输入方法。 2、掌握自顶向下设计方法。 3、掌握层次化设计混合编程方法。二、实验原理 汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。通过设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT和系统的输出信号:汽车左侧3盏指示灯LD1、LD

15、2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。三、实验设计 1.实验内容 假设汽车尾部左右两侧各有3盏指示灯,其控制功能应包括: (1)汽车正常行驶时指示灯都不亮。 (2)汽车右转弯时,右侧的一盏指示灯亮。 (3)汽车左转弯时,左侧的一盏指示灯亮。 (4)汽车刹车时,左右两侧的一盏指示灯同时亮。 (5)汽车在夜间行驶时,左右两侧的一盏指示灯同时一直亮,供照明使用。 根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方式,它由时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块四部分组成。 2.系统设计原理图如下图所示。 系统的输入信号包括:系

16、统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。系统的输出信号包括:汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3。 系统工作原理为:当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。 请分析汽车尾灯控制器实现过程,编写程序代码,结合已设计底层文件实现顶层元器件(采用混合编

17、程)设计,使之组成完整系统。3.对整个系统的仿真对时序仿真图进行分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。RD1,RD2,RD3为输出信号,表示汽车右侧的三盏灯。LD1,LD2,LD3为输出信号,表示汽车左侧的三盏灯。如图所示:当RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1时,LD2,RD2输出均为1,表示左,右两侧各有一盏灯亮。当BRAKE为1时,LD3,RD3输出均为1,表示左,右两侧各有一盏灯亮。整个系统

18、仿真图 3.程序代码 Library ieee; 程序代码: use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; ENTITY qiche IS PORT( light_cs : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -大到小light 69 68 67 66 fs: in std_logic_vector(4 downto 0); light : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) -灯70绿 71黄

19、72红 ); END qiche ; ARCHITECTURE one OF qiche IS begin process(fs) begin if fs(0)=1 then -) 汽车正常行驶时指示灯都不亮。 light=000; light_cs=1111; elsif fs(1)=1 then - 汽车右转弯时,右侧的一盏指示灯亮 light=010; light_cs=1110; elsif fs(2)=1 then - 汽车左转弯时,左侧的一盏灯亮 light=010; light_cs=1011; elsif fs(3)=1 then - 汽车刹车时,左右两侧的一盏指示灯 同时亮

20、light=001; light_cs=1010; elsif fs(4)=1 then - 汽车在夜间行驶时,左右两侧的一盏 指示灯同时一直亮,供照明使用。 light=100; light_cs=1010; end if; end process; end one 四、实验心得 本实验利用VHDL语言结合层次化设计混合编程思想设计实现汽车尾灯控制器,实验比较难做,其实验原理简单,实际操作的时候遇到很多困难。在程序的编写时,有点困难。最后的仿真结果,也不是很明白。 实验十 彩灯控制器设计与实现一、实验目的 1、进一步掌握VHDL语言的基本结构及设计的输入方法。 2、掌握VHDL语言中状态机的

21、设计与实现。 3、掌握层次化设计混合编程方法和元件例化语句的使用方法。二、实验原理 这次的彩灯设计采用的是分模块来完成的,包括分频器、计数器、选择器、彩灯控制器。其中彩灯控制器是用来输出不同的花样,彩灯控制器的输出则是用一个32进制的计数器来控制,扬声器的输出时用不同的频率来控制,所以用了一个集成分频器来使输入的频率被分为几种不同的频率,不同频率的选择性的输出则是用一个4选一的选择器来控制。基于上述的介绍本次的彩灯控制采用的模式6来进行显示。 三、实验内容 1、设计并实现一彩灯控制器,要有多种花型变化(至少设计4种);多种花型可以自动变换,循环往复;彩灯变换的快慢节拍可以选择;彩灯控制器具有清

22、零开关。 2、根据系统设计要求,现设计一个具有6种花型循环变化的彩灯控制器。系统设计采用自顶向下的设计方法,系统的整体组装设计原理图如图所示,它由时序控制模块和显示控制模块两部分组成。整个系统有3个输入信号:系统时钟信号CLK,系统清零信号CLR和控制彩灯节奏快慢的选择开关SPEED。9个输出信号LED8.0,分别用于模拟彩灯。 系统整体设计原理图如下图所示,请编写SX、XS程序代码,分析彩灯控制器实现过程,结合现已设计底层文件实现顶层元器件(采用混合编程或VHDL文本编辑输入法)系统的设计,使之组成一个完整系统。系统整体组装设计原理图3. 模块设计 1)集成分频器模块 设计要求显示不同的彩灯

23、的时候要伴随不同的音乐,所以设计分频器来用不同的频率控制不同的音乐输出。 模块说明:Rst:输入信号 复位信号 用来复位集成分频器的输出使输出为“0”,及没有音乐输出。 Clk:输入信号 模块的功能即为分频输入的频率信号。Clk_4、clk_6、clk_8、clk_10:输出信号 即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/6分频输出、1/8分频输出、1/10分频输出。 图3-2-1 集成分频器2)32进制计数器模块 32进制模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。 Rst:输入信号 复位信号 用来复位32进制使其输出为“00000”。 Clk:输入信号 用来

24、给模块提供工作频率。 Count_out4.0:输出信号 即为32进制计数器的输出。 图3-2-2 32进制计数器 3)彩灯控制模块 彩灯控制模块用来直接控制彩灯的输出,使彩灯表现出不同的花样。 Rst:输入信号 使彩灯控制模块的输出为“00000000”,即让彩灯无输出。Input4.0:输入信号 不同的输入使彩灯控制模块有不同的输出即彩灯显示出不同的花样。Output7.0:输出信号 直接与彩灯相连来控制彩灯。 图3-2-3 彩灯控制模块4) 4选1选择器模块Rst:输入信号 复位信号 使选择器的输出为“0”。In1、in2、in3、in4:输入信号 接分频器的输出。Inp1.0:输入信号

25、 接4进制计数器的输出用来控制选择器的选择不同的输入选择不同的输出。Output:输出信号 直接接扬声器即输出的是不同的频率来控制扬声器播放音乐。 图3-2-4 4选1选择器 5)4进制计数器模块 4进制计数器作为选择器的输入来控制选择器选择不同的频率作为输出控制扬声器工作。 Clk:输入信号 来为计数器提供工作频率。 Rst:输入信号 复位信号 使计数器的输出为“00”。 图3-2-5 4进制计数器4.程序及仿真结果分频器模块:- MAX+plus II VHDL Template- Clearable loadable enablable counterLIBRARY ieee;USE i

26、eee.std_logic_1164.all;ENTITY fenpinqi ISPORT ( clk,rst : IN std_logic; clk_10,clk_4,clk_6,clk_8 : OUT std_logic ); END fenpinqi;ARCHITECTURE cd OF fenpinqi ISbeginp1:process(clk,rst) variable a:integer range 0 to 20; begin if rst=1 then clk_4=3 then a:=0; clk_4=1; else a:=a+1; clk_4=0; end if; end

27、if; end if;end process p1;p2:process(clk,rst) variable b:integer range 0 to 20; begin if rst=1 then clk_6=5 then b:=0; clk_6=1; else b:=b+1; clk_6=0; end if; end if; end if;end process p2;p3:process(clk,rst) variable c:integer range 0 to 20; begin if rst=1 then clk_8=7 then c:=0; clk_8=1; else c:=c+

28、1; clk_8=0; end if; end if; end if;end process p3;p4:process(clk,rst) variable d:integer range 0 to 20; begin if rst=1 then clk_10=9 then d:=0; clk_10=1; else d:=d+1; clk_10=0; end if; end if; end if;end process p4;end cd;4选1选择器:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY xzq4_1 IS PORT ( rst:in std_logic; inp:in integer range 0 to 3; in1,in2,in3,in4 : In std_logic; output : OUT std_logic ); END xzq4_1;ARCHITECTURE a OF xzq4_1 IS BEGIN PROCESS (rst,inp) BEGIN if(rst=1) then outputoutputoutputoutputoutput=in4; when other

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1