(选做)方案3:4个8位通用寄存器组的设计思路
- 格式:doc
- 大小:60.50 KB
- 文档页数:2
摘要当前,电子信息化高速发展,电子产品成了日常生活中必不可少的一部分。
移位寄存器在大部分电子产品中是必不可少的一部分。
本论文介绍了实现并行存取的四位移位寄存器的设计过程,从电路的构思到整个电路的完成以及其版图的设计都有一个详细的描述。
所设计的寄存器在时钟脉冲的控制下,实现数据的并行输入、并行输出,串行输入并行输出等功能。
整个设计过程全部在LINUX系统下用Cadence软件进行设计的,用Cadence软件进行电路设计并仿真。
最后,利用Cadence软件进行版图的设计,电气规则的检查和LVS的对比匹配验证。
关键词:寄存器;并行存取;版图AbstractAt 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)引言当今电子信息化的社会,电子产品在日常生活中随处可见。
思考题:【2-1】80C51单片机由哪几部分组成,试说明ROM和RAM的功能分别是什么?【2-2】在程序运行中,PC的值是。
()A)当前正在执行指令的前一条指令的地址B)当前正在执行指令的地址C)当前正在执行指令的下一条指令的首地址D)控制器中指令寄存器的地址【2-3】判断下列说法是否正确。
(1)PC可以存放一个16位二进制数,因此其寻址范围为0000H~7FFFH。
()(2)单片机系统复位时PC的内容为0000H,因此CPU从程序存储器0000H地址单元取指令,开始执行程序。
()(3)PC可以看成是程序计时器()(4)PC可以看成是程序存储器的地址指针。
()【2-4】试计算当振荡频率为12 MHz和6 MHz时,一个机器周期的长度?试辨析振荡周期、状态周期、机器周期、指令周期之间的关系。
【2-5】单片机的ROM必须具有掉电存储功能,这句话是否正确?【2-6】单片机对RAM的根本要求是快,但掉电可丢失数据,这个表述正确吗?【2-7】试说出80C51的两种时钟电路模式,如果是只有一个单片机工作常使用的是哪一种?如果是两个以上的单片机工作使用哪一种?【2-8】80C51单片机的EA信号有何功能?在使用8031时,EA信号引脚应如何处理?现在使用的80C51系列单片机内部一般均含有ROM,其EA引脚应该怎么接?【2-9】80C51系列单片机的三总线结构包括哪三种?其中作地址总线指的是?作数据总线指的是?属于控制总线的有?P0口的分时复用功能需要依靠锁存器的锁存功能,试举1种常用的低功耗锁存器并将其与单片机正确连接?【2-10】片内RAM低128单元一般划分为哪三个主要部分?对应的字节地址空间是?内部RAM中,可作为工作寄存器区的单元地址为()H~()H。
【2-11】80C51单片机任何一个时间4组通用工作寄存器中只能有一组工作,具体哪一组工作由什么来决定?如何设置才能选用0组通用寄存器?【2-12】80C51单片机具有很强的位(布尔)处理功能,内部RAM中共有多少单元可以位寻址,试写出其字节范围和位地址范围?【2-13】位地址00H与字节地址00H在内存中的位置有什么区别?片内字节地址为2AH单元最低位的位地址是();片内字节地址为88H单元的最低位的位地址为()。
实验五四位多功能移位寄存器的设计四位多功能移位寄存器的设计1、实验⽬的熟悉ISE系列软件的设计流程和基本⼯具使⽤;学习四位多功能移位寄存器的设计;学习VHDL的IF语句应⽤。
2、实验内容移位寄存器是⼀种常⽤的时序电路。
它除了具有存储代码的功能之外,还具有移位功能。
移位功能是指存储在寄存器⾥的代码可再移位脉冲的作⽤下依次左移或右移。
移位寄存器可⽤于寄存代码,还可⽤于数据的串/并转换,并/串转换以及数值运算和处理等。
3、实验器材Spartan 3E开发板。
4、实验说明实验中所需要的源⽂件在本报告附录中。
5、实验步骤步骤1:创建ISE⼯程(1)启动桌⾯上的ISE9.1图标,在Project Navigator中选择File→New Project。
(2)在弹出的对话框(见图1)中,设置⼯程名为yiwei,⼯程存放路径为E:\work\,顶层模块类型选择HDL,并单击Next按钮。
图1 ISE⼯程属性对话框(3)出现图2所⽰对话框,⽬标器件选择spartan3E,具体设计如下图。
图2 ISE⼯程属性对话框(4)⼀直点击Next,直到出现图3(即是刚才所设定的),最后点击Finish。
图3 ⼯程设计总表出现图4,这就是所建⽴的⼯程,现在我们需要在⾥⾯完成我们的设计。
图4 ISE⼯程属性对话框步骤2:创建新的VHDL设计⽂件(1)在ISE⽤户界⾯中,选择Project→New Source。
(2)在弹出的对话框(见图5)中,选择VHDL Module作为源程序类型,设置⽂件名为yiwei,并单击“下⼀步”按钮。
图5 VHDL的New Source Wizard(3)点击Next,直到出现图6,直到Finish。
图6 程序总结(4)点击Finish之后出现程序编辑窗⼝,在窗⼝中进⾏程序编辑。
步骤3:利⽤XST进⾏设计综合并仿真(1)点击processes⽬录下的synthesize-XST可以实现综合。
图8 综合后的程序编辑窗⼝(2)综合过后,在信息显⽰窗⼝中会显⽰Process "Synthesize" completedsuccessfully即综合成功。
(一) 单片机的基本机构与工作原理1、单片机与其他常见微机(如PC机)有什么不同?它是什么独特优点?80C51系列单片机在片内集成了哪些主要逻辑功能部件?各个逻辑部件的主要功能是什么?2、80C51系列单片机有哪些信号需要芯片引脚以第二功能的方式提供?3、80C51单片机的“ALE”信号、“/EA”信号有何功能?在使用80C31时,它们的信号引脚应如何处理?4、80C51存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别?5、片内RAM低128单元划分为哪三个主要部分?各部分主要功能是什么?6、80C51设有4个通用工作寄存器组,有什么特点?如何选用?如何实现工作寄存器现场保护?7、特殊功能寄存器的地址范围是多少?哪些特殊功能寄存器可以位操作?8、堆栈有哪些功能?堆栈指示器(SP)的作用是什么?在程序设计时,为什么还要对SP重新赋值?9、为什么说80C51具有很强的布尔(位)处理功能?共有多少单元可以位寻址?采用布尔处理有哪些优点?10、80C51单片机的时钟周期、机器周期、指令周期有何区别?它们之间有何关系?单片机晶振频率与哪些工作参数有关?11、单片机有几种复位方法?对复位信号有何要求?复位后机器的初始状态如何,即各寄存器的状态如何?12、80C51的4个I/O口P0~P3在使用上有哪些分工和特点?试比较各口的特点?何谓分时复用总线?P3口的第二变异功能有哪些?13、80C51端口P0~P3作通用I/O口时,在输入引脚数据时,应注意什么?14、“读—改—写”指令有何优点?请至少列出五条不同操作的“读—改—写”指令。
15、为什么当P2作为扩展程序存储器的高8位地址后,就不再适宜作通用I/O了?16、程序计数器PC作为不可寻址寄存器,它有哪些特点?地址指针DPTR有哪些特点?与程序计数器PC有何异同?17、程序状态字PSW的含义是什么?如何利用它们?18、80C51单片机运行出错或程序进入死循环,如何摆脱困境?19、单片机在工业控制系统中有哪些掉电保护措施?20、举例说明单片机在工业控制系统中低功耗工作方式的意义及方法。
单片机原理及接口李朝青1.89C51单片机内包括哪些重要逻辑功能部件?答:80C51系列单片机在片内集成了如下重要逻辑功能部件:(l)CPU(中央解决器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB(5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定期器/计数器:16位,2个(8)片内时钟电路:1个2.89C51EA端有何用途?答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中指令。
/EA 端保持高电平时,CPU执行内部存储器中指令。
3. 89C51存储器分哪几种空间?如何区别不同空间寻址?答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM(MOV)(8bits地址)(256B)4. 简述89C51片内RAM空间分派。
答:片内RAM有256B低128B是真正RAM区高128B是SFR(特殊功能寄存器)区5. 简述布尔解决存储器空间分派,片内RAM中包括哪些可位寻址单元。
答:片内RAM区从00H~FFH(256B)其中20H~2FH(字节地址)是位寻址区相应位地址是00H~7FH6. 如何简捷地判断89C51正在工作?答:用示波器观测8051XTAL2端与否有脉冲信号输出(判断震荡电路工作与否正常?)ALE(地址锁存容许)(Address Latch Enable)输出是fosc6分频用示波器观测ALE与否有脉冲输出(判断 8051芯片好坏?)观测PSEN(判断8051可以到EPROM 或ROM中读取指令码?)由于/PSEN接外部EPROM(ROM)/OE端子OE=Output Enable(输出容许)7. 89C51如何拟定和变化当前工作寄存器组?答:PSW(程序状态字)(Program Status Word)中RS1和RS0可以给出4中组合用来从4组工作寄存器组中进行选取PSW属于SFR(Special Function Register)(特殊功能寄存器)8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为什么?答:9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?答:读锁存器(ANL P0,A)就是相称于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经惯用这些指令于外部通信,判断外部键盘等;字节互换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。
第一章:1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。
+45 -89 -6 +112答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+112】反=01110000,【+112】补=011100002. 指明下列字符在计算机内部的表示形式。
AsENdfJFmdsv120答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。
答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。
存储器是用来存放程序和数据的记忆装置。
输人设备是向计算机输人原始数据和程序的装置。
输出设备是计算机向外界输出信息的装置。
I/O接口电路是外部设备和微型机之间传送信息的部件。
总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。
微型计算机的各大功能部件通过总线相连。
4.简述8086CPU的内部结构。
答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。
执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。
EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。
总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。
总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。
5.何谓总线?总线按功能可分为哪几种?答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。
目录摘要 (1)1 多功能双向移位寄存器 (2)1.1 基本工作原理 (2)1.2 基本实现方案 (2)2 电路图设计 (4)2.1 电路结构 (4)2.2 真值表 (4)3 Verilog描述8位双向移位寄存器 (6)4 程序仿真 (8)5 总结 (10)参考文献 (11)摘要移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。
在本设计中,使用硬件描述语言Verilog,在EDA工具QuartussII中,设计8位双向移位寄存器硬件电路,根据设计语言进行功能时序仿真,验证设计的正确性与可行性。
关键字:Verilog QuartusII 移位寄存器8位双向移位寄存器电路设计1 多功能双向移位寄存器1.1 基本工作原理移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。
在本设计中定义移位寄存器中的数据从低位触发器移向高位为右移,移向低位为左移。
为了扩展逻辑功能和增加使用的灵活性,某些双向移位寄存器集成电路产品又附加了并行输入、并行输出等功能。
如图1所示是上述几种工作模式的简化示意图。
并行输入并行输出右移串行输入(D IR 左移串行输出(D OL 右移串行输出(D OR ) D IL )0123图1 多功能移位寄存器工作模式简图1.2 基本实现方案图2所示是实现数据保持、右移、左移、并行置入和并行输出的一种电路方案。
图中的D 触发器m FF 是N 为移位寄存器中的第m 位触发器,在其数据输入端插入了一个4选1数据选择器m MUX ,用2位编码输入10S S 、控制m MUX ,来选择触发器输入信号m D 的来源。
当100S S ==时,选择该触发器本身输出的m Q ,次态为1m n nm mQ D Q +==,使触发器保持状态不变;当100,1S S ==时,触发器1m FF -的输出1m Q -被选中,故CP 脉冲上升沿到来时,m FF 存入1m FF -此前的逻辑值,即1m 1n n m Q Q +-=,而1m +1n nm Q Q +=,从而实现右移功能;类似地,当101,0S S ==时,m MUX 选择1m Q +,实现左移功能;而当101S S ==时,则选中并行输入数据m DI ,其次态1n m m Q DI +=,从而完成并行数据的置入功能。
电子课程设计— 8位数码管动态显示电路设计学院:电子信息工程学院专业、班级:姓名:学号:指导老师:2014年12月目录一、设计任务与要求................................................. (3)二、总体框图................................................. (3)三、选择器件................................................. (3)四、功能模块................................................. (9)五、总体设计电路图................................................. . (10)六、心得体会.................................................. .. (12)8位数码管动态显示电路设计一、设计任务与要求1. 设计个8位数码管动态显示电路,动态显示1、2、3、4、5、6、7、8。
2. 要求在某一时刻,仅有一个LED数码管发光。
3. 该数码管发光一段时间后,下一个LED发光,这样8只数码管循环发光。
4. 当循环扫描速度足够快时,由于视觉暂留的原因,就会感觉8只数码管是在持续发光。
5、研究循环地址码发生器的时钟频率和显示闪烁的关系。
二、总体框图设计的总体框图如图2-1所示。
图2-1总体框图三、选择器件 1、数码管数码管是一种由发光二极管组成的断码型显示器件,如图1所示。
U13DCD_HEX图1 数码管数码管里有八个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形。
数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED 的阴极连在一起,让其接地,这样给任何一个LED 的另一端高电平,它便能点亮。
4个8位通用寄存器组的设计与VHDL实现
一、设计目标
设计一个通用寄存器组Reg4-8,里面包含4个寄存器,每个寄存器可以存储8位的数据。
每次读的时候,能同时读出两个数据;每次写的时候,可以写入一个数据。
读/写的寄存器单元由寄存器编号所确定。
二、设计要求
1.当reset信号为0时,初始化各寄存器的值;
2.当reset信号为1时,可以进行寄存器读或写,具体如下:
✧寄存器的写受到时钟上升沿的控制。
即当时钟上升沿来临且写使能信号en=1时,
将输入的8位数据d[7..0]写入到由寄存器选择编号dest_reg[1..0](如dest_reg[1..0]=
“01”)所确定的寄存器(如寄存器R1)中。
其中,[1..0]代表下标从1到0,其它
类推;
✧寄存器的读不受时钟信号的控制。
即只要给出源寄存器选择编号source_reg[1..0]
和目的寄存器选择编号dest_reg[1..0],便同时将这两个对应寄存器单元的数值输
出到双数据总线sr[7..0]和dr[7..0]中,以便同时传2个数据给运算器;
3. 在CPU中,source_reg[1..0]和dest_reg[1..0]实际上都来自于指令,在运算过程中用户是难于操控的;相应地,寄存器的输出结果sr[7..0]和dr[7..0],也都是传送到运算器那里,是不能直接输出的。
但是,在设计的过程中,我们又必须要检测某个寄存器的内容是什么,以测试指令的执行是否正确。
解决此问题的思路是引入一些附加输入输出信号,如可以设置所需测试的寄存器的编号值,然后将结果输出到相应的指示灯上。
本设计中,我们用reg_sel[1..0]作为待测试的寄存器编号,并用reg_out[7..0]作为该寄存器中读出的数据。
三、设计思路
在设计时,首先根据设计目标和要求确定逻辑框图,然后再确定其内部结构。
前者,主要确定输入和输出信号,后者主要确定输出如何利用输入而产生。
1.首先根据上述的设计目标与要求,分析输入输出引脚。
根据设计要求,可知:
(1)进行初始赋值,需要1个1位的初始化信号reset;
(2)进行数据的写,需要1个1位的时钟信号clk、1个8位的输入数据d[7..0]、1个1位的写使能信号en以及1个2位的寄存器选择编号dest_reg[1..0];
(3)进行数据的读,需要源和目的寄存器选择编号各1个,即分别为source_reg[1..0]和dest_reg[1..0],各为2位;读出的8位数据信号各1个,即分别为sr[7..0]和dr[7..0];(4)用于测试用的寄存器选择编号reg_sel[1..0]及其对应的输出reg_out[7..0]。
综上可知,通用寄存器组Reg4-8的输入输出信号可总结为:
输入信号:reset、clk、en,dest_reg[1..0],source_reg[1..0]、d[7..0]、reg_sel[1..0]
输出信号:sr[7..0]、dr[7..0]、reg_out[7..0]
因此,Reg4-8的逻辑框图可以表示如下。
图1 Reg4-8逻辑框图
2.在设计出Reg4-8的逻辑框图后,进一步设计Reg4-8的内部结构。
在设计内部结构时,我们采用结构设计(即调用其它元件来连线实现)的方法。
为此,首先需要确定需要哪些模块,然后再考虑不同模块之间如何连接。
Reg4-8的设计思路,可以采用4个寄存器的通用寄存器组Reg4-16的设计方法,也可以采用16个寄存器的通用寄存器组Reg16-16的设计方法。
各人独自选择,并完成相应的逻辑框图及内部结构设计。
四、VHDL编程实现与TEC-CA平台仿真测试
在完成逻辑框图及内部结构的设计后,参考Reg4-16或Reg16-16的VHDL代码,各人自己编程完成。
完成编程且分配管脚后,在TEC-CA平台上进行仿真测试。
测试方法,亦参考Reg4-16或Reg16-16的测试方法。