四位移位寄存器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
当前,电子信息化高速发展,电子产品成了日常生活中必不可少的一部分。
移位寄存器在大部分电子产品中是必不可少的一部分。
本论文介绍了实现并行存取的四位移位寄存器的设计过程,从电路的构思到整个电路的完成以及其版图的设计都有一个详细的描述。
所设计的寄存器在时钟脉冲的控制下,实现数据的并行输入、并行输出,串行输入并行输出等功能。
整个设计过程全部在LINUX系统下用Cadence软件进行设计的,用Cadence软件进行电路设计并仿真。
最后,利用Cadence软件进行版图的设计,电气规则的检查和LVS的对比匹配验证。
关键词:寄存器;并行存取;版图
Abstract
At present, the rapid development of electronic information technology, electronics has become an indispensable part of daily life. Most of the shift register in electronic products is essential. This paper describes the realization of access to the four parallel shift register the design process, from concept to the circuit as a whole circuit of its territory and the completion of the design has a detailed description. The design of the register under the control of the clock, the parallel data input, output parallel, serial input parallel output functions. The entire design process in LINUX system with Cadence software designed and was used Cadence software for circuit design and simulation. Finally, use Cadence software to design the territory, electrical inspection rules and LVS comparison of the match to verify.
Key words:register; parallel access; territory
目录
引言 (1)
1 设计要求 (1)
2 电路构思及其理论 (1)
2.1 设计思路 (1)
2.2 设计构思的理论依据 (2)
2.2.1 寄存器描述 (2)
2.2.2 移位寄存器的特点和分类 (2)
3 系统电路的设计及原理说明 (2)
3.1 系统框图及说明 (2)
3.2 电路设计说明 (3)
3.3 关键器件介绍 (4)
3.3.1 边沿D触发器 (5)
3.3.2 3个二输入与非门构成的选择器 (6)
4 仿真验证叙述及效果分析 (6)
4.1 电路仿真 (6)
4.2电路仿真结果分析 (6)
5 工程设计 (7)
5.1 Cadence软件介绍 (7)
5.2 电路设计 (7)
5.3 版图设计及验证 (8)
5.3.1 版图设计 (8)
5.3.2 版图验证 (9)
6 调试测试分析 (10)
7 结束语 (10)
参考文献 (11)
附录 (12)
引言
当今电子信息化的社会,电子产品在日常生活中随处可见。
而移位寄存器作为其构成的一个很小的部份,无论是计算机这样复杂的电子产品还是像乘法器等这样简单的电子产品,都少不了对移位寄存器的利用,所以对移位寄存器的设计尤为重要。
以下就四位移位寄存器的设计方法和过程作一个简要说明。
1 设计要求
此次要进行的是四位移位寄存器设计,它所要实现的是并行存取的功能。
所要达到的技术指标是:
(1)使用工艺:1.0um硅栅工艺(cadence)
(2)供电电源:5V
(3)输入输出方式:并行存取,CMOS电平
2 电路构思及其理论
2.1 设计思路
要设计一个四位移位寄存器来实现并行存取的功能,首先就要考虑到用触发器作为寄存单元,一个触发器可以存储一位二进制代码,存放四位二进制代码的寄存器,需用四个触发器来实现。
触发器可以采用RS触发器、JK触发器和D触发器等。
其次,因为要实现它是并行存取的功能,就必须具有并行串行输入和并行输出的功能,进而实现寄存器的移位功能。
但是串行输入和并行输入不能同时进行,所以必须有一个并行和串行输入的工作方式控制端口,来控制并行串行输入方式,来实现寄存器的并行输入输出和串行输入移位功能。
还有,并行输入或串行输入时也需一个时钟脉冲来进行触发,它们的时钟脉冲可以是同一个时钟脉冲也可是两个不同的时钟脉冲,但是如果是两个不同的时钟脉冲的话,就必须设计也一个逻辑电路,让这两个时钟脉冲通过这个逻辑电路后,只能选择其中一个信号输出,而另一个信号被禁止。
这样可以用其中之一作为并行输入时的时钟脉冲,而另一个用来作为串行输入时的时钟脉冲。
在这里为了电路简单,优先采用同一个时钟作为电路触发时的脉冲。
最后,要实现它的移位功能,就是在串行输入的情况下,前级的上次输出作为下级的后一次输出。
所以可以利用前级的输出作为下级的输入的办法来实现数据的移位功能。
2.2 设计构思的理论依据
2.2.1 寄存器描述
寄存器在数字电路中,是用来存放二进制数据或代码的电路。
寄存器是由具有存储功能的触发器组合起来构成的。
一个触发器可以存储一位二进制代码,存放N位二进制代码的寄存器,需要用N个触发器来构成。
2.2.2移位寄存器的特点和分类
从逻辑结构上看,移位寄存器有以下两个显著特征:(1)移位寄存器是由相同的寄存单元所组成。
一般说来,寄存单元的个数就是移位寄存器的位数。
为了完成不同的移位功能,每个寄存单元的输出与其相邻的下一个寄存单元的输入之间的连接方式也不同。
(2)所有寄存单元共用一个时钟。
在公共时钟的作用下,各个寄存单元的工作是同步的。
每输入一个时钟脉冲,寄存器的数据就顺序向左或向右移动一位。
通常可按传输方式的不同对CMOS移位寄存器进行分类。
移位寄存器的数据输入方式有串行输入和并行输入之分。
串行输入就是在时钟脉冲作用下,把要输入的数据从一个输入端依次一位一位地送入寄存器;并行输入就是把输入的数据从几个输入端口同时送入寄存器。
在CMOS移位寄存器中,有的品种只具有串行或并行中的一种输入方式,但也有些品种同时兼有串行和并行两种输入方式。
串行输入的数据加到第一个寄存单元的D端,在时钟脉冲的作用下输入,数据传送速度较慢;并行输入的数据一般由寄存单元的R、S 端送入,传送速度较快。
移位寄存器的移位方向有右移和左移之分。
右移是指数据由左边最低位输入,依次由右边的最高位输出;左移时,右边的第一位为最低位,最左边的则为最高位,数据由低位的右边输入,由高位的左边输出。
移位寄存器的输出也有串行和并行之分。
串行输出就是在时钟脉冲作用下,寄存器最后一位输出端依次一位一位地输出寄存器的数据;并行输出则是寄存器的每个寄存单元均有输出。
3 系统电路的设计及原理说明
3.1 系统框图及说明
整个电路由四个模块组成,其中包括时钟脉冲、工作控制电路、寄存电路、和输出及传输四个部份。
时钟脉冲是CLK,CLK是整个电路的控制时钟;工作控制电路由从PE 端接入的非门和3个由二与非门构成的电路所组成的电路构成;寄存电路则为上边沿触发的D触发器,触发器作为一个寄存器,当时钟CLK上升时,电路开始工作,数据从输出端输出,而且输出的数据又送入下一级的电路中;即前一级的输出作为下一级的输入
从而实现数据的传输,从而实现数据的右移功能其系统框图见图3.1。
图3.1系统框图
3.2 电路设计说明
所设计的寄存器是一个可以实现并行存取功能的四位移位寄存器。
它是一个并行和串行输入的操作模式,由一个控制时钟CLK 、串行数据输入端Ds 、工作方式控制端PE (高电平时并行输入有效)、四个并行数据输入端(p0、p1、p2、p3)和四个并行数据输出端(Q0、Q1、Q2、Q3)组成。
在触发器的D 输入端用四个由三个二与非门的组成的结构来实现数据的并行送入和右移功能。
系统设计流程图见图3.2。
图3.2 系统设计流程
通过功能分析和电路的构思后,设计出电路的组成部分,其中包括有四个上边沿触发的D 触发器和四个由3个二与非门组成的选择器。
通过一个控制端PE 实现对并行和串行输入的选择功能。
使得从由3个二与非门组成的选择器的A 端输入的串行信号和从其D 端输入的并行信号只能有一个能过过,另一个被禁止。
完整的并行存取的四位移位寄存器原理图见图3.3。
图3.3 并行存取的四位移位寄存器原理图
通过CLK时钟的变化来实现电路输入输出,当时钟CLK由低电平到高电平的转换过程中,由工作方式控制端PE控制电路的并行串行输入,当PE为高电平时,在时钟CLK 上升沿时的作用下,并行数据(p0-p3)被送入相应的输出端(Q0-Q3),此时串行数据Ds被禁止;当PE为低电平时,在时钟CLK上升沿时的作用下进行右移操作,数据由Ds 送入并从Q0输出Ds,q0、q1、q2数据相应右移。
具体端口描述和功能见表3.1、表3.2。
表3.2 功能表
符号说明:
L:表示低电平
H:表示高电平
---:表示禁止状态
up:表示为上升沿
pn:表示相应的p0、p1 、p2、p3输入
q0、q1、q2 :表示为Q0、Q1、Q2相应的前一个输出
3.3 关键器件介绍
此次要设计的是一个四位的移位寄存器,要完成这样的设计,正如前面所描述的那样,首先必须有四个触发器来存放二进制代码,还有一个并行串行控制电路。
选择经过以上的分析,通过对RS,JK和D触发器的比较,最终选择边沿D触发器;还有对控制电路采用三个二输入与非门来实现。
边沿触发器与主从触发器相比,同工艺的边沿触发器有更强的抗干扰能力和更高的工作速度。
3.3.1 边沿D 触发器
上边沿触发的D 触发器的特点:
(1)边沿D 触发器具有接收并记忆信号的功能,又称为锁存器;
(2)边沿D 触发器属于脉冲触发方式;
(3)边沿D 触发器不存在约束条件和一次变化现象,抗干扰性能好,工作速度快。
不带清零端和使能端的上边沿触发的D 触发器,它可由五个二输入与非门和一个三输入与非门构成,通过一个时钟信号CLK 对电路工作进行控制,D 为输入信号。
通过CLK 时钟信号上升沿时,对输入的信号D 作相应的转换后从Q 输出。
不带清零端和使能端的上边沿D 触发器的电路结构及图形符号见图3.4。
图3.4 上边沿D 触发器的电路结构及图形符号
CLK 为时钟脉冲,在时钟CLK 上升时,数据从D 端口输入,并按照其状态转移真值表工作,最后从输出端Q 输出。
详细工作原理如下:
(1)状态转移真值表
表3.3 边沿D 触发器的状态转移真值表
(2)特征方程 Qn+1=D
(3)状态转移图
图3.5状态转移图
3.3.2 3个二输入与非门构成的选择器
3个二输入与非门搭建一起的电路是用来作为控制选择并行和串行工作方式的。
通过PE端非门的接入,让整个电路的工作模式由PE端口的时钟来控制,经过三个二输入与非门后,从A端输入的串行信号和从D端输入的并行信号只有一个能通过,而另一个却被禁止。
其电路构成及其电路符号见图3.6。
图3.6 3个二输入与非门构成的选择器电路构成及其电路符号
4 仿真验证叙述及效果分析
4.1 电路仿真
对整个电路有一个完整的思路后,就可以对整个电路进行仿真。
仿真电路为并行存取的四位移位寄存器。
仿真在cadence软件里进行,通过分析电路,合理设定各输入信号,在仿真环境设置项里也相应设置好仿真时间和仿真精度,使仿真的波形能将电路的功能正确地反映出来。
比如,在仿真时不能把时钟信号CLK和控制信号PE设置得相近,因为PE信号是控制并行和串行输入的,要想在仿真过程中能观察到电路的并行存取和移位功能,就必须设置好PE和CLK之间的关系,因为PE为低电平时,实现串行输入,而PE为高电平是实现并行输入,所以可以设置PE的低电平的脉冲为4-5倍的CLK时间周期。
最后设置仿真模型,并选用home/user/adelabic5/Models/myModels.scs模型。
选定仿真端口后开始仿真。
仿真的波形具体见图4.1。
4.2电路仿真结果分析
从图4.1的仿真波形图中,可以分析出,当PE为高电平的时候,电路实现的是并行输入并行输出的功能。
第一个时钟上升沿到来时,pn全部数据输入到Qn中,随后的时钟上升沿,p0到Q0进行并行输入,而从p1-p3则是向右移位。
当PE为低电平时,电路实现串行输入并右移的功能。
第一个时钟上升沿到来时,D s的数据输入到QO中,而上一组数据(q0,q1,q2)则相应右移。
根据仿真波形的分析,电路的仿真完全符合电路设计的要求。
图4.1 电路仿真波形图
5 工程设计
5.1 Cadence软件介绍
Cadence 是一个大型的EDA 软件,它是在Linux环境下运行的一套软件,也是电子行业比较流行的一套从前端到后端的工具都包含的一套开发软件。
它几乎可以完成电子设计的方方面面,包括ASIC 设计、FPGA 设计和PCB 板设计。
Cadence 在仿真、电路图设计、自动布局布线、版图设计及验证等方面有着绝对的优势。
Cadence 包含的工具较多几乎包括了EDA 设计的方方面面。
采用Cadence软件可以实现电路的设计和版图的制作和验证等功能。
5.2 电路设计
本次设计要求采用CMOS工艺,在电路图的设计当中,可以根据预先设定的工艺参数,选择不同宽长比的NMOS管和PMOS管组成所要设计的电路。
因为电子的迁移率是空穴的2倍左右,而为了使上升和下降时间相等,所以PMOS管子沟道宽度必须加宽到NMOS管子沟道宽度的2倍左右。
本次设计要求是1.0um硅栅工艺,所以所用的栅的宽度为1.0um。
设计NMOS管的沟道长度为1.0um,沟道宽度为6.0 um,而对应的PMOS管的沟道长度为1.0 um 和宽度为12.0 um。
限于篇幅,在这里就二输入与非门做下简单介绍。
本次电路设计全过程均在diva里完成。
运行Linux系统后,打开Cadence软件,打开
电路原理图设计工具。
因为所有的设计在design库里进行,所以设计中的各模块设计也是在design库里完成。
新建一个库文件名为yufei的模块,添加相应的nmos4和pmos4器件,nmos4管和pmos4管参数见表5.1。
表5.1 nmos4管和pmos4管参数
设置好相应的参数后,按照与非门的CMOS逻辑电路连接好电路,然后加入相应的信号进行仿真,对照与非门的真值表,检验电路实现的逻辑功能是否与其实际功能一致。
二与非门的逻辑功能是,A、B其中有一个为低电平则输出高电平,只有A、B全部为高电平时,输出才为低电平。
检验无误后,即可生成器件相应的符号。
注意,电路里的端口和电路符号的端口是对应的,在往后的版图设计中,一定要注意它们的对应关系。
比如,栅极与B端口相连的NMOS管的源极是接地的,而栅极与A端口相连的NMOS管的源极则是与另一个NMOS管的漏极相连共用的。
二输入与非门CMOS电路及其符号见图5.1。
图5.1 二输入与非门CMOS电路及其符号
5.3 版图设计及验证
5.3.1 版图设计
版图的设计采用层次模块设计的方法。
所有的版图均采用CMOS工艺,以nmos4和pmos4管为基本单元,先设计成基本的二输入与非门、三输入与非门、二输入或非门和非门;再通过这几个基本单元门电路版图,先画出上边沿D触发器的版图以及三个与非
门搭建一起的版图,然后对应所设计出来的电路,对整理个电路进行综合的版图设计。
相应的并行存取的四位移位寄存器版图(左)及二输入与非门版图(右)见图5.1。
图5.1 并行存取的四位移位寄存器版图(左)及二输入与非门版图(右)在版图设计过程中,特别要注意的就是走线问题和版图规则,水平走线采用金属一层,垂直走线采用金属二层;还有硅栅之间的间距、相同层与不同层的间距和同层之间的间距,都要符合工艺参数要求。
5.3.2 版图验证
版图初步设计完成后,为了检验所设计的版图是否与其电路原理图相对应,还要进行版图验证。
先进行一次版图规则验证(DRC),验证无误后,生成Extracted版图,保存后打开Extracted版图进行匹配验证(LVS)。
对版图中所存在的错误进行改正,直至版图与电路原理图器件匹配为止。
验证结果见图5.3
图5.3 LVS验证结果图
6 调试测试分析
设计中全部用的是EDA软件仿真,没有涉及到硬件仪器的使用,,所以也没有测试数据,只有相应的仿真。
通过多次的分析仿真,终于得到正确的仿真波形。
开始因为时钟信号没有合理,致使电路仿真不能反映出电路所能实现的功能。
经过分析调整,终于设定出合理的仿真信号,得到正确的仿真波形。
7 结束语
通过本次设计,对Cadence软件的操作有了更进一步的熟识。
对移位寄存器的功能和工作原理都有了更深一步的掌握。
还有对一个完整的电路和版图设计有了自己的一些方法,积累了一些IC设计的经验,这些对以后的学习和工作将有很大的帮助。
最后感谢老师和同学们的指导和帮助。
参考文献
[1] 江国强.现代数字逻辑电路. 北京:电子工业出版社,2002.7
[2] 赵家贵.电子电路设计. 北京:中国计量出版社,2005
[3] 夏宇闻.数字逻辑基础与Verilog设计.北京:机械工业出版社,2007.10
[4] 谢子美.电子电路设计·实验·测试. 北京:华中科技大学出版社,2002
[5] 李伟华.VLSI设计基础. 北京:电子工业出版社,2002.6
附录
附图1 与非门CMOS电路附图2 上升沿D触发器电路
附图3 并行存取的四位移位寄存器原理图附图4 并行存取的四位移位寄存器LVS验证结果图
附图5 三个与非门组成的选择器版图附图6 二输入与非门版图
附图7 二输入与非门符号附图8 上升沿D触发器电路符号
附图9 并行存取的四位移位寄存器版图图10 电路仿真波形图
附图11 上升沿D触发器版图
附图12 3个二与非门电路符号附图7 三个与非门组成的选择器电路。