河南科技大学 课 程 设 计 说 明 书
课程名称 EDA技术与应用 题 目 移位寄存器的设计与实现
学 院 班 级 学生姓名 指导教师 日 期
EDA技术课程设计任务书
班级: 姓名: 学号: 设计题目: 移位寄存器的设计与实现 一、设计目的
进一步巩固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计基础。 二、设计任务
根据计算机组成原理中移位寄存器的相关知识,利用VHDL语言设计了三种不同的寄存器:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。 三、设计要求
(1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。
(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法. (3)学习按要求编写课程设计报告书,能正确阐述设计和实验结果。
(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。 四、设计时间安排
查找相关资料(1天)、设计并绘制系统原理图(2天)、编写VHDL程序(2天)、调试(2天)、编写设计报告(2天)和答辩(1天)。 五、主要参考文献
[1] 江国强编著。 EDA技术与实用(第三版). 北京:电子工业出版社,2011。 [2] 曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版社,2006.5 [3] 阎石主编。数字电子技术基础.北京:高等教育出版社,2003。
[4] Mark Zwolinski。 Digital System Design with VHDL.北京:电子工业出版社,2008 [5] Alan B. Marcovitz Introduction to logic Design。北京:电子工业出版社,2003 指导教师签字: 年 月 日
农业工程学院课程设计说明书
移位寄存器的设计与实现
摘 要
系统使用EDA技术设计了具有移位功能的寄存器,采用硬件描述语言VHDL进行设计,然后进行编程,时序仿真等.软件基于VHDL语言实现了本设计的控制功能.本设计根据移位寄存器的功能设计了三种不同的寄存器:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。 设计过程中,运用了软件QuartusⅡ进行编程,仿真,整个设计过程简单,使用方便。功能齐全,精度高,具有一定的开发价值。通过设计,对EDA有了更深层的了解,相对于课堂上所学的知识来说,增加了一定的实践经验,在编译时,常会出现错误不能通过编译,经过一点点的改正错误,最终终于通过编译,并得到正确的仿真结果,同时对EDA的实现软件QuartusⅡ的使用方法也能够更加熟练的掌握.
关键词: EDA,VHDL,移位寄存器
农业工程学院课程设计说明书
目 录
第一章 绪论 ......................................................................................... 0
一、课程设计的目的 ...................................................................................... 0 二、课程设计的内容 ...................................................................................... 0 三、EDA简介 ................................................................................................ 1 四、VHDL ....................................................................................................... 1
1、VHDL的简介 .................................................................................... 1 2、VHDL语言的特点 ............................................................................ 2 3、VHDL的设计流程 ............................................................................ 2
第二章 总体设计 ........................................ 4
一、设计规划 .................................................................................................. 4 二、各模块工作原理及设计 .......................................................................... 4
1、移位寄存器的工作原理 .................................................................... 4 2、双向移位寄存器的设计 .................................................................... 4 3、串入串出(SISO)移位寄存器的设计 .............................................. 7 4、串入并出(SIPO)移位寄存器的设计 .............................................. 9
第三章 设计结论 ............................................................................... 12 参考文献 ............................................................................................. 13
I
农业工程学院课程设计说明书
第一章 绪论
随着社会的发展,科学技术也在不断的进步。特别是计算机产业,可以说是日新月异,移位寄存器作为计算机的一个重要部件,从先前的只能做简单的左移或右移功能的寄存器到现在广泛应用的具有寄存代码、实现数据的串行—并行转换、数据运算和数据处理功能的移位寄存器。移位寄存器正在向着功能强,体积小,重量轻等方向不断发展,本设计主要介绍的是一个基于超高速硬件描述语言VHDL对移位寄存器进行编程实现。
近年来,集成电路和计算机应用得到了高速发展,现代电子设计技术已迈入一个崭新的阶段,具体表现在:(1)电子器件及其技术的发展将更多地趋向于为EDA服务;(2)硬件电路与软件设计过程已高度渗透;(3)电子设计技术将归结为更加标准、规范的EDA工具和硬件描述语言HDL的运用;(4)数字系统的芯片化实现手段已成主流。因此利用计算机和大规模复杂可编程逻辑器件进行现代电子系统设计已成为电子工程类技术人员必不可少的基本技能之一。
一、课程设计的目的
在计算机中常要求寄存器有移位功能。如在进行乘法时,要求将部分积右移;在将并行传送的数转换成串行数时也需要移位。因此,移位寄存器的设计是必要的。
本次设计的目的就是利用计算机组成原理中移位寄存器的相关知识,通过课程设计更加深入的了解移位寄存器的功能。了解EDA技术,并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合计算机组成原理中的相关知识理论联系实际,掌握所学的课程知识。通过对移位寄存器的设计,巩固和综合运用所学知识,提高对计算机组成原理的理解。
二、课程设计的内容
本课程设计是关于移位寄存器的设计,它不仅具有存储代码的功能,而
0
农业工程学院课程设计说明书
且还有左移、右移、并行输入及保持等功能.本设计根据功能的不同,设计了三种移位寄存器.
( 1 ) 双向移位寄存器。
( 2 ) 串入串出(SISO)移位寄存器。 ( 3 ) 串入并出(SIPO)移位寄存器。
三、EDA简介
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的.EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。
四、VHDL
1、VHDL的简介
VHDL(Very—High-Speed Integrated Circuit Hardware Description Language),翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中.诞生于1982年。自IEEE公布了VHDL的标准版本,IEEE—1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口.此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语
1
农业工程学院课程设计说明书
言.有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。 2、VHDL语言的特点
(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言.强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证.
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表.
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。 3、VHDL的设计流程 (1)设计规范的定义
明确设计的目的,进行设计的总体规划。分析设计要求,以及自己要达到的设计目的和目标。 (2)采用VHDL进行设计描述
这部分包括设计规划和程序的编写.设计规划主要包括设计方式的选择及是否进行模块划分。设计方式一般包括直接设计,自顶向下和自底向下设计。
(3)VHDL程序仿真
2
农业工程学院课程设计说明书
对于某些人而言,仿真这一步似乎是可有可无的。但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。另外,对于作为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。 (4)综合、优化和布局布线
综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。 (5)仿真
这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。
3
农业工程学院课程设计说明书
第二章 总体设计
一、设计规划
本设计是基于VHDL语言设计的移位寄存器,由于移位寄存器是计算机中非常重要的部件,所以本设计采用了不同的方法来实现寄存器的移位功能,具体设计的移位寄存器有:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。由于涉及内容比较基础,所以设计比较简单.
二、各模块工作原理及设计
1、移位寄存器的工作原理
用VHDL语言描述任意分频数的分频器,并实现占空比任意设置。每当系统时钟上升沿到来时,计数器就加计数一位(可任意设置为N位),当计数值到达预定值时就对分频时钟翻转。这样就会得到一个连续的时钟脉冲.
当移位信号到来时,移位寄存器就对存储的二进制进行移位操。移位寄存方式可自行设置(可左移、右移、一位移、多位移位寄存)。
所谓双向移位寄存器,即输入的数据既可以左移又可以右移. 所谓的串入/串出移位寄存器,即输入的数据是一个接着一个依序地进入,输出时一个接着一个依序地送出。
所谓的串入/并出移位寄存器,即输入的数据是一个接着一个依序地进入,输出时一起送出。 2、双向移位寄存器的设计 (1)双向移位寄存器工作原理:
4
农业工程学院课程设计说明书
图一 双向移位寄存器原理图
双向移位寄存器由VHDL程序实现,下面是其VHDL代码: 程序名:tdirreg.vhd LIBRARY IEEE;
USE IEEE。STD_LOGIC_1164。ALL; USE IEEE.STD_LOGIC_ARITH。ALL; USE IEEE。STD_LOGIC_UNSIGNED。ALL; ENTITY tdirreg IS
PORT (clk: IN STD_LOGIC; din: IN STD_LOGIC; dir : IN STD_LOGIC; op_l: OUT STD_LOGIC; op_r: OUT STD_LOGIC); END tdirreg;
ARCHITECTURE a OF tdirreg IS
SIGNAL q: STD_LOGIC_VECTOR(7 DOWNTO 0);
5
农业工程学院课程设计说明书
BEGIN
PROCESS(clk) BEGIN
IF clk’EVENT AND CLK= ’1’THEN IF dir = ’0’ THEN q(0) 〈= din; FOR i IN 1 TO 7 LOOP q(i) 〈= q(i-1); END LOOP ; ELSE
q(7) 〈= din;
FOR i IN 7 DOWNTO 1 LOOP q(i—1) 〈=q(i); END LOOP ; END IF; END IF; END PROCESS ; op_l <= q(7); op_r <= q(0); END a;
(2)双向移位寄存器仿真图分析:
6
农业工程学院课程设计说明书
图二 双向移位寄存器仿真图
对其仿真图进行仿真分析:dir为一个控制信号,clk为时钟控制信号,din为输入信号,表示要存入的数据,op_r表示右移(从高位到低位)后得到的结果,op_l表示左移(从低位到高位)后得到的结果。如图所示:当dir为0时,op_r输出的是右移的结果,遇到一个clk的下降沿时,输入数据右移一位。op_l输出的是左移的结果,遇到一个clk的下降沿时,输入数据左移一位。当dir为1时,op_r与op_l与上述相反。 3、串入串出(SISO)移位寄存器的设计 (1)串入串出移位寄存器工作原理
图三 串入串出移位寄存器原理图
串入串出(SISO)移位寄存器由VHDL程序实现.下面是其VHDL代码: 程序名:siso。vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164。ALL;
7
农业工程学院课程设计说明书
ENTITY siso IS
PORT(data_in : IN STD_LOGIC; clk : IN STD_LOGIC;
data_out : OUT STD_LOGIC); END siso;
ARCHITECTURE a OF siso IS
SIGNAL q : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
PROCESS(clk) BEGIN
IF clk ’EVENT AND CLK = ’1' THEN q(0)〈=data_in; FOR i IN 1 TO 3 LOOP q(i)〈=q(i-1); END LOOP; END IF; END PROCESS; data_out<=q(3); END a;
(2)串入串出移位寄存器仿真图分析
8
农业工程学院课程设计说明书
图四 串入串出移位寄存器仿真图
对其仿真图进行仿真分析:clk为时钟控制信号,data_in为输入信号,表示要存入的数据。data_out为输出信号,表示输出的数据。如图所示:当data_in串行输入数据时,遇到一个时钟信号clk,输入数据向右移位,并串行输出数据.
4、串入并出(SIPO)移位寄存器的设计 (1)串入串出移位寄存器工作原理
图五 串入串出移位寄存器原理图
串入并出(SIPO)移位寄存器由VHDL程序实现.下面是其VHDL代码: 程序名:sipo。vhd LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164。ALL; USE IEEE。STD_LOGIC_ARITH。ALL; USE IEEE.STD_LOGIC_UNSIGNED。ALL;
9
农业工程学院课程设计说明书
ENTITY sipo IS
PORT(d_in : IN STD_LOGIC; clk : IN STD_LOGIC;
d_out : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END sipo;
ARCHITECTURE a OF sipo IS
SIGNAL q : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
PROCESS(clk) BEGIN
IF clk ’EVENT AND CLK = ’1’ THEN q(0)〈=d_in; FOR i IN 1 TO 3 LOOP q(i)〈=q(i-1); END LOOP; END IF; END PROCESS; d_out<=q; END a;
(2)串入并出移位寄存器仿真图分析
1 0
农业工程学院课程设计说明书
图六 串入并出移位寄存器仿真图
对其仿真图进行仿真分析:clk为时钟控制信号,d_in为串行输入信号,d_out为四位并行输出信号,串行输入信号四位为一组,该信号一位一位的按顺序存入寄存器。如图所示:当串行输入四位数据时,输出一次性并行输出。
1 1
农业工程学院课程设计说明书
第三章 设计结论
经过了两周的学习和工作,我终于完成了移位寄存器的设计和实现及相关论文。在这段时间里,我学到了很多知识也有很多感受,从课程设计,EDA,VHDL等相关知识很不了解的状态,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。
虽然我的论文作品不是很成熟,还有很多不足之处,但我可以自豪的说,这里面的每一段代码,都有我的劳动.当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰.我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
这次做论文的经历也会使我受益匪浅,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。这次课程设计培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情.在设计过程中,和同学们相互探讨,相互学习.学会了合作,学会了运筹帷幄,学会了宽容,学会了理解.课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下\",通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。通过这次课程设计,我在多方面都有所提高。希望这次的经历能让我在以后学习中激励我继续进步。在这次设计过程中,体现出自己单独设计的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
1 2
农业工程学院课程设计说明书
参考文献
1 黄正瑾。在系统编程技术及其应用.南京:东南大学出版社,1997. 2 彭介华.电子技术课程设计指导。北京:高等教育出版社,1997. 3 李国丽,朱维勇.电子技术实验指导书.合肥:中国科技大学出版社,2000。
4 潘松,黄继业.EDA技术实用教程。北京:科学出版社,2002。 5 张昌凡,龙永红,彭涛.可编程逻辑器件及VHDL设计技术。广州:华南工学院出版社,2001.
6 卢杰,赖毅。VHDL与数字电路设计.北京:科学出版社,2001.
1 3
因篇幅问题不能全部显示,请点此查看更多更全内容