当前位置:文档之家› EDA技术实践课程设计--24进制计数器

EDA技术实践课程设计--24进制计数器

E D A技术实践课程设计--24进制计数器-CAL-FENGHAI.-(YICAI)-Company One1东北石油大学EDA技术实践课程设计年 7月 25日EDA技术实践课程设计任务书课程 EDA技术实践课程设计题目 24进制计数器专业电气工程及其自动化姓名学号主要内容:1.熟练掌握Quartus II软件的使用。

2.熟练掌握在QuartusII平台上用原理图或者VHDL语言进行电路设计的方法。

3.学会用例化语句对EDA电路设计中顶层电路进行描述。

基本要求:1.熟悉仿真开发软件Quartus II的使用;2.根据功能要求,用原理图或文本输入方式完成设计;3.用Quartus II做波形仿真调试;4.下载至EDA试验仪调试设计。

主要参考资料:[1]潘松,黄继业. 《EDA技术实用教程》[M].北京:科学出版社,2002.[2]卢杰,赖毅. 《VHDL与数字电路设计》[M].北京:科学出版社,2001.[3]张明. 《Verilog HDL实用教程》[M].成都:电子科技大学出版社,1999.[4]郑家龙,王小海,章安元.《集成电子技术基础教程》[M].北京:高等教育出版社,2002.[5]王金明,杨吉斌. 《数字系统设计与Verilog HDL》[M].北京:电子工业出版社,2002.完成期限指导教师专业负责人年 7 月18日目录1设计 (1)2方案选择与电路原理图的设计 (1)2.124进制计数器的基本原理 (1)2.2设计流程图 (1)2.3原理图 (1)374LS161元件说明 (2)3.1 简介 (2)3.274ls161管脚图与介绍 (2)3.374ls161功能表 (3)3.474ls161主要特点 (3)4设计过程 (4)4.1新文件的建立 (4)4.2宏功能模块的使用 (5)4.3普通元件的添加 (8)4.4 电路连接 (9)5功能仿真 (9)6出现的问题及调试方法 (11)7总结 (11)参考文献 (12)附录VHDL语言编写的该程序清单 (13)1 设计设计一个二十四进制计数器,计数状态从0~23,要求有译码显示。

2 方案选择与电路原理图的设计2.1 24进制计数器的基本原理用两个74ls161为主,其中一个为输出结果的低四位,另一个为输出结果的高4位,低四位从0000到1001(即十进制的九)然后置0000 并且高四位加1,如此到高四位为0010,第四位为0011,这时计数到23,进位信号输出1,同时8位输出同时置0;2.2 设计流程图图2.1 设计流程图2.3 原理图由采用两个74ls161和一个与非门构成的最基本的24进制计数器。

图2.2 24进制计数器原理图3 74LS161元件说明3.1 简介74LS161是常用的四位二进制可预置的同步加法计数器,它可以灵活地运用在各种数字电路,以及单片机系统种实现分频器等很多重要的功能3.274ls161管脚图与介绍管脚图介绍:时钟CP和四个数据输入端P0~P3清零/MR使能CEP,CET置数PE数据输出端Q0~Q3以及进位输出TC. (TC=Q0·Q1·Q2·Q3·CET)图3.1 74ls161管脚图图3.2 74ls161的逻辑符号3.374ls161功能表表3-1 74ls161功能表从74LS161功能表功能表中可以知道,当清零端CR=“0”,计数器输出Q3、Q2、Q1、Q0立即为全“0”,这个时候为异步复位功能。

当CR=“1”且LD=“0”时,在CP信号上升沿作用后,74LS161输出端Q3、Q2、Q1、Q0的状态分别与并行数据输入端D3,D2,D1,D0的状态一样,为同步置数功能。

而只有当CR=LD=EP=ET=“1”、CP脉冲上升沿作用后,计数器加1。

74LS161还有一个进位输出端CO,其逻辑关系是CO= Q0·Q1·Q2·Q3·CET。

合理应用计数器的清零功能和置数功能,一片74LS161可以组成16进制以下的任意进制分频器。

3.474ls161主要特点(1)异步清零功能当CR=0时,不管其他输人端的状态如何(包括时钟信号CP),4个触发器的输出全为零。

(2)同步并行预置数功能在CR=1的条件下,当LD=0且有时钟脉冲CP的上升沿作用时,D3,D 2,D1,D0输入端的数据将分别被Q3~Q0所接收。

由于置数操作必须有CP脉冲上升沿相配合,故称为同步置数。

(3)保持功能在CR=LD=1的条件下,当T*P=0时,不管有无CP脉冲作用,计数器都将保持原有状态不变(停止计数)。

(4)同步二进制计数功能当CR=LD=P=T=1时,74LS161处于计数状态,电路从0000状态开始,连续输入16个计数脉冲后,电路将从1111状态返回到0000状态,状态表见表2。

(5)进位输出C当计数控制端T=1,且触发器全为1时,进位输出为1,否则为0。

4设计过程4.1新文件的建立建立新项目工程,方法如右图点击:【File】菜单,选择下拉列表中的【New Project Wizard...】命令,打开建立新项目工程的向导对话框。

从File菜单中选择【New…】命令,或直接点击常用工具栏的第一个按钮,打开新建设计文件对话框,如下图。

选择【Block Diagram/Schematic File】,点击OK,即进入原理图编辑界面。

图图4.1 新建工程项目图4.2 新建设计文件4.2 宏功能模块的使用双击原理图编辑窗口,在弹出的元件选择窗口的“Libraries”栏中选择“arithmetic”中的lpm_counter元件,如下图所示,图4.3 新增宏模块对lpm_counter元件的各种参数进行选择,定制适合设计需要的模块,NEXT。

在“How wide should the ‘q’ output bus be?”此处输入“4”位;并选择“Up only”(为双边沿有效 ),NEXT。

图4.4参数界面1选择计数器的类型:Plain binary(二进制)Modulus(任意模值)”;在“Do you want any optional additional ports?”栏中可以为定制的lpm_counter选择增加一些输入输出端口,如“Clock Enable(时钟使能)”、“Carry-in(进位输入)”、“Count Enable(计数器使能)”和“Carry-out(进位输出)”。

图4.5参数界面2弹出定制lpm_counter元件对话框5。

可为计数器添加同步或者异步输入控制端口,如“Clear(清除)”、“Load(加载)”和“Set(设置)”。

如果不要添加这些端口,直接单击“Next>”按钮即可。

图4.6参数界面3另一种方法:直接双击原理图的任一空白处,会弹出一个元件对话框。

在Name 栏目中输入 74161 ,我们就得到一个四位二进制计数器。

图4.7 74ls161完成品4.3 普通元件的添加双击原理图的任一空白处,会弹出一个元件对话框。

在 Name 栏目中输入and2,我们就得到一个2输入的与门。

点击 OK 按钮,将其放到原理图的适当位置。

重复操作,放入另外两个2输入与门。

也可以通过右键菜单的 Copy 命令复制得到。

图4.8普通元件的添加双击原理图的空白处,打开元件对话框。

在 Name 栏目中输入 Input , 我们便得到一个输入引脚。

点击 OK 按钮,放入原理图。

同理,在 Name 栏目中输入output ,我们会得到一个输出引脚。

图4.9输入引脚的添加4.4 电路连接把所用的元件都放好之后,开始连接电路。

将鼠标指到元件的引脚上,鼠标会变成“十”字形状。

按下左键,拖动鼠标,就会有导线引出。

根据我们要实现的逻辑,连好各元件的引脚。

图4.10 完成品5功能仿真在【File】菜单下,点击【New】命令。

在随后弹出的对话框中,切换到【Other Files】页。

选中【Vector Waveform File】选项,点击 OK 按钮。

图5.1 打开仿真菜单在【Edit】菜单下,点击【Insert Node or B us…】命令,或在下图Name列表栏下方的空白处双击鼠标左键,打开编辑输入、输出引脚对话框。

在上图新打开的对话框中点击【Node Finder…】按钮,打开【Node Finder】对话框。

点击【List】按钮,列出电路所有的端子。

选中 in1信号,在 Edit 菜单下,选择【Value => Clock…】命令。

或直接点击左侧工具栏上按钮。

在随后弹出的对话框的Period栏目中设定参数,点击 OK 按钮。

随后重复设置。

图5.2 引脚设置对话框将软件的仿真模式修改为“功能仿真”模式.开始功能仿真,在【Processing】菜单下,选择【Start Simulation】启动仿真工具,或直接点击常用工具栏上的按钮。

仿真结束后,点击确认按钮。

观察仿真结果,对比输入与输出之间的逻辑关系是否符合电路的逻辑功能。

图5.3 24进制计数器波形图6出现的问题及调试方法作为第一次使用Quartus软件的我们来说,出现了诸多问题,现列出主要问题如下:第一个问题是发现采用原理图法输出结果并不是24进制的计数器输出的波形,经过检查是由于芯片引脚接反了,改正引脚揭发后输出结果完全正确。

输出波形为24进制波形图。

另外一个出现的问题是元件的虚接,原因自然是对QuartusII软件的了解不够充分,使用不熟练,有待加强。

7 总结本课程设计就24进制计数器进行原理图设计,使用QUARTUS II软件进行了仿真,验证了设计的合理性和可行性。

具体内容包括:1、设计了24进制计数器系统的主电路和控制电路,包括74LS161集成块的构造、各种与非门,与门器件之间的连接等等......;2、根据设计任务指标计算了各部分系统参数,并进行了相应元件选取,在我的设计过程中共使用了两块74LS161集成块与一些门电路构成;3、利用QUARTUS II软件进行了仿真,仿真结果表明:该计数器可以正常运行;4、电路没有特别新颖的地方,属于最简单的24进制计数器类型。

参考文献[1]潘松,黄继业. 《EDA技术实用教程》[M].北京:科学出版社,2002.[2]卢杰,赖毅. 《VHDL与数字电路设计》[M].北京:科学出版社,2001.[3]张明. 《Verilog HDL实用教程》[M].成都:电子科技大学出版社,1999.[4]郑家龙,王小海,章安元.《集成电子技术基础教程》[M].北京:高等教育出版社,2002.[5]王金明,杨吉斌. 《数字系统设计与Verilog HDL》[M].北京:电子工业出版社,2002.附录 VHDL语言编写的该程序清单module ls161(Q,RCO,D,ET,EP,LOAD,CLR,CLK); output [3:0] Q;output RCO;input [3:0]D;input LOAD,ET,EP,CLR,CLK;reg [3:0]Q;wire EN;assign EN = ET&EP;always @(posedge CLK or negedge CLR)beginif(!CLR)Q = 4'b0000;else if(!LOAD)Q = D;else if(EN)beginif(Q==9)Q = 0;elseQ = Q+1;endendassign RCO = ((Q==4'b1001)&EN)1:0; endmodulemodule XS7D(DIN,DOUT);input [3:0]DIN;output [6:0]DOUT;reg [6:0] DOUT;always @(DIN)begincase(DIN)0:DOUT = 7'b1000000;1:DOUT = 7'b1111001;2:DOUT = 7'b0100100;3:DOUT = 7'b0110000;4:DOUT = 7'b0011001;5:DOUT = 7'b0010010;6:DOUT = 7'b0000010;7:DOUT = 7'b1111000;8:DOUT = 7'b0000000;9:DOUT = 7'b0010000;endcaseendendmodulemodule COUNT24(QL,QH,CLK,RRCO);output [6:0] QL,QH;output RRCO;input CLK;wire [3:0] Q1,Q2;wire RCOL,RCOH,RRCO,LOADL,LOADH,EN,LOAD;wire [3:0]D1,D2;wire VCC,GND;assign D1 = 4'b0000,D2 = 4'b0000,VCC = 1,GND = 0;ls161u1(.Q(Q1),.RCO(RCOL),.D(D1),.ET(VCC),.EP(VCC),.LOAD(LOAD),.CLR(VCC),.CLK(C LK));ls161u2(.Q(Q2),.RCO(RCOH),.D(D2),.ET(EN),.EP(EN),.LOAD(LOADH),.CLR(VCC),.CLK(CL K));XS7D u8(.DIN(Q1),.DOUT(QL));XS7D u9(.DIN(Q2),.DOUT(QH));nand u3(LOADL,Q1[3],Q1[0]);nand u4(LOADH,Q2[1],Q1[0],Q1[1]);not u5(EN,LOADL);and u6(LOAD,LOADL,LOADH);not u7(RRCO,LOADH);endmodule东北石油大学课程设计成绩评价表指导教师:年月日。

相关主题