当前位置:文档之家› 基于FPGA 的DDR2 SDRAM 控

基于FPGA 的DDR2 SDRAM 控

基于FPGA 的DDR2 SDRAM 控
基于FPGA 的DDR2 SDRAM 控

中图分类号:TP3

论文编号:10006GS0521832

专业硕士学位论文

基于FPGA的DDR2 SDRAM控制器的设计与实现

作者姓名张凌

学科专业软件工程

指导教师董金明教授

王丽华高工

培养院系软件学院

DDR2 SDRAM Controller Design and Implement

Based On FPGA

A Dissertation Submitted for the Degree of Master

Candidate:Zhang Ling

Supervisor:Prof. Dong Jinming

S E. Wang Lihua

College of software

Beihang University, Beijing, China

中图分类号:TP3

论文编号:10006GS0521832

硕士学位论文

基于FPGA的DDR2 SDRAM控制器的

设计与实现

作者姓名张凌申请学位级别工程硕士

指导教师姓名王丽华职称高工

学科专业软件工程研究方向IC设计

学习时间自 2005 年9 月 22 日起至 2009 年 6 月 6 日止论文提交日期 2009 年 5 月 11 日论文答辩日期 2009 年 6 月 6 日学位授予单位北京航空航天大学学位授予日期年月日

关于学位论文的独创性声明

本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外,本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得北京航空航天大学或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志对研究所做的任何贡献均已在论文中作出了明确的说明。

若有不实之处,本人愿意承担相关法律责任。

学位论文作者签名:日期:年月日

学位论文使用授权书

本人完全同意北京航空航天大学有权使用本学位论文(包括但不限于其印刷版和

电子版),使用方式包括但不限于:保留学位论文,按规定向国家有关部门(机构)送

交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和

复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其

他复制手段保存学位论文。

保密学位论文在解密后的使用授权同上。

学位论文作者签名:日期:年月日

指导教师签名:日期:年月日

摘要

本文的研究重点是如何以流媒体处理系统为应用对象,设计一款满足系统高带宽需求及并具备一定通用性的DDR2 SDRAM内存控制器。

本文深入分析了当前国际上存储控制器的技术发展趋势和DDR2 SDRAM控制器的详细技术规范,在参考国际主流DDR2内存控制器实现方式的基础上,按照传输层和物理层方式,基于FPGA设计并实现了DDR2 SDRAM控制器。设计的主要组成部分为用户接口逻辑单元、配置寄存器单元、控制器命令生成单元、内存控制核心逻辑单元、数据通路及基于FPGA的物理层接口PHY(IP)。DDR2 SDRAM控制器会依据寄存器配置单元的信息,自动初始化DDR2 SDRAM,接受系统命令,进行优先级判断,生成满足DDR2协议的命令序列,输入至Altera提供的PHY,命令及数据的延迟将被优化并输出至DDR2 SDRAM器件,同时读写数据通路会根据PHY提供的延迟及控制信号接收和提供读写数据。

DDR2 SDRAM控制器采用Verilog语言进行描述,并使用ModelsimSE 6.1进行了验证。为了保证设计的正确性和验证的完备性,采用了直接测试与间接测试的方法,并用SV A设计了判定器,全面的测试了控制器的全部功能,代码覆盖率达到有条件的100%。最后将控制器应用到测试系统中综合并下载至FPGA板进行测试,满足设计要求。

关键词:DDR2 SDRAM,控制器,设计,实现,FPGA

Abstract

That facing to the application of stream media data process system, how to design a

kind of DDR2 SDRAM Controller which can satisfy the requirement and at the same time

having universal properties, is the main point of this thesis.

This thesis studies the technological attend of memory in international market and the

details of DDR2 SDRAM controller specifications, and takes the mainly releasing way of

DDR2 SDRAM controller in the world, then designs and implements a DDR2 SDRAM controller based on FGPA, which is separated by transmit-layer and physical-lay. The controller includes user interface logic, configure register array, command sequence generation unit, DDR2 core logic, data path and physical interface (PHY) of FPGA. This

controller will initialize DDR2 SDRAM according the setting registers automatically. Then

it will receive the commands from user interface and judge them with high priority,

generate the DDR2 command sequence and necessary intervals between two commands.

Then input to the PHY which is an IP provided by Altera, which will adjust the delay of commands and data before input them to DDR2 SDRAM device. At the same time, data

path will receive and give out read and write data after property timing delay according to

the signal from PHY.

The DDR2 SDRAM is described with Verilog language, and tested by ModelsimSE

6.1 fully. To make sure that the design is right and the verification is complete, direct verification and random verification are adopted, and SVA checker is also used. With all of

these, all of the controller’s functions are checked and the code coverage reached 100% conditionally. At last, with the other blocks in the test system, the controller is synthesized

and downloaded in FPGA, and it’s performance satisfies the requirement with no bugs.

Key words: DDR2 SDRAM, Controller, Design, FPGA

目 录

第一章绪论 (1)

1.1 DDR2 SDRAM的发展 (1)

1.2 DDR2 SDRAM控制器的发展 (3)

1.3 面向数字流媒体处理应用的DDR2 SDRAM控制器 (4)

1.4 课题的研究目标、内容和意义 (5)

1.5 论文结构 (5)

第二章 DDR2 SDRAM协议研究及控制器整体解决方案设计 (7)

2.1 DDR2 SDRAM相对DDR SDRAM的技术进步 (7)

2.2 DDR2 SDRAM主要的AC参数 (8)

2.3 DDR2 SDRAM的主要命令描述 (8)

2.3.1 DDR2 SDRAM初始化 (8)

2.3.2 模式寄存器 (9)

2.3.3 扩展模式寄存器 (10)

2.3.4 激活命令(Active) (12)

2.3.5 读命令(Read) (13)

2.3.6 写命令(Write) (13)

2.3.7 预充电命令(Precharge) (14)

2.3.8 空操作命令(NOP) (15)

2.4 DDR2 SDRAM的通用简单状态机 (15)

2.5控制器整体解决方案设计 (17)

2.6小结 (17)

第三章控制器传输层的设计与实现 (18)

3.1 用户接口逻辑单元 (19)

3.1.1 命令的优先级判定 (19)

3.1.2 用户接口逻辑控制状态机 (20)

3.2 配置寄存器单元 (21)

3.3小结 (22)

第四章控制器核心逻辑的设计与实现 (24)

4.1 控制器命令生成单元 (25)

4.1.1 命令序列生成单元 (25)

4.1.2 命令序列生成单元状态机 (26)

4.1.3 刷新控制 (29)

4.1.4 用户请求FIFO和命令FIFO (30)

4.2 内存控制核心逻辑单元 (30)

4.2.1 内存的初始化 (30)

4.2.2 DDR2主状态机设计 (31)

4.2.3 计数器 (34)

4.3 数据通路 (34)

4.3.1 读数据通路 (35)

4.3.2 读数据通路 (35)

4.5 小结 (36)

第五章Altera DDR2 SDRAM物理接口的研究 (37)

5.1 时钟与复位管理 (37)

5.1.1 PLL、DLL与系统时钟 (38)

5.1.2系统复位管理 (39)

5.2 读数据路径 (39)

5.3 写数据路径 (40)

5.4 小结 (42)

第六章测试与功能验证 (43)

6.1 验证目标 (43)

6.2 DDR2 内存控制器的模拟验证 (44)

6.2.1 验证平台的建立 (44)

6.2.2 测试向量器 (45)

6.2.3 基于SVA的命令检测器 (46)

6.2.4 DDR2 SDRAM的仿真测试 (48)

6.3 小结 (50)

第七章设计模块在FPGA上的综合 (51)

7.1 QuartusII设计流程简介 (51)

7.1.1 FPGA简介 (51)

7.1.2 Altera Quartus II设计流程 (52)

7.1.3 本次设计所使用的FPGA (52)

7.2 设计模块的输入与综合 (53)

7.2.1 Altera PHY的IP (53)

7.2.1 模块信号的管脚映射 (54)

7.3 布局布线和时序分析 (54)

7.4 程序下载与配置 (55)

7.5 小结 (56)

结束语 (57)

参考文献 (58)

附录 (59)

致谢 (61)

北京航空航天大学硕士学位论文

第一章绪论

随着超大规模集成电路(VLSI)的设计技术的发展及制造工艺不断的改进,以通用中央处理单元(CPU)为代表的半导体芯片有了突飞猛进的发展。伴随着这些芯片功能的不断强大,不仅仅是计算机系统(如个人电脑),其他数字电路相关产品如掌上电脑、网络通信设备、数字音频播放器、数字高清晰度电视等,对高性能内存的需求也日益迫切。为了满足这一需求,电子设备工程联合委员会(JEDEC)于2003年发布了新一代同步动态随机存取内存(SDRAM)规范——JESD79-2B,即DDR2 SDRAM 标准。如何能将DDR2 SDRAM这种新型高速内存与系统良好的结合,实现快速准确高效的数据存储和读取,这就是DDR2 SDRAM控制器要解决的问题。

1.1 DDR2 SDRAM的发展

内存的性能取决于位宽和频率,即带宽=位宽×频率。带宽(MB/s)用来表示内存的性能,位宽指的是内存总线位数,频率就是指数据传输的频率。由此可见,通常提高内存性能的方法是提高频率和位宽。

图1 处理器速度与存储器延迟对比

频率主要和延迟有关,延迟越小,频率提升的可能行则越大。如图1所示,随着制造工艺的进步,以CPU为首的芯片处理速度以平均每年50%以上的数率增长;与此同时,由于DRAM结构的限制,工艺的进步对DRAM延迟的降低,即DRAM访问频率的提高,贡献极其微小。因此,我们只能通过增加内存总线的宽度来提升性能。但是,这个方法受到了来至印刷电路板(PCB)布线、电磁兼容性、成本等诸多方面

第一章绪论

的限制。如当今PC系统主流的双通道128比特总线,它的布线已经比原先的64比特总线复杂很多,如果继续增加总线宽度,由此带来的突出的电磁兼容及PCB成本问题得不偿失。单纯的缩短内存单元访问延时以提高数据传输频率,以及增加数据总线位数,在当前的技术条件下,实现起来十分的困难。由此,双倍数据数率(DDR)技术应运而生。

DDR(Double Data Rate)SDRAM,即双倍数据数率同步动态随机存取内存。DDR SDRAM能够在时钟线号的上升沿和下降沿传输数据,因此在外部时钟不变的情况下,能够使数据传输数率提高1倍。DDR的功耗散热、以及高频工作状态下由于布线差异、信号窜扰及终端负载等问题导致的信号质量下降,是制约DDR SDRAM发展的主要因素。

DDR2,是第2代DDR内存,有着和DDR SDRAM基本类似的机构。DDR2内存的工作电压为1.8V,使得它的功耗仅为DDR内存(2.5V)的50%左右。数据通道则采用双边的同步电路设计,一次同时处理4组数据,即4比特预读取,但核心工作频率是DDR内存的两倍,从而在不改变原有DRAM核心的情况下频率加倍。与DDR 内存相比,DDR2采用了3项新技术,即:片外驱动调教(OCD,Off-Chip Drive),提高数据采样信号DQS与数据DQ同步精读的设计;片内终结电阻(ODT,On-Die Termination),通过调整负载调整了信号完成性,同时降低了外围电路成本;前置读写命令信号(CAS)和引入附加延迟,减少命令的冲突——总线“冒泡”现象,提高了总线的利用率。因此,DDR2 SDRAM具有更高的速度及带宽,同时功耗更低,散热更好。

DDR3 SDRAM是最新一代的SDRAM,工作电压由1.8V降低至1.5V,并增加了异步复位功能。DDR3在DDR2的基础上,采用了如下的新型设计:采用8比特的预读取设计,即DRAM的内核频率为外部数据频率的1/8;采用100nm以下工艺,目前最新工艺为Epida公司发布的50nm工艺技术;采用点对点的拓扑结构,减轻了地址总线与命令总线的负担。面向64位等高位宽总线系统应用时,DDR3显然在性能上更胜一筹。此外DDR3 SDRAM采用了根据温度自动刷新、局部自刷新等一些新技术,由于工艺上的优势,在功耗方面显然更为出色。但是目前,由于产能及成本方面的原因,DDR3 SDRAM的价格还很高,只有少量高端用户在对价格不敏感的领域使用,在短期内,DDR2仍将作为主流产品占领消费类电子产品市场的绝大部分内存份额。

北京航空航天大学硕士学位论文

1.2 DDR2 SDRAM控制器的发展

作为内存最主要的应用对象的计算机系统,由于中央处理单元(CPU)与外部存储介质硬盘驱动器等之间的数据交换必须通过内存控制器,所以内存控制器的性能就成为了整个数据通路中一个极其重要的节点。因此计算机系统中的内存控制器技术,通常代表了整个内存控制器技术的发展方向和潮流。

AMD公司较早推出的AM2处理器采用了CPU内部集成内存控制器的技术,改变了内存控制器集成在北桥芯片中的传统。从理论上分析,CPU内部集成内存控制器,数据交换不再通过北桥芯片,从而缩短了CPU与内存之间的数据交换周期。但是实际上,由于内存工艺的限制使得内存的核心工作频率无法跟上CPU的发展速度,如图1所示,如采用内存控制器集成CPU内部的体系构架,将导致CPU与内存频率无法异步设置,从而CPU的频率为内存所累,大大的降低了CPU本应达到的频率性能。

Intel公司的Conroe处理器则使用了北桥集成双通道内存控制器技术。双通道体系包含了两个独立的、具备互补性的智能内存控制器,两个内存控制器都能够并行运作。例如,当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补“天性”可以让有效等待时间缩减50%,因此双通道技术使内存的带宽翻了一翻。

随着DDR2 SDRAM技术的不断提高和成本的逐渐降低,其应用范围也不断扩展。

在FPGA领域,2006年初,赛灵思公司(Xilinx)推出基于Virtex-4 FPGA的DDR2 SDRAM控制器参考设计,该参考设计提供了FPGA业界带宽最高、最可靠的内存接口解决方案。赛灵思DDR2 SDRAM控制器接口采用了创新的Virtex-4 ChipSyn技术,这是一种运行时校准电路,可以极大地提高设计余量和整体系统可靠性,同时缩短设计周期。同年底,Altera与Northwest Logic共同宣布为Altera的高密度Stratix II和Stratix II GX系列FPGA,提供经过硬件验证的667-Mbps DDR2 SDRAM接口,这个接口结合了Altera的自动校准DDR2 PHY(Physical Layer Interface)与Northwest Logic公司的全功能DDR2 SDRAM控制器核心,在使用最高的内存传输量时,可大幅地简化DDR2 SDRAM的接口设计。

在知识产权方面,作为主流内存类型,DDR2 SDRAM的控制器亦有很大的市场份额。目前,美国的Eureka Technology公司、HiTech Global公司、加拿大的Microtronix Datacom公司等一大批专注于IP开发的公司,都将内存控制器尤其是DDR2 SDRAM

第一章绪论

控制器列为业务重点。

1.3 面向数字流媒体处理应用的DDR2 SDRAM控制器

电视版“DIGIC”是为下一代某类型高清电视开发的显示控制芯片。该芯片以超高性能的图像处理为主要目的,采用多种图像处理手段及方法,力求输出图像画质与显示面板的特性达到完美的匹配。

DDR2 SDRAM控制器在该流媒体处理系统中实现两种功能。一是接收来至MPU (Micron Control Unit,微处理器)的DMA(Direct Memory Access,内存直接访问)传送数据并保存在DDR2 SDRAM中。当系统进入正常工作状态,读出DDR2 SDRAM 中的数据,随后系统以这些数据为系数对图像进行优化运算和处理。二是保存图像数据。在这种工作模式下,系统会将最后的输出图像保存在DDR2 SDRAM中,当当前帧图像处理出现严重的无法修复的问题时,丢弃当前帧,并输出内存中前一帧图像。

图2 与DDR2 SDRAM控制器相关结构图

上述两种功能,是由系统控制单元根据系统寄存器的设定,接收来自系统其它单元的数据和命令,然后将其转换成与DDR2 DRAM控制器系统用户接口协议相符的时序。这样设计的优点是:只需规定好DDR2 SDRAM控制器单元的用户接口协议,控制器的开发便可单独进行,最大限度的保证与DDR2协议的兼容性,提高了控制器的可重用性;系统设计的修正、命令时序的变更等,只需在系统控制单元中进行对应修改,不会影响到DDR2 SDRAM控制器的设计,满足模块化设计及系统并行开发的要求,缩短了研发周期。

北京航空航天大学硕士学位论文

1.4 课题的研究目标、内容和意义

本DDR2 SDRAM控制器是下一代某类型高清电视开发的显示控制芯片的模块之一。研究的主要目标是讨论满足海量流媒体处理数据传输及存储要求的DDR2 SDRAM控制器的基于FPGA的设计与实现技术。在此基础上,根据DDR2 SDRAM 协议的控制命令、时序等的特征,具体研究内存控制器的控制命令序列产生、数据传输控制、基于不同时间参数的时序延时控制的实现方法,设计实现一款兼容性好、可重用性强的DDR2 SDRAM内存控制器。

研究内容包括:

1、DDR2 SDRAM协议;

2、DDR2 SDRAM控制器内部逻辑实现,包括请求接口、命令序列生成、存储控制核心单元和数据通路的设计;

3、基于Altera IP的DDR2 SDRAM物理层接口的研究和实现;

4、使用Altera DDR2 SDRAM物理接口的控制器的仿真、综合;

5、通过直接测试和随机测试相结合的测试方法,利用SV A(System Verilog Assertion)的断言判别器,实现高可靠性、高自动化程度的系统验证。

内存控制单元是影响系统性能的重要因素之一。尤其在以数字图像处理为主要功能的高清显示器控制芯片当中,存储单元性能的高低,直接影响到了系统处理数据的效率及系统运行的流畅程度。如何准确高效的管理内存及存储数据,是内存控制器研究的意义之所在。

该高清电视显示控制芯片采用了DDR2 SDRAM为主存储器,利用DDR2双沿传输数据的特性,在外部频率不变的条件下,大大的提高了数据的传输速率。在控制器与DDR2 SDRAM芯片之间,采用生产方提供的物理层接口——PHY(本文中讨论的是基于FPGA的实现,故选择Altera公司提供的PHY的IP),有效的解决了由于温度变化、连接线延时等物理原因导致的信号偏差变大、信号质量下降的问题。系统中采用双片并行接入的方式,有效的解决了数据带宽不足的问题。本文讨论的DDR2 SDRAM的实现方法,对同类型工程的设计具有很好的借鉴价值。

1.5 论文结构

本文结构安排如下:

第一章绪论

第一章为绪论,结合应用和技术的发展趋势,综合介绍了课题研究的背景、意义、主要研究的内容。

第二章对DDR2 SDRAM进行了综述,介绍了DDR2内存的基本功能并提出总体解决方案。

第三章论述了传输层的实现方法,包括用户接口逻辑单元和配置寄存器单元。

第四章论述了物理层的控制器部分——控制器核心逻辑单元的设计与实现,包括数据的读写通路。

第五章介绍了物理层的物理接口部分——由Altera公司提供的基于FPGA应用的控制器与内存芯片的物理接口PHY。

第六章主要介绍了DDR2 SDRAM的验证方法和验证环境。

第七章主要介绍了控制器的FPGA综合。

以上七章构成了论文的主体。

北京航空航天大学硕士学位论文

第二章 DDR2 SDRAM协议研究及控制器整体解决方案设计

DDR2 SDRAM是由JEDEC进行开发的新一代内存技术标准。它与上一代DDR SDRAM技术标准最大的不同就是, DDR2 SDRAM每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。DDR2协议包括很多命令,如激活命令、读写命令、预充电命令和刷新命令等。为保证DDR2 SDRAM能够正常工作,对这些命令的时序,以及命令间的顺序及间隔都有着十分严格的规定。本章的主要目的就是对DDR2 SDRAM的命令时序、序列约束及时序约束进行研究分析,进而提出一种可行的系统解决方案。

2.1 DDR2 SDRAM相对DDR SDRAM的技术进步

相对于DDR SDRAM,虽然DDR2 SDRAM仍然保持了一个时钟周期完成两次数据传输的特性,但在数据传输率、延时、功耗等方面都有了显著提高,而这些性能的提高,主要来源于以下技术的提升:ODT,Post CAS,4-比特数据预取,封装等。

OCD(Off-Chip Driver):也就是所谓的离线驱动调整。DDR2 SDRAM通过调整上拉(pull-up)/下拉(pull-down)的电阻值使两者电压相等,减少DQ-DQS的偏移,通过控制电压来提高信号品质。

ODT:ODT是内建终结电阻。通常,使用DDR SDRAM的主板上面为了防止数据线终端反射信号需要大量的终结电阻,这大大增加了制造成本。实际上,不同的内存模组对终结电路的要求是不一样的,终结电阻的大小决定了数据线的信号比和反射率:终结电阻小,数据线信号反射低,但是信噪比也较低;终结电阻高,数据线的信噪比高,但是信号反射也会增加。因此主板上的终结电阻不仅不一定能非常好的匹配内存模块,相反还会在一定程度上影响信号品质。ODT是为了DDR2可以根据自身电气特点,内建合适的终结电阻,这样就可以保证得到最佳的信号品质。

Post CAS:快速读写访问。它是为了提高DDR2内存的利用效率而设定的。在Post CAS操作中,CASn信号(读写命令)能够被插到RAS信号,即Bank(逻辑存储库,DDR2 SDRAM中内存待单元的一个单位,同常有8192行)开关操作后面的一个时钟周期,对于DDR2 SDRAM内部来说,读写命令将在附加延迟(Additive Latency)有效。原来的tRCD(RASn到CASn和延迟)被AL(Additive Latency)所取代,AL可以在根据不同公司的内存颗粒的产品手册设定不同值。由于CASn信号放在了RAS信

第二章 DDR2 SDRAM 协议研究及控制器整体解决方案设计

号后面一个时钟周期,因此激活和读写命令不再会产生碰撞冲突。

2.2 DDR2 SDRAM 主要的AC 参数

在对DDR2 SDRAM 进行操作时,命令之间的间隔有很严格的规定。这些规定的间隔,即必须满足的AC (Alternating Current ,交流电)特性参数。由于这些参数在后面的论述中会经常用到,因此提前在此给予基本的介绍,如下表。表1中的参数值均来源于DDR2 SDRAM 的产品手册,产品型号不同,参数值也略有不同。

表1 DDR2 SDRAM 的主要AC 参数 对应时钟周期 参数名

说明 参数值/ns 266Mhz 333Mhz t RFC

Atuo Refresh 到Active 或Auto Refresh 的时间 105 28 35 t RP

Precharge 命令的执行时间 15 4 5 t RCD

Active 到Read 或Write 的延时 20 6 7 t WR

Write Recovery 时间 15 4 5 t RAS

Active 到Precharge 的时间 45 12 15 t RC

Active 到Active 的时间(同bank ) 60 16 20 t RRD

Active 到Active 的时间(异bank ) 10 3 4 t WTR

Write 到Read 的时间 7.5 2 3 t RTP

Read 到Precharge 的时间 7.5 2 3 t CKE CKE 的最小脉冲宽度 3t CLK 3 3

2.3 DDR2 SDRAM 的主要命令描述

DDR2 SDRAM 的命令总线由CSn 、RASn 、CASn 和WEn 这4条信号线构成。DDR2 SDRAM 的全部命令均由这4条信号线的组合、配合上地址总线和时钟使能信号CKE 来实现。读写访问是突发模式的(Burst ),数据长度为突发长度BL (Burst Length ),BL 可为4或8。DDR2 SDRAM 的命令主要有初始化、模式寄存器配置、激活、读写访问、预充电、刷新和空操作。

2.3.1 DDR2 SDRAM 初始化

DDR2 SDRAM 必须以标准中预先定义好的顺序进行加电、初始化、配置基本的操作参数,否则将导致不确定的操作。初始化的过程如下图所示。

北京航空航天大学硕士学位论文

图3 DDR2 SDRAM初始化序列

整个初始化过程依下面说明的顺序进行:

1、加电后过200us,待电源和时钟稳定,再过至少400ns,执行全部预充电命令(Precharge All);

2、设定扩展模式寄存器2(EMR2);

3、设定扩展模式寄存器3(EMR3);

4、设定扩展模式寄存器(EMR),设定DLL的使能信号有效;

5、设定模式寄存器(MR),并对DLL进行复位。到DLL锁定为止需要至少200个时钟,在此过程中CKE信号必须一直为高;

6、执行全部预充电命令;

7、执行至少2次刷新命令;

8、设定模式寄存器(MR),将地址的第8比特(A8)置0来进行初始化设备操作;

9、设定扩展模式寄存器(EMR),将地址的第7、8、9比特(A7、A8、A9)全部置1,使OCD功能有效,并设定其他比特位的值;

10、设定扩展模式寄存器(EMR),将地址的第7、8、9比特(A7、A8、A9)全部置0,退出OCD功能,并设定其他比特位的值;

11、DDR2 SDRAM完成初始化,在DLL复位后200个时钟之后,可以进行正常操作。

2.3.2 模式寄存器

模式寄存器是用来设定DDR2 SDRAM的工作模式的。这些设定包括突发长度(Burst Length)、突发类型(Burst Type)、CAS延时、工作模式(Mode)、DLL复位、写回复时间(Write Recovery)以及省电模式(Power Down Mode)等,如下图所示。

第二章 DDR2 SDRAM协议研究及控制器整体解决方案设计

图4 DDR2 SDRAM模式寄存器(MR)

模式寄存器的内容可以通过执行Load Mode(LM)命令进行配置。如果用户只是想更改其中的某些比特位的值,当执行LM命令时,必须所有的比特位的值同时设定,即LM无法对模式寄存器进行比特位操作。通过LM命令,可以配置模式寄存器,并保存配置信息,直到再次配置或器件断电。从新配置模式寄存器不会改变内存模块中的数据,当然前提是从新配置之前DDR2 SDRAM工作正常。

LM命令只能在所有bank都处于关闭状态——完成预充电并处于IDLE状态——的条件下进行。控制器在执行完LM命令后,必须等待指定的时间(tMRD)后,才能进行如激活等访问命令序列的初始命令。如果这两个条件得不到满足,将导致DDR2功能错误。

2.3.3 扩展模式寄存器

除模式寄存器(MR)之外,DDR2 SDRAM还有3个扩展模式寄存器(Extended

北京航空航天大学硕士学位论文

Mode Register),即模式扩展寄存器1(EMR)、模式扩展寄存器2(EMR2)和模式扩展寄存器3(EMR3)。

扩展模式寄存器1控制了模式控制器以外的扩展功能的设定。这些扩展功能包括DLL的有效/无效设定(DLL enable/disable)、输出信号驱动强度设定(output drive strength)、片内终结电阻的设定(ODT)、快速访问的附加延时设定(Posted AL)、离线驱动的阻抗计算(OCD),DQS的有效/无效设定(DQS enable/disable)、RDQS/RDQSn 信号的有效/无效设定和输出的有效无效设定。这些功能都通过下图所示的对应比特位进行控制。

扩展模式寄存器1的配置方法、过程和要求,与模式寄存器一致。

图5 DDR2 SDRAM模式扩展寄存器1

扩展寄存器2只有一个有效比特值,其余比特都是被预留方便后续扩展使用的。这个有效的比特位是与内存刷新相关的SRT有效设定寄存器(SRT Enable)——当内存的工作温度高于85℃时,漏电流变大,因此需要双倍的刷新频率以保证数据的稳定。

第二章 DDR2 SDRAM协议研究及控制器整体解决方案设计

图6 DDR2 SDRAM模式扩展寄存器2

模式扩展寄存器3(EMR3)的全部比特位是都预留比特位,无有效寄存器,设定为0即可。

2.3.4 激活命令(Active)

在执行读写命令之前,必须确保被读写地址所在的bank和行(row)是处于打开或激活状态,而激活的过程就是执行激活命令。在执行激活命令时,需要给出目标bank 和列的地址。

当一行已经被激活,在对该行数据执行读写之前,必须满足激活命令与读写命令间的时间间隔大于规范中指定的tRCD。最小的tRCD值即tRCD最小值除以时钟周期tCK所得的商,近似到最接近的下一个整数。也是就是说,在执行完Active命令后,可以执行读写命令的最早的时钟沿必须满足不小于tRCD(min)的条件。类似的,其他时间参数也可以如此由时间单位(如ns)转换到时钟个数。

比如,如表1所示,tRCD的最小值是20ns,DDR2 SDRAM的工作频率是266MHz,于是,

20/3.75=5.3clk≈6clk

即,tRCD(MIN)的最小始终周期数为6。

tRRD的最小值为10ns,换算到266Mhz的时钟周期个数,即为

tRRD/3.75=2.66≈3clk

下面给出了满足tRRD和tRCD最小时钟个数的激活命令时序图。

实验一 八位全加器的设计

电子科技大学电子工程学院标准实验报告(实验)课程名称EDA技术与应用 姓名:孙远 学号:2010021030002 指导教师:窦衡 电子科技大学教务处制表

实验一八位全加器的设计 一、预习内容 1.结合教材中的介绍熟悉QuartusⅡ软件的使用及设计流程; 2.八位全加器设计原理。 二、实验目的 1.掌握图形设计方法; 2.熟悉QuartusⅡ软件的使用及设计流程; 3.掌握全加器原理,能进行多位加法器的设计。 三、实验器材 PC机一台、EDA教学实验系统一台、下载电缆一根(已接好)、导线若干 四、实验要求 1、用VHDL设计一个四位并行全加器; 2、用图形方式构成一个八位全加器的顶层文件; 3、完成八位全加器的时序仿真。 五、实验原理与内容 1、原理: 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。因此本实验中的8 位加法器采用两个4位二进制并行加法器级联而成。

2、实现框图: 1)四位加法器 四位加法器可以采用四个一位全加器级连成串行进位加法器,实现框图如下图所示,其中CSA为一位全加器。显然,对于这种方式,因高位运算必须要等低位进位来到后才能进行,因此它的延迟非常可观,高速运算肯定无法胜任。 通过对串行进位加法器研究可得:运算的延迟是由于进位的延迟。因此,减小进位的延迟对提高运算速度非常有效。下图是减少了进位延迟的一种实现方法。可见,将迭代关系去掉,则各位彼此独立,进位传播不复存在。因此,总的延迟是两级门的延迟,其高速也就自不待言。 2)八位加法器 用两个并行四位加法器实现一个八位加法器的框图如下:

8位全加器的设计

课程设计报告 课程名称数字逻辑课程设计 课题8位全加器的设计 专业计算机科学与技术 班级1202 学号34 姓名贺义君 指导教师刘洞波陈淑红陈多 2013年12月13日

课程设计任务书 课程名称数字逻辑课程设计 课题8位全加器的设计 专业班级计算机科学与技术1202 学生姓名贺义君 学号34 指导老师刘洞波陈淑红陈多审批刘洞波 任务书下达日期:2013年12月13日 任务完成日期:2014年01月21日

一、设计内容与设计要求 1.设计内容: 本课程是一门专业实践课程,学生必修的课程。其目的和作用是使学生能将已学过的数字电子系统设计、VHDL程序设计等知识综合运用于电子系统的设计中,掌握运用VHDL或者Verilog HDL设计电子系统的流程和方法,采用Quartus II等工具独立应该完成1个设计题目的设计、仿真与测试。加强和培养学生对电子系统的设计能力,培养学生理论联系实际的设计思想,训练学生综合运用数字逻辑课程的理论知识的能力,训练学生应用Quartus II进行实际数字系统设计与验证工作的能力,同时训练学生进行芯片编程和硬件试验的能力。 题目一4线-16线译码器电路设计; 题目二16选1选择器电路设计; 题目三4位输入数据的一般数值比较器电路设计 题目四10线-4线优先编码器的设计 题目五8位全加器的设计 题目六RS触发器的设计; 题目七JK触发器的设计; 题目八D触发器的设计; 题目九十进制同步计数器的设计; 题目十T触发器的设计; 每位同学根据自己学号除以10所得的余数加一,选择相应题号的课题。 参考书目 1 EDA技术与VHDL程 序开发基础教程 雷伏容,李俊,尹 霞 清华大学出版 社 978-7-302-22 416-7 201 TP312VH/ 36 2 VHDL电路设计雷伏容清华大学出版 社 7-302-14226-2 2006 TN702/185 3 VHDL电路设计技术王道宪贺名臣? 刘伟 国防工业出版 社 7-118-03352-9 2004 TN702/62 4 VHDL 实用技术潘松,王国栋7-8106 5 7-81065-290-7 2000 TP312VH/1 5 VHDL语言100 例详解 北京理工大学A SIC研究所 7-900625 7-900625-02-X 19 99 TP312VH/3 6 VHDL编程与仿真王毅平等人民邮电出版 社 7-115-08641-9 20 00 7 3.9621/W38V 7 VHDL程序设计教程邢建平?曾繁泰清华大学出版 社 7-302-11652-0 200 5 TP312VH/27 /3

移位寄存器及其应用(精)

移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、原理说明 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。按代码的移位方向可分为左移、右移和可逆移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同又可分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图8-3-3-1所示。 其中 D0、D1、D2、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;S R为右移串行输入 C为直接无条件清零端; 端,S L为左移串行输入端;S1、S0为操作模式控制端;R CP为时钟脉冲输入端。 CC40194有5种不同操作模式:即并行送数寄存,右移(方向由Q0→Q3),左移(方向由Q3→Q0),保持及清零。 S1、S0和R C端的控制作用如表8-3-3-1。 图8-3-3-1 CC40194的逻辑符号及引脚功能 表8-3-3-1 CC40194功能表

2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图8-3-3-2所示,把输出端 Q3和右移串行输入端S R 相连接,设初始状态Q0Q1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100→0010→0001→1000→……,如表10-2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图8-3-3-2 电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。其状态表如表8-3-3-2所示。 表8-3-3-2 环形计数器状态表 图 8-3-3-2 环形计数器 如果将输出Q O与左移串行输入端S L相连接,即可达左移循环移位。 (2)实现数据串、并行转换 ①串行/并行转换器 串行/并行转换是指串行输入的数码,经转换电路之后变换成并行输出。 图8-3-3-3是用二片CC40194(74LS194)四位双向移位寄存器组成的七位串/并行数据转换电路。

移位寄存器 第三章答案

第三章习题参考答案 1.画出以1)(2 4 6 +++=x x x x f 为联接多项式的线性移位寄存器逻辑框图,及其对应的状态图。 解:由1)(2 46+++=x x x x f ,得反馈函数为531621),,,(x x x x x x f ++=Λ,故 (1)逻辑框图: (2)状态图: 状态圈-1: 状态圈-2: 状态圈-3: 状态圈-4: 状态圈-5: 状态圈-6: 状态圈-7: 状态圈-8:

状态圈-9: 状态圈-10: 状态圈-11: 状态圈-12: 2.已知图3-2所示的7级线性反馈移位寄存器: 图3-2 (1)绘出该移位寄存器的线性递推式,联接多项式及特征多项式。 (2)给出状态转移矩阵。 (3)设初态为(1 1 1 1 1 1 1),给出输出序列a 。 解:(1)由逻辑框图得,递推式为: k k k k a a a a ++=+++357 ()0≥k 。 联接多项式为:7 4 2 1)(x x x x f +++=。 特征多项式为:7531)(~ x x x x f +++=

(2)状态转移矩阵:? ? ???? ? ?? ? ? ??0100000 101000000010001000100 000001000000011000000。 (3)输出序列:)111111111(ΛΛ=- a 。 3.设5级线性反馈移位寄存器的联接多项式为1)(2 5 ++=x x x f ,初态为(10101)。求输出序列a 。 解:由联接多项式得,反馈函数为:41521),,,(x x x x x f +=Λ。故以)10101(为初态的状态转移图为: 10101 01010001010001000001100000100000100100100100110100110100110100110100111100111100111101111101111001110001110001110000110010110110111110101110101110101110101→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→ 由此可得,输出序列为:=a 44444443444444421一个周期 0110100100000011111001010111011…。 4.证明:n 级线性反馈移位寄存器的状态转移变换是n 维线性空间n F 2上的线性变换。 证明:设f T 为n 级线性移位寄存器的状态转移变换,对n F 2,∈?βα,令),,,(110-=n a a a Λα, ),,,(110-=n b b b Λβ,有: ),,,(),,,()(121110∑=--==n i i n i n f f a c a a a a a T T ΛΛα, ),,,(),,,()(1 21110∑=--==n i i n i n f f b c b b b b b T T ΛΛβ。 ) ()() ,,,(),,,() )(,,,() ,,,()(1 211 2112211111100βαβαf f i n n i i i n n i i n i i n i n i n n f f T T b c b b a c a a b a c b a b a b a b a b a T T +=+=+++=+++=+-=-==----∑∑∑ΛΛΛΛ 对 2F k ∈?, ))((),,,(),,,()(1 21110ααf i n n i i n f f T k a c k ka ka ka ka ka T k T ===-=-∑ΛΛ。 故n 级线性反馈移位寄存器的状态转移变换是n 为线性空间n F 2上的线性变换。

实验五移位寄存器及其应用

实验五移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、实验原理 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图10-1所示。 图10-1 CC40194的逻辑符号及引脚功能 其中 D 0、D 1 、D 2 、D 3 为并行输入端;Q 、Q 1 、Q 2 、Q 3 为并行输出端;S R 为右 移串行输入端,S L 为左移串行输入端;S 1 、S 为操作模式控制端;R C为直接无 条件清零端;CP为时钟脉冲输入端。 CC40194有5种不同操作模式:即并行送数寄存,右移(方向由Q 0→Q 3 ),左移 (方向由Q 3→Q ),保持及清零。 S 1、S 和R C端的控制作用如表10-1。

2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图10-2所示,把输出端 Q 3和右移串行输入端S R 相连接,设初始状态Q Q 1 Q 2 Q 3 =1000,则在时钟脉冲作用下Q 0Q 1 Q 2 Q 3 将依次变为0100→0010→0001→1000 →……,如表10-2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图10-2 电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。 图 10-2环形计数器 如果将输出Q O 与左移串行输入端S L 相连接,即可达左移循环移位。 (2)实现数据串、并行转换

四位二进制加法器课程设计

课题名称与技术要求 课题名称: 四位二进制加法器设计 技术要求: 1)四位二进制加数与被加数输入 2)二位数码管显示 摘要 本设计通过八个开关将A3,A2,A1,A0和B3,B2,B1,B0信号作为加数和被加数输入四位串行进位加法器相加,将输出信号S3,S2,S1,S0和向高位的进位 C3通过译码器Ⅰ译码,再将输出的Y3,Y2,Y1,Y0和X3,X2,X1,X0各自分别通过一个74LS247译码器,最后分别通过数码管BS204实现二位显示。 本设计中译码器Ⅰ由两部分组成,包括五位二进制译码器和八位二进制输出器。信号S3,S2,S1,S0和向高位的进位C3输入五位二进制-脉冲产生器,将得到的n(五位二进制数码对应的十进制数)个脉冲信号输入八位二进制输出器,使电路的后续部分得以执行。 总体论证方案与选择 设计思路:两个四位二进制数的输入可用八个开关实现,这两个二进制数经全加器求和后最多可以是五位二进制数。本题又要求用两个数码管分别显示求和结果的十进制十位和各位,因此需要两个译码器Ⅱ分别译码十位和

个位。综上所述,需要设计一个译码器Ⅰ,能将求和得到的五位二进制数译成八位,其中四位表示这个五位二进制数对应十进制数的十位,另四位表示个位。而译码器Ⅱ有现成的芯片可选用,此处可选74LS247,故设计重点就在译码器Ⅰ。 加法器选择 全加器:能对两个1位二进制数进行相加并考虑低位来的进位,即相当于3个1位二进制数相加,求得和及进位的逻辑电路称为全加器。或:不仅考虑两个一位二进制数相加,而且还考虑来自低位进位数相加的运算电路,称为全加器。 1)串行进位加法器 构成:把n位全加器串联起来,低位全加器的进位输出连接到相邻的高位全加器的进位输入。 优点:电路比较简单。 最大缺点:进位信号是由低位向高位逐级传递的,运算速度慢。 2)超前进位加法器 为了提高运算速度,必须设法减小或消除由于进位信号逐级传递所消耗的时间,于是制成了超前进位加法器。 优点:与串行进位加法器相比,(特别是位数比较大的时候)超前进位加法器的延迟时间大大缩短了。 缺点:电路比较复杂。 综上所述,由于此处位数为4(比较小),出于简单起见,这里选择串行进位加法器。 译码器Ⅱ选择 译码是编码的逆过程,将输入的每个二进制代码赋予的含意“翻译”过来,给出相应的输出信号。译码器是使用比较广泛的器材之一,主要分为:变量译码器和码制译码器,其中二进制译码器、二-十进制译码器和显示译码器三种最典型,使用十分广泛。显示译码器又分为七段译码器和八段

8位全加器设计

基于原理图的8位全加器设计 实验目的:熟悉利用Quartus II的原理图输入方法设计简单的组合电路,掌握层次化设 计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。 实验原理:一个8位全加器可以由8个1位全加器串行构成,即将低位加法器的进位输 出cout与相临的高位加法器的最低位输入信号cin相接。 试验任务:1.完成半加器和全加器的设计。 2.建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,完成编译、综合、适配、仿真和硬件测试。 实验步骤: 一、1位全加器设计 1.建立工程文件夹adder,路径d:\adder。 2.输入设计项目和存盘 原理图编辑输入流程如下: (1)打开Quartus II,选择file—>new命令,在弹出的窗口中选择block diagram/schematic file 选项,单击ok按钮后将打开原理图编辑窗口。 (2)在编辑窗口中的任何一个位置上右击,将弹出快捷菜单,选择inset—>symbol命令,将弹出元件输入对话框。 (3)单击“…”按钮,找到基本元件库路径d:/altera/90/quartus/libraries/primitives/logic项(假设软件安装在D盘),选中需要的元件,单击“打开”按钮,此元件即显示在窗口中,然后单击symbol窗口中的ok按钮,即可将元件调入原理图编辑窗口中。也可以在name栏输入需要的元件名。调入好元件和引脚后,连接好电路,再输入各引脚名。 (4)选择file—>save as命令,选择刚才为自己的工程建立的目录d:\adder,将已设计好的原理图取名为h_adder.bdf,并存盘此文件夹内。 3.将设计好的项目设置成可调用的元件 为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成可调用的元件。在打开半加器原理图文件的情况下,选择file—>create/update—>create symbol file for current file命令,即可将当前文件h_adder.bdf变成一个元件符号存盘,以待高层次设计中调用。4.设计全加器顶层文件 打开一个原理图编辑窗口,方法同前。在新打开的原理图窗口中双击,在弹出的窗口中选择project选项,选择h_adder.bdf,并调入其他元件,连接好电路。以f_adder.bdf名存在同一路径d:\adder中。 二、8位全加器设计 1.将刚设计好的1位全加器设置成可调用的元件,方法同上。 2.调入元件,连接电路图,以8f_adder.bdf保存于同一路径d:\adder中的文件夹中。 3.将顶层文件8f_adder.bdf设置为工程。 4.编译与仿真 原理图与仿真波形分析:

八位二进制加法器课程设计

长安大学电子技术课程设计 课题名称______________ 班级______________ 姓名______________ 指导教师 日期______________

前言 8位二进制加法器,它的功能主要是实现两个8位二进制数的相加,其结果的范围应该在00000000到111111110之间,即000到510之间。加法器在实际应用中占据着十分重大的地位,从我们呱呱坠地起,到小学,到初中,到高中,到大学,到工作,等等。我们能离开加法吗,不能!加法可以说是一切运算的基础,因此8位二进制加法器的设计是很有必要的。 那么我们如何设计一个8位二进制加法器呢?在实际应用中,我们通常输入的是十进制数,一个八位二进制数所对应的最大的十进制数是255,于是输入两个范围在000到255之间的数,首先通过二-十进制编码器将输入的三位十进制数的个位、十位、百位分别转换为8421BCD码,得到两个十二位字码,再通过加法器将它们相加,逢10进1,得到一个新的十二位字码,再用7447数字显示译码器将这个十二位字码还原到原来的三位十进制数。最后输出的就是一个三位十进制数,其范围在000到510之间。通过上述方法我们实现了八位二进制数的相加,从而达到了题目的要求。 为实现上述目的,我们需要查阅相关资料。通过查阅,理解以及加以运用,我们认识到了收集资料的不易性,但同时也得到了不少收获,可以说是有苦有甜。同时,虽然我们基本设计出了这个八位二进制加法器,但是不必可避免地会产生一些问题,比如说在连线上可能有更简便的途径,在元件的选用上可能还有其它更简便的方法,在控制上可能还不够精简,等等。我们希望在以后的实践中能找出更好的方法,也希望能吸取这次设计中的不足,逐渐改善。另外,在电子设计的过程中,与同组同学之间的合作配和是十分重要的。我在此次设计中也充分认识到这一点的重要性,我相信这次的电子设计能够为我们将来的工作奠定一定的基础。

实验五移位寄存器及其应用共10页文档

实验五 移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用 — 实现数据的串行、并行转换和构成环形计数器。 二、实验原理 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图10-1所示。 图10-1 CC40194的逻辑符号及引脚功能 其中 D 0、D 1 、D 2 、D 3为并行输入端;Q 0、Q 1、Q 2、Q 3为并行输出端;S R 为右移串行输入端,S L 为左移串行输入端;S 1、S 0 为操作模式控制端; R C 为直接无条件清零端;CP 为时钟脉冲输入端。 CC40194有5种不同操作模式:即并行送数寄存,右移(方向由Q 0→Q 3),左移(方向由Q 3→Q 0),保持及清零。 S 1、S 0和R C 端的控制作用如表10-1。 表10-1

2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图10-2所示,把输出端 Q 3和右移串行输入端S R 相连接,设初始状态 Q 0Q 1 Q 2 Q 3 =1000,则在时钟脉冲作用下Q Q 1 Q 2 Q 3 将依次变为0100→0010→0001 →1000→……,如表10-2所示,可见它是一个具有四个有效状态的计数

用原理图方法设计8位全加器

实验报告一 一、实验目的 熟悉利用QuartusII的原理图输入方法设计简单电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。 二、实验内容 1.根据工作原理,完成1位半加器和全加器的设计; 2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成 编译、综合、适配、仿真。 三、实验环境 计算机、QuartusII软件 四、实验步骤 1.根据半加器工作原理,建立电路并仿真,并将元件打包。 (1)电路 (2)仿真: 仿真结果分析:S为和信号,当A=1,B=0或A=0,B=1时,和信号S为1,否则为0.当A=B=1时,产生进位信号,及CO=1。 (3)打包后的文件:

2.利用半加器构成一位全加器,并打包。 (1)电路 (2)仿真 仿真结果分析:CI为来自低位的进位,S=A xor B xor CI,即:当A,B,CI中有一位为高电平‘1’或者三位同时高电平为‘1’,则S=1,否则S=0;当A,B,CI有两位或者三位同为高电平‘1’时,产生进位信号CO=‘1’。 (3)打包后的文件 3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。 (1)电路

(2)仿真 仿真结果分析:八位全加器,和S分别与A,B 对应。当来自第七位的进位信号为‘1’、A 的最高位和B的最高位三者有两个位高电平‘1’时,则产生进位信号CO=‘1’。 五、实验结果与讨论 实验的仿真结果与预计的结果一致,所以所设计的电路是正确的。不足的地方有: 1、对软件还不够熟悉,所以操作的有点慢;

2、设计电路时,由于数字电路的知识有些开始淡忘了,所以应当及时去补 缺补弱。 六、总结 思考题:为了提高加法器工作速度,如何改进以设计的进位方式? 答:采用超前进位。串行加法器的第i位进位是由0~(i-1)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

实验七 移位寄存器及其应用

实验七 移位寄存器及其应用 一、实验目的 1. 掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2. 熟悉移位寄存器的应用——环形计数器。 二、实验原理 1. 移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又有右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为74LS194或CC40194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图 1所示。 图 1 74LS194的逻辑符号及其引脚排列 其中D 3、D 2、D 1、D 0为并行输入端, Q 3、Q 2、Q 1、Q 0为并行输出端;S R 为右移串行输入端,S L 为左移串行输入端,S 1、S 0为操作模式控制端;CR 为直接无条件清零端;CP 为时钟脉冲输入端。74LS194有5种不同操作模式:即并行送数寄存,右移(方向由Q 3→Q 0),左移(方向由Q 0→Q 3),保持及清零。S 1、S 0和CR 端的控制作用如表 1所示。 表 1

2.移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计致器和串行累加器的线路及其原理。 (1) 环形计数器:把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图2所示,把输出端Q 0和右移串行输入端S R 相连接,设初始状态Q 3 Q 2 Q 1 Q =1000, 则在时钟脉冲作用下Q 3Q 2 Q 1 Q 将依次变为0100→0010→0001→1000→……,可见它是具 有四个有效状态的计数器,这种类型的计效器通常称为环形计数器。图2电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。

利用Quartus II软件和原理图输入法设计八位加法器

摘要 Quartus II是最高级和复杂的,用于system-on-a-programmable-chip (SOPC)的设计环境。Quartus II提供完善的timing closure 和LogicLock 基于块的设计流程。QuartusII design是唯一一个包括以timing closure 和基于块的设计流为基本特征的programmable logic device (PLD)的软件。Quartus II 设计软件改进了性能、提升了功能性、解决了潜在的设计延迟等,在工业领域率先提供FPGA与mask-programmed devices开发的统一工作流程。 本文介绍了微机上的QuartusⅡ软件系统的使用,并用该软件分别设计半加器,全加器,并编译连接设计一个8位加法器的过程。 关键词:8位加法器;EDA(电子设计自动化);QuartusⅡ(可编程逻辑软件)

目录 第1章概述 (1) 1.1EDA的概念 (1) 1.2硬件描述语言概述 (2) 第2章QUARTUS II (4) 2.1QUARTUSII概述 (4) 2.2QUARTUSII建立工程项目 (4) 2.3QUARTUSII建立原理图输入文件 (6) 2.4QUARTUSII层次化项目设计 (9) 第3章8位加法器设计 (12) 3.18位加法器分析 (12) 3.2设计过程 (12) 参考文献 (15) 结论 (16)

第1章概述 1.1 EDA的概念 EDA是电子设计自动化(Electronic Design Automation)的缩写,从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。 由于它是一门刚刚发展起来的新技术,涉及面广,内容丰富,理解各异,所以目前尚无一个确切的定义。但从EDA技术的几个主要方面的内容来看,可以理解为EDA技术就是以计算机为工具,设计者在EDA软件平台上,以硬件描述语言为系统逻辑描述的主要表达方式完成设计文件,然后由计算机自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度[1]。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 EDA技术是伴随着计算机、集成电路、电子系统的设计发展起来的,至今已有30多年的历程。大致可以分为三个发展阶段。20世纪70年代的CAD(计算机辅助设计)阶段:这一阶段的主要特征是利用计算机辅助进行电路原理图编辑,PCB 布同布线,使得设计师从传统高度重复繁杂的绘图劳动中解脱出来。20世纪80年代的QAE(计算机辅助工程设计)阶段:这一阶段的主要特征是以逻辑摸拟、定时分析、故障仿真、自动布局布线为核心,重点解决电路设计的功能检测等问题,使设计能在产品制作之前预知产品的功能与性能[2]。20世纪90年代是EDA(电子设计自动化)阶段:这一阶段的主要特征是以高级描述语言,系统级仿真和综合技术为特点,采用“自顶向下”的设计理念,将设计前期的许多高层次设计由EDA工具来完成[3]。 1.1.1 EDA的发展 从目前的EDA技术来看,中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分的设计人员工发复杂的片上系

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]),.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1]),.cout(cout1 )); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2]),.cout(cout2 )); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3]),.cout(cout3 )); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4]),.cout(cout4 )); f_adder

7.3.3移位寄存器及其应用

7.3.3移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用——实现数据的串行、并行转换和构成环形计数器。 二、实验原理 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图10-1所示。 2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图10-2所示,把输出端 Q3和右移串行输入端S R 相连接,设初始状态Q0Q1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100→0010→0001→1000→……,如表7-29所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图7-52 电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。如果将输出Q O与左移串行输入端S L相连接,即可达左移循环移位。 表

图 7-52 环形计数器 (2)实现数据串、并行转换 第一串行/并行转换器串行/并行转换是指串行输入的数码,经转换电路之后变换成并行输出。图10-3是用二片CC40194(74LS194)四位双向移位寄存器组成的七位串/并行数据转换电路。电路中S0端接高电平1,S1受Q7控制,二片寄存器连接成串行输入右移工作模式。Q7是转换结束标志。当Q7=1时,S1为0,使之成为S1S0=01的串入右移工作方式,当Q7=0时,S1=1,有S1S0=10,则串行送数结束,标志着串行输入的数据已 图10-3 七位串行 / 并行转换器 串行/并行转换的具体过程如下: 转换前,R C端加低电平,使1、2两片寄存器的内容清0,此时S1S0=11,寄存器执行并行输入工作方式。当第一个CP脉冲到来后,寄存器的输出状态Q0~Q7为01111111,与此同时S1S0变为01,转换电路变为执行串入右移工作方式,串行输入数据由1片的S R端加入。随着CP 脉冲的依次加入,输出状态的变化可列成表10-3所示。 表10-3 由表10-3可见,右移操作七次之后,Q7变为0,S1S0又变为11,说明串行输入结束。这时,串行输入的数码已经转换成了并行输出了。 当再来一个CP脉冲时,电路又重新执行一次并行输入,为第二组串行数码转换作好了准备。 第二,并行/串行转换器,并行/串行转换器是指并行输入的数码经转换电路之后,换成串行输出。图10-4是用两片CC40194(74LS194)组成的七位并行/串行转换电路,它比图10-3多了两只与非门G1和G2,电路工作方式同样为右移。

8位全加器

目录 一、设计目的和要求 (1) 1.课程设计目的 (1) 2.课程设计的基本要求 (1) 3.课程设计类型 (1) 二、仪器和设备 (1) 三、设计过程 (1) 1.设计内容和要求 (1) 2.设计方法和开发步骤 (2) 3.设计思路 (2) 4.设计难点 (4) 四、设计结果与分析 (4) 1.思路问题以及测试结果失败分析 (4) 2.程序简要说明 (5) 五、心得体会 (9) 六、参考文献 (9)

一、设计目的和要求 1.课程设计目的 设计一个带进位的八位二进制加法计数器:要求在MAX+plusⅡ10.2软件的工作平台上用VHDL语言层次设计出一个带进位的八位二进制加法器,并通过编译及时序仿真检查设计结果。 2.课程设计的基本要求 全加器与带进位输入8位加法器设计要求我们通过8位全加器的设计掌握层次化设计的方法,充分理解全加器的设计过程,掌握一位全加器的程序,熟悉MAX+plusⅡ10.2软件的文本和原理图输入方法设计简单组合电路。 课程设计过程中要求能实现同步和异步的八位二进制全加器的设计。 3.课程设计类型 EDA课程设计 二、仪器和设备 PC机、MAX+plusⅡ10.2软件 三、设计过程 1.设计内容和要求 方法一: 1.原理图输入完成半加器和1位全加器的设计,并封装入库 2.层次化设计,建立顶层文件,由8个1位全加器串联构成8位全加器 3.每一层次均需进行编译、综合、适配及仿真 方法二: 1. 原理图输入完成一个四位全加器的设计 2.层次化设计,建立顶层文件,由2个4位全加器串联构成8位全加器 3.每一层次均需进行编译、综合、适配及仿真

2.设计方法和开发步骤 加法器是数字系统中的基本逻辑器件。例如:为了节省资源,减法器和硬件乘法器都可由加法器来构成。但宽位加法器的设计是很耗费资源的,因此在实际的设计和相关系统的开发中需要注意资源的利用率和进位速度等两方面的问题。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实验表明,4 位二进制并行加法器和串行级联加法器占用几乎相同的资源。这样,多位数加法器由4 位二进制并行加法器级联构成是较好的折中选择。 因此这次课程设计中的8 位加法器可采用两个4位二进制并行加法器级联而成。此外我们还讨论了由八个一位全加器串联构成的八位二进制全加器。设计中前者设计为同步加法器,后者设计为异步加法器。 3.设计思路 方法一:异步八位全加器 设计流程图如下: 图 1异步八位流程图

最新实验五移位寄存器及其应用

实验五移位寄存器及 其应用

实验五移位寄存器及其应用 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、实验原理 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图10-1所示。 图10-1 CC40194的逻辑符号及引脚功能 其中 D0、D1、D2、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;S R 为右移串行输入端,S L为左移串行输入端;S1、S0为操作模式控制端;R C为直接无条件清零端;CP为时钟脉冲输入端。

CC40194有5种不同操作模式:即并行送数寄存,右移(方向由Q0→Q3),左移(方向由Q3→Q0),保持及清零。 S1、S0和R C端的控制作用如表10-1。 2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环形计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位, 如图10-2所示,把输出端 Q3和右移串行输入端S R 相连接,设初始状态 Q0Q1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100→0010→0001→1000→……,如表10-2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。图10-2 电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。

8位全加器的设计与实现

实验二 8位全加器的设计与实现 [实验目的] 1 掌握Quartus II 环境下原理图输入、编译综合、仿真、引脚锁定、下载及硬件 测试测试方法; 2 掌握Quartus II 对FPGA 的设计方法。 3 学习8位全加器原理图的设计,掌握Quartus II 原理图层次化设计方法。 [实验仪器] Pentium PC 机 、EDA 实验箱 各一台 Quartus II 6.0软件 [实验内容] 采用Quartus II 原理图输入方式及层次化设计方法设计8位全加器并进行器件编程、检测。 1. 完成全加器的设计(包括原理图输入、编译综合、适配、仿真并将它们设置成硬件符号入库)。 2. 建立顶层原理图文件。采用已产生的全加器元件设计一个8位串行全加器电路,并完成编译综合、适配、仿真和硬件测试。 一、一位全加器 每个全加器有三位输入,分别是加数A,B 和一个进位位CI 。将这三个数相加,得 出全加和数D 和进位数CO 。这个过程称为”全加”,全加器的真值表参见表1。 全加器的真值表1 A B CI CO D 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 由表2得: ABCI CI AB CI B A BCI A CO +++= D ABCI ABCI ABCI ABCI =+++ 可用两个四选一芯片完成。原理图如下:

A BCI 1 0001111011 1 cout D0D1D2D31 A BCI 1 00011110111S D0D1D2 D3 1 可得: Cout 的连接方式如下: D0=0;D1=CI=D2;D3=1 S 的连接方式如下: D0=CI;D1=CI =D2;D3=CI 选用两片4选1,可绘制全加器如图1所示。 VCC ci INPUT VCC A INPUT VCC B INPUT S OUTPUT COUT OUTPUT S0D2S1D3D0INH D1 Q MUX41 inst9 NOT inst10 S0D2S1D3D0INH D1Q MUX41 inst GND VCC 图1一位全加器 1. 为全加器项目工程设计建立文件夹 Windows 环境下在D :盘建立8位加法器设计项目的文件夹,取名为adder8, 路径为d :\adder8。 2. 输入原理图文件 (1) 打开Quartus II ,选择菜单File →New 。在New 窗口中的Device Design Files 中选择硬件设计文件类型为Block Diagram/Sxhematic File ,单击OK 按钮后进入Quartus II 图形编辑窗口。 (2) 选择输入元件项Inset →Symbol ,分别调入mux41、not 元件及输入、输出端口,参照图上图合理布局、布线,最后输入各引脚名:A 、B 、ci 和s 、cout 。 (3) 原理图文件存盘,注意应选择刚才建立的文件夹 d:\adder8,将已设计好的原理图 文件取名为has.bdf,点击OK 存盘。存盘后Quartus II 弹出“Do you want to create a new project with this file?” 窗口,窗口选择“是”,将进入建立新工程项目操作。(具体操作见第3点) 3、 建立新工程项目 如在前一步操作中选择“否”的话,可按下面的操作建立新工程项目。建立工程项目

相关主题
文本预览
相关文档 最新文档