集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx

上传人:b****3 文档编号:4185465 上传时间:2022-11-28 格式:DOCX 页数:21 大小:181.80KB
下载 相关 举报
集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx_第1页
第1页 / 共21页
集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx_第2页
第2页 / 共21页
集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx_第3页
第3页 / 共21页
集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx_第4页
第4页 / 共21页
集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx

《集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx》由会员分享,可在线阅读,更多相关《集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx(21页珍藏版)》请在冰豆网上搜索。

集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真.docx

集成电路课程设计报告带有进位输出端的十三进制计数器的设计与仿真

集成电路课程设计报告

带有进位输出端的十三进制计数器的设计与仿真

 

院系:

材料与光电物理学院

专业:

微电子学一班

学号:

姓名:

指导教师:

报告提交日期:

2010年9月

摘要··········································································································································1

关键词·····································································································································1

1引言·····································································································································2

2同步时序逻辑电路的设计方法···········································································4

2.1时序逻辑电路概述········································································································4

2.2同步时序电路设计的一般方法······················································································5

3设计·····································································································································7

3.1同步二进制加法计数器·····························································································7

3.2带进位输出端的十三进制计数器设计···························································10

3.2.1具体电路实现········································································································10

3.2.2电路自启动检查·················································································14

4仿真·······································································································································16

4.1仿真原理················································································································16

4.2仿真与结果分析·············································································································17

5结论···································································································································19

6体会与展望······················································································································20

参考文献·······························································································································21

致谢·····································································································································22

带有进位输出端的十三进制计数器的设计与仿真

摘要:

首先,本文从一般方法入手,介绍了同步时序电路设计的方法过程,然后将此方法应用于同步二进制电路的设计,再在同步二进制计数器的基础上进行分析给出十三进制电路状态方程、卡诺图,得到带进位输出端得十三进制计数器的设计,最后用MUX+plus2对所得电路进行仿真,验证设计,并对电路延时等性能进行分析。

关键词:

同步时序逻辑电路,同步二进制计数器,带进位输出端得十三进制计数器,MUX+plus2

Designandsimulationofbinarycounterthirteenwithcarryout

Abstract:

Inthispaper,theordinarydesignmethodofsynchronoussequentiallogiccircuitisintroducedatfirst.Thenapplyingthismethodtothedesignofsynchronousbinarycounters。

Onthebasisofsynchronousbinarycounters,equationsandKarnaughmapofbinarycounterthirteenwithcarryoutarepresented,thuswecangetthedesignofbinarycounterthirteenwithcarryout.Atlast,simulationofthiscircuitiscarriedoutbyMUX+plus2.Accordingtotheresultsofthesimulation,itswaveformandtimingdelayareanalyzed.

Keywords:

synchronoussequentiallogiccircuit,synchronousbinarycounters,binarycounterthirteenwithcarryout,MUX+plus2

 

1引言

电子计数器是指能完成频率测量、时间测量、计数等功能的所有电子测量仪器的通称。

频率和时间是电子测量仪器技术领域中最基本的参量,因此电子计数器是一类重要的电子测量技术仪器,使仪器在小型化、耗电、可靠性,等方面都大为改善。

尤其是与微处理器的结合它体现了智能化,使得这类仪器的原理与设计发生了重大的变化。

电子计数器有通用计数器的专用计数器之分。

目前,定时计数及控制电路大多采用单片机外加输入/输出接口电路构成。

计数器是一种基础测量仪器,到目前为止已有30多年的发展史,早期设计师们追求的目标主要是扩展测量范围再加上提高测量精度和稳定度等,这些也是人们衡量电子计算器的技术水平,也决定电子计数器价格高低的主要依据,随着科学技术的发展,用户对电子计数器也提出了新的要求,对于低档产品要求使用操作方面,量程(足够)宽,可靠性高,价格低。

而对于中高档产品,则要求高分辨率,高精度,高稳定度,高测量速率。

计数器是数字电路中使用最多的一种时序逻辑电路。

计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时,产生节拍脉冲和脉冲序列以及进行数字运算等。

计数器的种类很多,从不同的角度出发,有不同的分类方法:

按照计数进位制的不同,可分为二进制计数器、二—十进制(或称十进制)计数器和任意进制(也称N进制)计数器;按照计数器中的触发器是否同时动作分类,可把计数器分为同步计数器和异步计数器;按照计数器中所表示的数字的变化规律是递增还是递减来分,有加法计数器、减法计数器和可逆计数器(递增计数的称为加法计数器,递减计数的称为减法计数器,既可递增又可递减的称为可逆计数器)[1]。

虽然目前市场上的计数器非常多,但通用性比较差,要完成特定的功能往往需要把多片集成电路组合使用,产品的设计和开发周期比较长,且计数器在速度、抗干扰能力等多项指标上满足不了要求[2]。

目前市场上所具有的计数器大多是二进制或是十进制计数器,而较少使用十三进制的计数器,除非是在专用的集成电路中,因此设计性能好、速度快的十三进制计数器是有一定市场前景的。

目前主要采用两种设计方法来进行计数器的设计,第一种为采用传统的硬件电路设计方法来设计硬件,第二种为采用HDL语言来设计系统硬件。

电子设计自动化的普及与CPLD/FPGA器件的广泛应用,使得计数器的设计变得非常容易。

其中可编程计数器使用方便,灵活,能满足工程上的多种应用。

计数器是时序电路但也有其特点:

第一,计数器一般将触发器的输出直接构成电路的输出,在分析电路时往往只有状态方程而没有输出方程。

第二,计数器电路直接将时钟信号作为输入信号。

除了时钟信号以外,大部分电路没有其他输入(即使有也往往是辅助功能控制信号)。

尽管计数器有上述特点,对他们的分析方法还是与其他时序电路一样,只是状态图和状态表略有不同[4]。

本文中先对同步时序电路的一般方法进行介绍,然后根据一般方法设计带进位输出端的十三进制计数器电路,最后用MUX+plus2对电路进行仿真验证并分析其性能。

2同步时序逻辑电路的设计方法

2.1时序逻辑电路概述

与组合逻辑电路不同,时序电路具有记忆功能,并且当时的输出和信号的历史有关,所以时序电路中除了包含组合逻辑电路之外,还包含有记忆单元。

记忆单元的输出逻辑组合被称为时序电路的状态(State)。

状态只有在驱动信号来到之时发生改变。

无论是时钟驱动还是事件驱动,在两次驱动间隔期间,系统的状态保持不变。

图1时序电路的基本框架

时序电路又可以细分为摩尔型和米利型:

摩尔模型中,时序电路在tk时刻的输出仅于当时刻的现态有关,而与当前输入无关。

米利模型中,时序电路在tk时刻的输出不仅与现态有关,并且与tk时刻的输入也有关。

图2同步时序电路的米利模型

 

图3同步时序电路的摩尔模型

本文中所要设计的计数器的工作特点是在时钟信号操作下自动地依次从一个状态转为下一个状态,所以它没有输入逻辑变量,只有进位输出信号。

因此是属于摩尔型的一种简单时序电路。

2.2同步时序电路设计的一般方法

步骤一分析电路的功能要求或者时序图,设计描述该电路的有限状态机

任何一个同步时序电路,在大多数情况下问题是以自然语言描述的,所以电路设计的第一步也是最为关键的一步,就是通过分析自然语言所能表达的功能要求,列出该问题的状态转换表或者状态转换图。

状态状态转换表或者状态转换图实际上可以表达该时序电路的所有信息,这样描述的时序电路也称为状态机。

时序电路通常可以用一个通用模型来表示,就是有限状态机。

所谓有限,是指在该状态机中的状态数是有限的,包含的信息量也是有限的。

有限状态机要求可以在有限的状态内完成一个时序电路的所有操作。

大部分实际时序电路问题可以满足这一限制,通常涉及时序电路的第一步就是设计一个有限状态机的问题。

事实上设计有限状态机的过程还可以进一步细分为以下几个步骤:

(1)确定采用何种模型(米利模型还是摩尔模型)来实现有限状态机;

(2)根据问题的描述得到一个初步的状态转换表或者状态转换图;

(3)分析得到的状态转换表或者状态转换图。

对其中的冗余状态进行化简,得到一个最初简单的状态机。

步骤二用实际的逻辑电路(触发器和其他组合逻辑电路)实现上述有限状态机

上一步骤属于抽象的逻辑设计,而这一部分将是具体的实际设计过程。

在这一过程中,要用具体的触发器和组合电路来完成上一步得到的有限状态机。

具体来说这一过程也可以分成若干步骤:

(1)状态编码,也就是给每一个状态赋予一个适当的二进制码;

(2)确定采用何种具体的触发器,根据状态编码和触发器类型,从有限状态机的状(3)态转换关系得到电路的状态激励表;

(4)根据状态激励表得到触发器的激励方程,根据状态转换表得到电路的输出方程,根据电路的具体要求化简这两组方程,得到它们最合适的表达式;

(5)由上述表达式得到最终的逻辑电路图。

 

3设计

我们计算机中所用进制是二进制,数字电路设计中也是很容易用0和1来表示两种不同的状态,因此在数字电路设计中也是以二进制为基础的。

本文要设计的带进位输出端的十三进制计数器需以同步二进制计数器为基础。

下面首先对同步二进制加法计数器的逻辑电路、驱动方程、状态方程、输出方程等进行分析,然后在其基础上分析十三进制计数器的设计。

3.1同步二进制加法计数器

根据二进制加法运算规则可知,在一个多位二进制数的末位加1时,若其中第i位(既任何一位)一下各位皆为1时,则第i位应改变状态(有0变成1,或者有1变成0)。

而最低位的状态在每次加1时都要改变状态。

同步计数器通常由T触发器构成,其结构形式有两种。

一种是控制输入端T的状态。

当每次CLK信号(也就是计数脉冲)到达时,是该翻转的那些触发器输入控制端

,不该翻转的

另一种形式是控制时钟信号,每次计数脉冲到达时,只能加到该翻转的那些触发器的CLK输入端上,而不能加给那些不该翻转的触发器。

同时,将所有的触发器接成

的状态。

这样就可以用计数器电路的不同状态来记录输入的CLK脉冲数目。

由此可知,当通过T端的状态控制时,第i位触发器输入端的逻辑式应为

(1)

只有最低位例外,按照计数规则,每次输入计数脉冲时它都要翻转,故

=1。

图4就是按

(1)式结成的四位同步二进制加法计数器。

由图可见,各触发器的驱动方程为

(2)

将上式代入T触发器的特性方程式得到电路的状态方程

(3)

电路的输出方程为

(4)

根据状态方程和输出方程求出电路的状态转换表,如表1所示。

利用第16个计数脉冲到达时C端电位的下降可作为向高位计数器电路进位的输出信号。

表1电路的状态转换表

计数脉冲

电路状态

等效十进制数

进位输出C

Q3

Q2

Q1

Q0

0

0

0

0

0

0

0

1

0

0

0

1

1

0

2

0

0

1

0

2

0

3

0

0

1

1

3

0

4

0

1

0

0

4

0

5

0

1

0

1

5

0

6

0

1

1

0

6

0

7

0

1

1

1

7

0

8

1

0

0

0

8

0

9

1

0

0

1

9

0

10

1

0

1

0

10

0

11

1

0

1

1

11

0

12

1

1

0

0

12

0

13

1

1

0

1

13

0

14

1

1

1

0

14

0

15

1

1

1

1

15

1

16

0

0

0

0

0

0

 

图4用T触发器构成的同步二进制加法计数器

 

图5同步二进制计数器的时序图

图5为所示电路的时序图。

由时序图可以看出,若计数输入脉冲的频率为

,则Q0、Q1、Q2和Q3端输出脉冲的频率将依次为

针对计数器的这种分频功能,也将它称为分频器。

此外,每输入16个计数脉冲计数器工作一个循环,并在输出端C产生一个进位输出信号,所以又将这个电路称为16进制计数器。

计数器中能计到的最大数称为计数器的容量,它等于计数器所有各位全为1时数值。

位二进制计数器的容量等于

-1。

在实际生产的计数器芯片中,往往还会附加一些控制电路,以增加电路的功能和使用的灵活性。

例如增加预置数、保持和异步置零等附加功能。

3.2带进位输出端的十三进制计数器设计

3.2.1具体电路实现

首先进行逻辑抽象,因为计数器的工作特点是在时钟信号操作下依次从一个状态转为下一个状态,所以它没有输入逻辑变量,只有进位输出信号。

因此计数器属于摩尔型的一种简单时序电路。

取进位信号为输出逻辑变量C,同时规定有进位输出时C=1,无进位输出时C=0。

十三进制计数器应该有十三个有效状态,若分别用

来表示,则按照题意可以画出,如图5所示的电路状态转换图。

图6状态转换图

由于

,故应取触发器的位数n=4。

假如对状态分配无特殊要求,可以取自然二进制数的0000~1100作为

的编码。

于是得到了表2中的状态编码。

表2电路的状态转换表

状态变化顺序

状态编码

进位输出C

等效十进制数

Q3

Q2

Q1

Q0

S0

0

0

0

0

0

0

S1

0

0

0

1

0

1

S2

0

0

1

0

0

2

S3

0

0

1

1

0

3

S4

0

1

0

0

0

4

S5

0

1

0

1

0

5

S6

0

1

1

0

0

6

S7

0

1

1

1

0

7

S8

1

0

0

0

0

8

S9

1

0

0

1

0

9

S10

1

0

1

0

0

10

S11

1

0

1

1

0

11

S12

1

1

0

0

1

12

S0

0

0

0

0

0

0

由于电路的次态Q3*Q2*Q1*Q0*和进位输出C唯一地取决于电路现态Q3Q2Q1Q0取值,故可根据表2画出表示次态逻辑函数和进位输出函数的卡诺图,如表3所示。

因为计数器正常工作时不会出现1101,1110和1111的三个状态,所以可以将Q3Q2Q1Q0和

以及

三个最小项作为约束项处理,在卡诺图中用X表示。

为了清晰可见图7中的卡诺图分解为图8中的所示的五个卡诺图,分别表示Q3*,Q2*,Q1*,Q0*和C这五个逻辑函数。

从这些卡诺图得到电路的状态方程方程为

Q3*=

Q2*=

(5)

Q1*=

Q0*=

输出方程为

C=

(6)

Q1Q0

Q3Q2

00

01

11

10

00

0001/0

0010/0

0100/0

0011/0

01

0101/0

0110/0

1000/0

0111/0

11

0000/1

xxxx/x

xxxx/x

xxxx/x

10

1001/0

1010/0

1100/0

1011/0

图7Q3*Q2*Q1*Q0*/C的卡诺图

 

Q1Q0

Q3Q2

00

01

11

10

00

0

0

0

0

01

0

0

1

0

11

0

x

x

x

10

1

1

1

1

Q1Q0

Q3Q2

00

01

11

10

00

0

0

1

0

01

1

1

0

1

11

x

x

x

x

10

0

0

x

x

 

(a)Q3*

(b)Q2*

Q1Q0

Q3Q2

00

01

11

10

00

1

0

0

1

01

1

0

0

1

11

0

x

x

x

10

1

0

0

1

Q1Q0

Q3Q2

00

01

11

10

00

0

1

0

1

01

0

1

0

1

11

0

x

x

x

10

0

1

0

1

(c)Q1*

(d)Q0*

 

(d)Q0*

(c)Q1*

(d)Q0*

(c)Q1*

Q1Q0

Q3Q2

00

01

11

10

00

0

0

0

0

01

0

0

0

0

11

1

x

x

x

10

0

0

0

0

(e)C

图8卡诺图分解

如果选用JK触发器组成这个电路,则(5)式的状态方程变换成JK触发器特性方程的标准形式,即

然后就可以找出驱动方程了。

为此,将式(5)改写成

(7)

在变换

的逻辑式时,删去了约束项

将(7)式中的各逻辑式与JK触发器的特性方程对照,则各个触发器的驱动方程应为

(8)

根据(6)式和(8)式花的计数器的逻辑图为

 

图9十三进制计数器原理图

3.2.2电路自启动检查

我们在设计电路时,有时会遇到电路不能自启动问题.当电路不能自启动时,一般是不能应用于生产实践中的,而必须对电路进行修改。

在本文中我们从电路的状态流程图中可以知道,电路的有效状态是0000至1100,无效状态时1101,1110和1111,将这三个无效状态代入(7)式中计算得到它们的次态分别为0010,0010和0000,也就是说此电路能够完成自启动。

下图为它完整的的状态转换图

图10完整的状态转换图

 

4仿真

4.1仿真原理

本文使用了MAX+plusII对设计的电路进行设计仿真。

Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。

Max+plusⅡ界面友好,使用便捷,被誉为业界最易用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

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

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