引言计数器是数字系统中用的较多的基本逻辑器件,也是现代最常用的时序电路之一,它不仅能记录输入时钟脉冲的个数,还可以实现分频、定时、产生节拍脉冲和脉冲序列。
例如,计算机中的时序发生器、分频器、指令计数器等都要使用计数器。
计数器的种类不胜枚举,按触发器动作动作分类,可以分为同步计数器和异步计数器;按照计数数值增减分类,可以分为加计数器、减计数器和可逆计数器;按照编码分类,又可以分为二进制码计数器、BCD码计数器、循环码计数器。
此外,有时也会按照计数器的计数容量来区分,如五进制、十进制计数器等等。
1设计构思及理论根据电路的设计要求,要实现二―五―十进制计数,可以先实现十进制计数,然后通过倍频产生五进制计数和二进制计数;也可以先实现二进制计数和五进制计数,然后把它们连接起来进而产生十进制计数。
对比以上两种方法,明显后面的方法比较容易实现,而且实现所需的门电路也比较少,因而选择用第二种方法来进行设计。
1.1 二进制计数的原理二进制计数的原理图如图1.1.1所示,可以用一个T触发器接成一个'T触发器,这样在时钟的作用下,每来一个时钟触发器的输出与前一个状态相反,这样就够成了一个二进制计数器。
图1.1.1 二进制计数原理图图1.1.2 二进制计数波形图1.2 五进制计数的原理五进制计数的原理图如图2.2.1所示,要进行五进制计数,至少要有3个存储状态的触发器,本原理图中选用两个JK 触发器和一个'T 触发器构成五进制计数器,在时钟的作用下就可以进行五进制计数。
图1.2.1 五进制计数原理图图1.2.2 五进制计数波形图2 系统电路的设计及原理说明2.1 系统框图及说明图2.1.1 十进制计数框图图2.1.2 二-五进制计数框图根据设计的要求,在构成十进制计数器时,只需将二进制计数器和五进制计数器级联起来,即将二进制计数器的输出作为五进制计数器的时钟输入接起来就可以实现十进制计数了。
而在进行二-五进制计数时,可以将五进制计数器的输出作为二进制计数器的时钟输入,外部时钟输入到五进制计数器的时钟输入端即可在一个外部输入时钟的控制下分u oClk u ou 1别产生二进制计数和五进制计数了。
2.2 电路设计说明图 2.2.1 二-五-十进制计数原理图图2.2.1为设计的二-五-十进制原理图,其中最上面的'T触发器是一个二进制计数器,当时钟从CP0输入,并将T0的输出作为下面五进制计数模块的时钟输入就可以构成一个十进制计数器,如图2.2.2所示。
当时钟从CP1输入,而T3为二进制计数模块提供时钟输入时就构成了相应的二-五进制计数器,如图2.2.4所示。
图 2.2.2 十进制计数原理图图2.2.2为设计的十进制原理图,图中的LD/CT为置数/计数端,当它为高电平是计数器停止计数,在D0~D3端可以预置相应的电平,当LD/CT断变为低电平时,计数器开始从预置的数值开始计数。
图2.2.3为相应的仿真波形。
图 2.2.3 十进制计数波形图图 2.2.4 二-五进制计数原理图图2.2.4为设计的二-五进制原理图,。
同时,LD/CT 作为置数/计数端,也可以实现相应的置数和计数功能。
图2.2.5为相应的仿真波形。
图 2.2.5 二-五进制计数波形图2.3 关键模块的介绍 2.3.1 D 触发器触发器是时序电路中最重要而且最常用的元件,触发器在每次时钟脉冲触发沿到来之前的状态称为现态,而在此之后的状态称为次态。
按照触发器状态转换的规则不同,通常分为D 触发器、JK 触发器、T 触发器、SR 触发器等几种逻辑功能类型;按照电路结构的不同也可以分为主从触发器、维持阻塞触发器和利用传输门延迟的触发器。
维持阻塞结构的D 触发器的逻辑电路如图2.3.1所示。
图 2.3.1 维持阻塞D 触发器的逻辑电路该触发器由6个三输入的与非门组成,D S 、D R 、D 、CP 是触发器的输入端,而Q 、Q 是触发器的输出。
当触发器的输入D S =0、D R =1时,触发器被置1,即Q =1、Q =0;当D S =1、D R =0是,触发器被置0,即Q =0、Q =1;当D S =0、D R =0时,每来一个时钟边沿,触发器的输出取反一次,即Q =Q ;当D S 和D R 都为无效电平时,在时钟CP 的作用下,将时钟边沿到来前D 输入的数据传送到输出Q 端。
该触发器的特性表如表2.3.1所示。
表 2.3.1 D 触发器的特性表由触发器的状态表也可以得出它的特性方程n 1Q +=D (2.3.1) 2.3.2 JK 触发器JK 触发器的状态方程为:n 1Q +=n JQ +n KQ (2.3.2)比较D 触发器和JK 触发器的特性方程,即式(2.3.1)和式(2.3.2),可以令D =JQ +KQ (2.3.3)按照上式可得到如图2.3.2所示电路,电路特性符合JK 触发器的特性方程,从而实现JK 触发器的所有功能。
图 2.3.2 用D 触发器实现JK 触发器的逻辑电路2.3.3 'T 触发器'T 触发器的状态方程为:n 1Q +=n Q (2.3.4)比较D 触发器和'T 触发器的特性方程,即式(2.3.1)和式(2.3.4),可以令D =Q (2.3.5)按照上式可得到如图2.3.3所示电路,电路特性符合JK 触发器的特性方程,从而实现'T 触发器的所有功能。
图 2.3.3 用D 触发器实现'T 触发器的逻辑电路3 仿真验证叙述及效果分析图 3.1 十进制计数原理图在Cadence 下仿真图 3.2 十进制计数原理图在Cadence 下仿真所得波形图图3.1为十进制计数原理图在Cadence 下的仿真图,在构成十进制计数原理图时,外部时钟从最上面的触发器输入,它的输出又作为下面第二个触发器的时钟。
由图可以看出,当置数/计数端输入为高电平时实现置数,即n n Q D ;当置数/计数端输入为低电平时开始计数。
进行仿真时输出接上了50欧姆的负载,由于要求达到CMOS 电平,可以在后级加入一个大宽长比的反相器,以此来提高在接负载时的输出电平。
图3.2为十进制计数的波形图,在计数的时候03Q Q 在0~9之间进行计数。
由图可见十进制计数是正确的。
图 3.3 二-五进制计数原理图在Cadence 下仿真图 3.4 二-五进制计数原理图在Cadence 下仿真所得波形图图3.3二-五进制计数原理图在Cadence 下的仿真图,在构成二-五进制计数原理图时,外部时钟从第二个触发器的时钟端输入,由3Q 的输出作为第一个触发器的时钟输入。
由图可以看出,由13Q Q 在0~4之间进行计数,而0Q 进行二进制计数,这样就构成了二-五进制计数器。
由图可见二-五进制计数是正确的。
图 3.5 置数图3.5为在置数/计数端输入为高电平是进行置数的波形图,由图中可以看出,在时钟的作用下输出随输入变化,可见原理图的置数是正确的。
4 设计特点叙述4.1 原理图的设计过程⑴ 启动Cadence在软件后,在Terminal 窗口中,输入如下命令: cd~/diva按Return 键,接着输入:setenv CDS_Netlisting_Mode Analog Return 键。
icfb& 按Return 键。
在命令解释窗口CIW 中,依次选择File →New →Library ,打开New Library 窗口。
在New Library 窗口中,Name 栏输入库文件名design ,右侧工艺文件(Technology File )栏中,选择最下方的Don ’t need a techfile ,点击窗口左上角的OK 。
选择file →new →cellview ,打开Create New File 窗口。
在Create New File 窗口中,Library Name 选取为design 。
Cell Name 设置为not ,View Name 选取为Schematic ,Tool 栏选取为Composer-Schematic ,点击OK ,弹出Schematic Editing 的空白窗口。
⑵ 添加元件① 在键盘上按键“i ”也可以弹出instance 窗口2在Instance form 中输入pmos4的参数如下:model name: trpmos width: 12u length: 1u② 移动 LMB (鼠标左键)到schematic 窗口,选择合适位置,点击LMB 完成添加过程。
③ 选择Add →Instance ,在Library column 中选择analogLib ,再选择nmos4,在视图中选择symbol ,参数设置为:model name: trnmos width: 6u length: 1u④ 在添加上dd V ,gnd ,pins ,连线即可得到反相器原理图,如图4.1.1所示。
图 4.1.1 反相器原理图⑶ 创建符号① 在CIW 窗口中,依次选择Tools →library manager →design →not ,双击view column 中的schematic 选项,在schematic 中,依次design →create cellview →From cellview 。
② 在Cellview from cellview 窗口选择如下: Library name: design Cell name: not From view name: schematic To view name: symbol完成后点击OK ,在弹出Symbol Generation Opions 窗口中, 点击OK 即可。
③ 删除cds Param 与cds Term 图标,将pins 放在适当位置,在add 工具中shape 中所需要的线画出逻辑符号,最后选择Design →Check and save 。
根据以上步骤可以画出nand3、D触发器、JK触发器和'T触发器的原理图。
图 4.1.2 nand3原理图图 4.1.3 D触发器原理图图4.1.4 JK触发器原理图图4.1.5 'T触发器原理图4.2 版图的设计过程在任何一个版图设计中,最初的任务是做一个布局图。
首先,这个布局图应尽可能与原理电路图一致,然后根据模块的面积大小进得调整。
设计布局图的一个重要任务是安排焊盘。
一个设计好的集成电路应该有足够的焊盘来进行信号的输入与输出和连接电源电压及地线。
总体布局还还需要使版图尽可能的小,从而减小芯片的成本。
为避免线的交叉可使水平线与垂直线用不同层来布线,一般用meta11线作为水平布线,用meta12线作为垂直布线。