您的当前位置:首页正文

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

2023-07-18 来源:好走旅游网


东 北 石 油 大 学

EDA技术实践课程设计

课 程 EDA技术实践课程设计 题 目 24进制计数器 院 系 电气信息工程学院电气系 专业班级 学生姓名 学生学号 指导教师

年 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.1 24进制计数器的基本原理 ............................................ 1 2.2 设计流程图 ........................................................ 1 2.3 原理图 ............................................................ 1 3 74LS161元件说明 ...................................................... 2

3.1 简介 .............................................................. 2 3.2 74ls161管脚图与介绍 ............................................... 2 3.3 74ls161功能表 ..................................................... 3 3.4 74ls161主要特点 ................................................... 3 4 设计过程 .............................................................. 4

4.1新文件的建立 ....................................................... 4 4.2 宏功能模块的使用 .................................................. 5 4.3 普通元件的添加 .................................................... 8 4.4 电路连接 .......................................................... 9 5 功能仿真 .............................................................. 9 6 出现的问题及调试方法 ................................................. 11 7 总结 ................................................................. 11 参考文献 ................................................................ 12 附录 VHDL语言编写的该程序清单 ........................................ 13

EDA技术实践课程设计(报告)

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进制计数器。

1

EDA技术实践课程设计(报告)

图2.2 24进制计数器原理图

3 74LS161元件说明

3.1 简介

74LS161是常用的四位二进制可预置的同步加法计数器,它可以灵活地运用在各种数字电路,以及单片机系统种实现分频器等很多重要的功能

3.2 74ls161管脚图与介绍

管脚图介绍:

时钟CP和四个数据输入端P0~P3 清零/MR 使能CEP,CET 置数PE

数据输出端Q0~Q3

以及进位输出TC. (TC=Q0·Q1·Q2·Q3·CET)

2

EDA技术实践课程设计(报告)

图3.1 74ls161管脚图 图3.2 74ls161的逻辑符号

3.3 74ls161功能表

表3-1 74ls161功能表

输入 CR 0 1 1 1 1 LD CTP CTT CP X 0 1 1 1 X X 0 X 1 X X 1 0 1 X ↑ X X ↑ D3 X d3 X X X D2 X d2 X X X D1 X d1 X X X D0 X d0 X X X Q3 0 d3 输出 Q2 0 d2 Q1 0 d1 Q0 0 d0 保持 保持 计数 从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.4 74ls161主要特点

(1)异步清零功能

3

EDA技术实践课程设计(报告)

当CR=0时,不管其他输人端的状态如何(包括时钟信号CP),4个触发器的输出全为零。

(2)同步并行预置数功能

在CR=1的条件下,当LD=0且有时钟脉冲CP的上升沿作用时,D3,D2,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

EDA技术实践课程设计(报告)

图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。

5

EDA技术实践课程设计(报告)

图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

6

EDA技术实践课程设计(报告)

弹出定制lpm_counter元件对话框5。可为计数器添加同步或者异步输入控制端口,如“Clear(清除)”、“Load(加载)”和“Set(设置)”。如果不要添加这些端口,直接单击“Next>”按钮即可。

图4.6 参数界面3

另一种方法:直接双击原理图的任一空白处,会弹出一个元件对话框。在 Name 栏目中输入 74161 ,我们就得到一个四位二进制计数器。

图4.7 74ls161完成品

7

EDA技术实践课程设计(报告)

4.3 普通元件的添加

双击原理图的任一空白处,会弹出一个元件对话框。在 Name 栏目中输入 and2 ,我们就得到一个2输入的与门。

点击 OK 按钮,将其放到原理图的适当位置。重复操作,放入另外两个2输入与门。也可以通过右键菜单的 Copy 命令复制得到。

图4.8 普通元件的添加

双击原理图的空白处,打开元件对话框。在 Name 栏目中输入 Input , 我们便得到一个输入引脚。点击 OK 按钮,放入原理图。同理,在 Name 栏目中输入 output ,我们会得到一个输出引脚。

图4.9 输入引脚的添加

8

EDA技术实践课程设计(报告)

4.4 电路连接

把所用的元件都放好之后,开始连接电路。将鼠标指到元件的引脚上,鼠标会变成“十”字形状。按下左键,拖动鼠标,就会有导线引出。根据我们要实现的逻辑,连好各元件的引脚。

图4.10 完成品

5 功能仿真

在【File】菜单下,点击【New】命令。在随后弹出的对话框中,切换到【Other Files】页。选中【Vector Waveform File】选项,点击 OK 按钮。

图5.1 打开仿真菜单

9

EDA技术实践课程设计(报告)

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

在上图新打开的对话框中点击【Node Finder…】按钮,打开【Node Finder】对话框。点击【List】按钮,列出电路所有的端子。

选中 in1 信号,在 Edit 菜单下,选择【Value => Clock…】命令。或直接点击左侧工具栏上按钮。在随后弹出的对话框的 Period 栏目中设定参数,点击 OK 按钮。随后重复设置。

图5.2 引脚设置对话框

将软件的仿真模式修改为“功能仿真”模式.

开始功能仿真,在【Processing】菜单下,选择【Start Simulation】启动仿真工具,或直接点击常用工具栏上的按钮。仿真结束后,点击确认按钮。观察仿真结果,对比输入与输出之间的逻辑关系是否符合电路的逻辑功能。

图5.3 24进制计数器波形图

10

EDA技术实践课程设计(报告)

6 出现的问题及调试方法

作为第一次使用Quartus软件的我们来说,出现了诸多问题,现列出主要问题如下:

第一个问题是发现采用原理图法输出结果并不是24进制的计数器输出的波形,经过检查是由于芯片引脚接反了,改正引脚揭发后输出结果完全正确。输出波形为24进制波形图。

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

7 总结

本课程设计就24进制计数器进行原理图设计,使用QUARTUS II软件进行了仿真,验证了设计的合理性和可行性。具体内容包括:

1、设计了24进制计数器系统的主电路和控制电路,包括74LS161集成块的构造、各种与非门,与门器件之间的连接等等......;

2、根据设计任务指标计算了各部分系统参数,并进行了相应元件选取,在我的设计过程中共使用了两块74LS161集成块与一些门电路构成;

3、利用QUARTUS II软件进行了仿真,仿真结果表明:该计数器可以正常运行;

4、电路没有特别新颖的地方,属于最简单的24进制计数器类型。

11

电工电子仿真实践课程设计(报告) 参考文献

[1]潘松,黄继业. 《EDA技术实用教程》[M].北京:科学出版社,2002. [2]卢杰,赖毅. 《VHDL与数字电路设计》[M].北京:科学出版社,2001. [3]张明. 《Verilog HDL实用教程》[M].成都:电子科技大学出版社,1999. [4]郑家龙,王小海,章安元. 《集成电子技术基础教程》[M].北京:高等教育出版社,2002.

[5]王金明,杨吉斌. 2002.

Verilog HDL》[12

M].北京:电子工业出版社,《数字系统设计与电工电子仿真实践课程设计(报告) 附录 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) begin end

module XS7D(DIN,DOUT); input [3:0]DIN; output [6:0]DOUT; reg [6:0] DOUT; always @(DIN) begin

case(DIN)

0:DOUT = 7'b1000000;

13

if(!CLR) Q = 4'b0000; else if(!LOAD)

Q = D;

else if(EN) begin

if(Q==9) Q = 0; else Q = Q+1; end

assign RCO = ((Q==4'b1001)&EN)?1:0;

endmodule

电工电子仿真实践课程设计(报告) end

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;

endcase

endmodule

module 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; ls161

u1(.Q(Q1),.RCO(RCOL),.D(D1),.ET(VCC),.EP(VCC),.LOAD(LOAD),.CLR(VCC),.CLK(CLK)); ls161

u2(.Q(Q2),.RCO(RCOH),.D(D2),.ET(EN),.EP(EN),.LOAD(LOADH),.CLR(VCC),.CLK(CLK));

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

14

东北石油大学课程设计成绩评价表

课程名称 题目名称 学生姓名 序号 评价项目 工作量、工作态度和出勤率 学号 EDA技术实践课程设计 24进制计数器 指导教 师姓名 职称 满分 指 标 按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。 课程设计选题合理,计算过程简练准确,分析评分 1 20 2 课程设计质量 问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。 工作中有创新意识,对前人工作有一些改进或有一定应用价值。 能正确回答指导教师所提出的问题。 45 3 4 总分 评语: 创新 答辩 5 30 指导教师: 年 月 日

因篇幅问题不能全部显示,请点此查看更多更全内容