EDA课程设计——移位寄存器的设计与实现
移位寄存器的设计方法
![移位寄存器的设计方法](https://img.taocdn.com/s3/m/4c9a4ccbbdeb19e8b8f67c1cfad6195f312be8cb.png)
移位寄存器的设计方法下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!移位寄存器是一种重要的数字电路组件,用于实现数据的移位操作。
8位移位寄存器的电路设计与版图实现要点
![8位移位寄存器的电路设计与版图实现要点](https://img.taocdn.com/s3/m/3e84005b2a160b4e767f5acfa1c7aa00b52a9da3.png)
8位移位寄存器的电路设计与版图实现要点8位移位寄存器的电路设计与版图实现摘要电⼦设计⾃动化,缩写为EDA,主要是以计算机为主要⼯具,⽽Tanner EDA则是⼀种在计算机windows平台上完成集成电路设计的⼀种软件,基本包括S-Edit,T-Spice,W-Edit,L-Edit与LVS等⼦软件,其S-Edit以及L-Edit为常⽤软件,前者主要实现电路设计,后者主要针对的是已知电路的版图绘制,⽽T-Spice主要可实现电路图及版图的仿真,可以⽤Tanner EDA实现电路的设计布局以及版图实现等⼀系列完整过程。
本⽂⽤Tanner EDA⼯具主要设计的是8位移位寄存器,移位寄存器主要是⽤来实现数据的并⾏和串⾏之间的转换以及对数据进⾏运算或专业处理的⼯具,主要结构构成是触发器,触发器是具有储存功能的,可以⽤来储存多进制代码,⼀般N 位寄存器就是由N个触发器构成,移位寄存器⼯作原理主要是数据在其脉冲的作⽤下实现左移或者右移的效果,输⼊输出的⽅式表现为串⾏及并⾏⾃由组合,本设计就是在Tanner EDA的软件平台上进⾏对8位移位寄存器的电路设计仿真,再根据电路图在专门的L-Edit 平台上完成此电路的版图实现,直⾄完成的结果和预期结果保持⼀致。
关键词:Tanner EDA;L-Edit;移位寄存器,S-Edit8 bits shift register circuit design and layoutAbstractElectronic design automation,referred to as EDA,it is based on computers as the main tool,and Tanner EDA is a kind of software that complete the integrated circuit design on Windows platforms.Its Sub-Softwares include S-Edit,T-Spice,W-Edit,L-Edit and LVS and so on.S-Edit and L-Edit are commonly used software,S-Edit is primarily designed to achieve circuit,the latter is aimed primarily known circuit layout drawing,T-Spice can achieve schematic and layout simulation.We can achieve layout of the circuit design and a series of complete process layout used Tanner EDA tools.In this paper, Tanner EDA tools are mainly designed an 8-bit shift register.The shift register is mainly used for data conversion between parallel and serial, and the data processing tool operation or professional,its main structure is the trigger composition,flip-flop is a storage function,it can be used to store more hexadecimal code,In general N-bits register is composed of N trigger.Working principle of the shift register data under the action of the pulse, mainly the effect of the shift to the left or right,input and output of the way of serial and parallel free combination.This design is in Tanner on the EDA software platform to 8 bits shift register circuit design and simulation,then according to the circuit diagram on special L - Edit platform to complete the circuit layout implementation,until the finish is consistent with the results and expected results.Keywords:Tanner EDA;L-Edit;Shift register,S-Edit⽬录1 前⾔ (1)1.1 课题的背景和⽬的 (1)1.2课题的设计内容 (1)2 设计软件简介 (2)2.1EDA技术的介绍 (2)2.2T ANNER EDA T OOLS的简述 (2)2.3T ANNER软件的组成及发展 (3)2.3.1 Tanner的设计流程 (4)2.3.2 Tanner软件的发展 (5)2.3.3 L-Edit软件的介绍 (6)2.48位移位寄存器的⼯作原理和设计要求 (9)2.4.1 ⼯作原理 (9)2.4.2 电路结构与设计 (11)3 8位移位寄存器的电路设计与版图实现过程 (13)3.1各个模块的设计与仿真 (13)3.1.1 带复位端D触发器的设计与版图实现 (13)3.1.2 与或⾮门的设计与版图实现 (16)3.28位移位寄存器的电路设计与版图实现 (18)3.2.1 8位移位寄存器的电路结构 (18)3.2.2 8位移位寄存器的版图实现 (19)3.2.3 LVS对⽐ (21)4 结束语 (21)参考⽂献 (22)巢湖学院2013届本科毕业论⽂(设计)1 前⾔1.1 课题的背景和⽬的随着科技的进步,近⼏个世纪寄存器技术不断成熟,在数字电路中,寄存器已经是⼀个经常被提出的概念,它主要指的是⽤来存放⼆进制数据或者代码的电路。
EDA课程设计报告---串入并出移位寄存器
![EDA课程设计报告---串入并出移位寄存器](https://img.taocdn.com/s3/m/73f7a439482fb4daa58d4bc2.png)
EDA课程设计报告设计课题:1、串入并出移位寄存器2、译码器3、数字钟专业班级:电子信息工程08-1班串入并出移位寄存器一、设计任务与要求1.设计一个4位的串入并出移位寄存器;2.要求能分别输入两组4位数据,同时输出显示。
二、方案设计与论证移位寄存器除了具有存储代码的功能以外,还具有移位功能。
所谓移位功能,是指寄存器里存储的代码能在移位脉冲的作用下依次左移或右移。
因此,移位寄存器不但可以用来寄存代码,还可用来实现数据的串并转换、数字的运算以及数据处理等。
所谓的串入/并出移位寄存器,即输入的数据是一个接着一个有序地进入,输出时则一起送出。
两组数据伴随着时钟信号依次输入,输出时消除延时。
三、单元电路设计与参数计算程序代码:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sipo isport(d_in:in std_logic;clk:in std_logic;d_out:out std_logic_vector(3 downto 0));end sipo;architecture a of sipo issignal q:std_logic_vector(3 downto 0);beginp1:process(clk)beginif clk'event and clk='1'thenq(0)<=d_in;for i in 1 to 3 loopq(i)<=q(i-1);end loop;end if;end process p1;d_out<=q;end a;四、总原理图及元器件清单1.总原理图1.元件清单(或程序清单)五、安装与调试输入的数据为“1010”、“0111”两组4 位数据。
因输入的数据是每次一位依序进入,故输入、输出信号之间有 4 个CLK 时间的延迟。
EDA实验报告触发器及应用及移位寄存器
![EDA实验报告触发器及应用及移位寄存器](https://img.taocdn.com/s3/m/7501afe309a1284ac850ad02de80d4d8d15a01ab.png)
EDA实验报告触发器及应用及移位寄存器EDA实验报告实验目的:1.触发器的工作原理。
2.基本时序电路的VHDL代码编写。
3.按键消抖电路应用。
4.定制LPM原件。
5.VHDL语言中元件例化的使用。
6.移位寄存器的工作原理及应用。
实验要求:1.运用LPM原件定制DFF触发器,并调用LPM 定制的DFF触发器,用VHDL语言的元件例化实现消抖电路并了解其工作原理。
2. 移位寄存器是用来寄存二进制数字信息且能进行信息移位的时序逻辑电路。
根据移位寄存器存取信息的方式不同可分为串入串出、串入并出、并入串出、并入并出4种形式,并通过数码管显示出来。
实验原理:1.消抖电路由于一般的脉冲按键与电平按键采用机械开关结构,其核心部件为弹性金属簧片。
按键信号在开关拨片与触点接触后经多次弹跳才会稳定。
本实验采用消抖电路消除抖动以获得一个稳定的电平信号。
2.移位寄存器移位寄存器具有左移、右移、并行输入数据、保持及异步清零5种功能。
其中A、B、C、DQQQQCABD为并行输入端,、、、为并行输出端;SRSI为右移串行输入端,SLSI 为左移串行输入端;S1、S0为模式控制端;CLRN为异步清零端;CLK为时钟脉冲输入端。
实验具体步骤:1.消抖电路(1).用lpm定制DFF<1>.设置lpm_ff选择Installed Plug-Ins?Storage?lpm_ff项;<2>.设置输入data为1位,clock为时钟信号,类型为D型;<3>.添加异步清零和异步置1;其VHDL语言为:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY mydff ISPORT(clock : IN STD_LOGIC ;data : IN STD_LOGIC ;q : OUT STD_LOGIC);END mydff;ARCHITECTURE SYN OF mydff ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (0 DOWNTO 0);SIGNAL sub_wire1 : STD_LOGIC ;SIGNAL sub_wire2 : STD_LOGIC ;SIGNAL sub_wire3 : STD_LOGIC_VECTOR (0 DOWNTO 0); COMPONENT lpm_ffGENERIC (lpm_fftype : STRING;lpm_type : STRING;lpm_width : NATURAL);PORT (clock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (0 DOWNTO 0);data : IN STD_LOGIC_VECTOR (0 DOWNTO 0));END COMPONENT;BEGINsub_wire1 <= sub_wire0(0);q <= sub_wire1;sub_wire2 <= data;sub_wire3(0) <= sub_wire2;lpm_ff_component : lpm_ffGENERIC MAP (lpm_fftype => "DFF",lpm_type => "LPM_FF",lpm_width => 1)PORT MAP (clock => clock,data => sub_wire3,q => sub_wire0);END SYN;(2).VHDL结构式描述顶层--Top level entity xiaodou library ieee; use ieee.std_logic_1164.all;entity xiaodou isport( d_in,clk:in std_logic;clk_out:out std_logic); end xiaodou; architecture xiaodou_arch of xiaodou is component mydff is --元件例化PORT(clock : IN STD_LOGIC ;data : IN STD_LOGIC ;q : OUT STD_LOGIC);END component;signal x,y:std_logic;begindff1:mydff port map(clock=>clk,data=>d_in,q=>x);dff2:mydff port map(clk,x,y); clk_out<=x and (not y); endxiaodou_arch;(3).功能仿真波形:2.移位寄存器(1).74194功能验证电路(2).74194功能仿真结果仿真分析:clrn=1,clk上升时,s为11,移位寄存器并行置数,此时abcd=1010,q_abcd=1010; clrn=0,移位寄存器进行清零,此时有q_abcd=0000;clrn=1,clk上升时,s为01,sl_sr为01,移位寄存器串行右移补1,输出q_abcd=1000; clrn=1,clk上升时,s为01,sl_sr为10,移位寄存器串行右移补0,输出q_abcd=0100; clrn=1,clk上升时,s为10,sl_sr为10,移位寄存器串行左移补1,输出q_abcd=1001; clrn=1,clk上升时,s为10,sl_sr为01,移位寄存器串行左移补0,输出q_abcd=0010。
移位寄存器的设计及实现
![移位寄存器的设计及实现](https://img.taocdn.com/s3/m/d5470c9bcf2f0066f5335a8102d276a2002960d9.png)
移位寄存器的设计及实现移位寄存器(Shift Register)是一种常用的数字逻辑电路器件,它能够将数据按照输入和输出的时序进行移位操作。
通过移位寄存器,我们可以实现数据的串行传输、并行-串行或者串行-并行转换、数据延迟等功能。
本文将对移位寄存器的设计与实现进行介绍。
一、移位寄存器的设计1.串行输入、串行输出的移位寄存器这种移位寄存器称为串行移位寄存器,它包括n个触发器,每个触发器提供一个数据位的存储空间。
数据通过一个输入端串行输入,然后通过触发器依次移位,最后从输出端串行输出。
2.并行输入、并行输出的移位寄存器这种移位寄存器称为并行移位寄存器,它包括n个触发器,每个触发器提供一个数据位的存储空间。
数据通过n个输入端并行输入到各个触发器,然后通过控制信号进行同步移位。
最后从n个输出端并行输出。
3.并行输入、串行输出的移位寄存器这种移位寄存器称为并行-串行移位寄存器,它先从n个输入端并行输入数据,然后通过控制信号进行同步移位,并将移位结果通过一个输出端串行输出。
4.串行输入、并行输出的移位寄存器这种移位寄存器称为串行-并行移位寄存器,它先从一个输入端串行输入数据,然后通过触发器进行移位,最后将移位结果从n个输出端并行输出。
1.触发器选择由于是8位移位寄存器,需要选择8个触发器。
常用的触发器有D触发器、JK触发器等,可以根据实际需求选择合适的触发器。
2.输入输出端口设计设计一个输入端口用于串行输入数据。
由于是串行输入,需要一个时钟信号和一个使能信号进行同步移位操作。
同时,设计一个输出端口用于串行输出数据。
3.控制信号电路设计根据串行输入、串行输出的要求,需要设计一个时钟信号和一个使能信号的电路。
使能信号在移位过程中保持逻辑高电平,只有当8位数据全部移位完成时才将使能信号置为逻辑低电平。
二、移位寄存器的实现1.设计一个8位移位寄存器电路,并连接8个D触发器。
2.将串行输入信号与D触发器的数据端相连,时钟信号与D触发器的时钟端相连,使能信号与D触发器的使能端相连。
VHDL移位寄存器的设计与实现.EDA课程设计
![VHDL移位寄存器的设计与实现.EDA课程设计](https://img.taocdn.com/s3/m/716a8830ee06eff9aef807b6.png)
EDA 课程设计报告书课题名称基于VHDL 移位寄存器的设计与实现 姓 名伍 赞 学 号 0812201-42 院 系物理与电信工程系 专 业电子信息工程 指导教师周来秀 讲师2011年 6月10日※※※※※※※※※※※ ※※ ※※ ※※※※※※※※※2008级学生EDA 课程设计基于VHDL移位寄存器的设计与实现伍赞(湖南城市学院物理与电信工程系电子信息工程专业,益阳,413002)1设计目的在计算机中常要求寄存器有移位功能。
如在进行乘法时,要求将部分积右移在将并行传送的数转换成串行数时也需要移位。
因此,移位寄存器的设计是必要的。
本次设计的目的就是利用计算机组成原理中移位寄存器的相关知识,通过课程设计更加深入的了解移位寄存器的功能。
了解EDA技术,并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合计算机组成原理中的相关知识理论联系实际,掌握所学的课程知识。
通过对移位寄存器的设计,巩固和综合运用所学知识,提高对计算机组成原理的理解。
2设计的主要内容和要求本课程设计是关于移位寄存器的设计,它不仅具有存储代码的功能,而且还有左移、右移、并行输入及保持等功能。
本设计根据功能的不同,设计了三种移位寄存器。
( 1 ) 双向移位寄存器。
( 2 ) 串入串出(SISO)移位寄存器。
( 3 ) 串入并出(SIPO)移位寄存器。
3 移位寄存器设计过程3.2.1移位寄存器的工作原理用VHDL语言描述任意分频数的分频器,并实现占空比任意设置.每当系统时钟上升沿到来时,计数器就加计数一位(可任意设置为N位),当计数值到达预定值时就对分频时钟翻转.这样就会得到一个连续的时钟脉冲.当移位信号到来时,移位寄存器就对存储的二进制进行移位操作.移位寄存方式可自行设置(可左移,右移,一位移,多位移位寄存)。
3.2.2双向移位寄存器的设计电路符号:双向移位寄存器工作原理框图。
CLK表示计数器被清除为“0”;一般当为高电平时为触发。
EDA课程设计——移位寄存器的设计与实现
![EDA课程设计——移位寄存器的设计与实现](https://img.taocdn.com/s3/m/deeaf45e4a7302768e993975.png)
请画出下段程序的真值表,并说明该电路的功能。
河南科技大学课程设计说明书课程名称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]MarkZwolinski.DigitalSystemDesignwithVHDL.北京:电子工业出版社,2008[5]AlanB.MarcovitzIntroductiontologicDesign.北京:电子工业出版社,2003指导教师签字:年月日移位寄存器的设计与实现摘要系统使用EDA技术设计了具有移位功能的寄存器,采用硬件描述语言VHDL进行设计,然后进行编程,时序仿真等。
EDA不同类型的移位寄存器设计报告
![EDA不同类型的移位寄存器设计报告](https://img.taocdn.com/s3/m/c7817bea700abb68a982fb9f.png)
E D A实训实验报告课程名称:不同类型的移位寄存器设计专业:13自动化指导教师:学号:姓名:提交日期:2016-7-8实验一含同步预置功能的移位寄存器设计一、实验目的设计带有同步并预置功能的8位右移移位寄存器。
二、实验内容:CLK 是移位时钟信号,DIN是8位并行预置数据端口,LOAD是并行数据预置使能信号,QB是串行输出端口三、实验原理:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS -- 8位右移寄存器PORT ( CLK,LOAD : IN STD_LOGIC;DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB : OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT ISBEGINPROCESS (CLK, LOAD)VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK = '1' THEN --检测时钟上升沿IF LOAD = '1' THEN REG8 := DIN;--由(LOAD='1')装载新数据ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1);END IF;END IF;QB <= REG8(0); -- 输出最低位END PROCESS;END behav;引脚分配:四、实验过程:引脚设定五、实验结果:输出波形图实验二 8位串入并出移位寄存器电路的设计一、实验内容用VHDL语言实现8位串入并出移位寄存器电路的设计。
二、实验原理LIBRARY IEEE;USE IEEE.Std_logic_1164.all;ENTITY text ISPORT(a, b, clr, clock: IN BIT;q : BUFFER BIT_VECTOR(0 TO 7));END text;ARCHITECTURE one OF text ISBEGINPROCESS(a,b,clr,clock)BEGINIF clr= '0' THENq <= "00000000";ELSEIF clock'EVENT AND clock = '1'THENFOR i IN q'RANGE LOOPIF i = 0 THEN q(i) <= (a AND b);ELSEQ(i) <= q(i-1);END IF;END LOOP;END IF;END IF;END PROCESS;END one;保存本文本。
实验七8位移位寄存器的设计
![实验七8位移位寄存器的设计](https://img.taocdn.com/s3/m/95a2b94cf68a6529647d27284b73f242336c31f0.png)
实验七8位移位寄存器的设计引言:移位寄存器是一种常见的数字电路,可以在电子系统中进行数据的移位操作。
在本实验中,我们将设计一个8位移位寄存器,通过串行输入和串行输出实现数据的向左和向右移位。
实验中我们将使用逻辑门和触发器来构建移位寄存器。
设计目标:设计一个8位的移位寄存器,能够通过串行输入和串行输出来实现数据的向左和向右移位,并能够在任意时刻改变移位的方向。
设计步骤:步骤一:根据设计目标,首先需要确定使用何种类型的触发器来实现移位寄存器。
由于我们需要实现向左和向右移位,可以选择D触发器来实现。
步骤二:根据所选择的触发器类型,我们需要对每一个位进行设计。
由于需要实现8位的移位寄存器,我们需要使用8个D触发器来实现。
步骤三:根据移位寄存器的逻辑功能,我们需要使用两个串行输入引脚和两个串行输出引脚。
其中一个串行输入引脚用于向左移位,另一个用于向右移位;一个串行输出引脚用于向左移位输出,另一个用于向右移位输出。
步骤四:将每个D触发器的输出与下一个D触发器的输入相连,以实现数据的串行输入。
步骤五:将第一个D触发器的输入与移位方向引脚相连,以确定移位方向。
步骤六:将最后一个D触发器的输出与移位输出引脚相连,以实现数据的串行输出。
步骤七:对每个D触发器的时钟输入引脚进行控制,以实现移位操作的时序。
结果分析:通过上述步骤所设计的8位移位寄存器,我们可以实现数据的向左和向右移位操作,并可以通过串行输入和串行输出进行控制和观测。
移位寄存器在很多应用中都有广泛的应用,例如串行通信、数据压缩、图像处理等。
总结:通过本次实验,我们了解了移位寄存器的基本原理和设计方法。
通过串行输入和串行输出实现数据的移位,可以有效地利用数字电路来实现数据处理任务。
移位寄存器作为一种重要的数字电路,为我们提供了一种灵活和便捷的数据存储和处理方式。
在今后的学习和实际应用中,我们可以进一步深入了解移位寄存器的其他应用和扩展。
16位移位寄存器 eda工具实现
![16位移位寄存器 eda工具实现](https://img.taocdn.com/s3/m/83bb8508e87101f69f319508.png)
EDA工具软件实验报告Modelsim十六位移位寄存器1.实验目的:使用软件Modelsim,通过Verilog语言表达移位寄存器的功能,进一步学习信号赋值与变量赋值、顺序语句与并行语句、进程结构。
2.实验原理:Clk是移位时钟信号,load_in是16位预置数据端口,load_en是数据预置使能信号,dout是移位输出,dir是移位模式控制信号。
此电路工作原理是:当clk上升沿到来时进程启动,若此时预置使能load_en为高电平,则将输入端口的16位二进制数作为移位的初始值;若load为低电平,则执行:当dir为低电平时左移,为高电平时右移.3.实验步骤:1.在E盘新建文件夹命名为“dyj”再文件夹里新建子4个子文件夹分别命名为“modelsim”“synplify”“quartus”“src”。
打开Modelsim软件,新建工程,File—new—project,在Project Name 中写入工程的名字“shift16”,完成后会出现,选择Add Existing Filemodule shift16(clk,dout,left_in,right_in,dir,load_en,load_in);input clk;output [15:0] dout;reg [15:0] dout;input left_in;input right_in;input dir;input load_en;input [15:0] load_in;always @(posedge clk) beginif (load_en == 1)dout <= load_in;else beginif (dir == 1) begindout <= dout >> 1;dout[15] <= left_in;endelse begindout <= dout << 1;dout[0] <= right_in;endendendendmodule添加完成后,接着添加(testbench)程序:timescale 1ns/1nsmodule shift16_tb;reg clk;wire [15:0] dout;reg left_in;reg right_in;reg dir;reg load_en;reg [15:0] load_in;initial beginclk = 0;left_in = 0;right_in = 0;dir = 0;load_en = 0;load_in = 16'h1234;#5 load_en = 1;#5 load_en = 0;#5 left_in = 1;#5 dir = 1;#5 right_in = 1;endalways #1 beginclk = ~clk;endshift16 sh(clk, dout, left_in,right_in,dir,load_en,load_in);endmodule2.编译(Compile)。
电路中的移位寄存器及其应用
![电路中的移位寄存器及其应用](https://img.taocdn.com/s3/m/e2cd7bffc67da26925c52cc58bd63186bceb921b.png)
电路中的移位寄存器及其应用电路中的移位寄存器是一种重要的数字逻辑元件,它可以实现数据的移动和存储功能。
通过移动数据位,可以在电路中实现各种有趣的应用,从而扩展数字逻辑的功能。
在本文中,我们将探讨移位寄存器的原理、分类以及一些实际应用。
移位寄存器是一种特殊的寄存器,它可以用来存储和移动一串二进制数据。
它由一组触发器构成,每个触发器代表一个二进制位。
这些触发器可以分为串行和并行两种类型。
串行移位寄存器是将数据位顺序连接在一起形成一个串行的数据路径。
当时钟信号到来时,数据位会按照顺序依次移动。
最常见的是移位寄存器的左移和右移操作,左移时数据位向左移动一位,右移时数据位向右移动一位。
当移出的数据位被丢弃时,新的数据位会从移入端进入寄存器。
串行移位寄存器的优点是结构简单,占用空间小,但是移位速度较慢。
并行移位寄存器是将数据位同时移动的一种寄存器。
它的结构比串行移位寄存器复杂,需要更多的触发器来实现。
并行移位寄存器可以同时移动多个数据位,因此移位速度较快。
在并行移位寄存器中,移位操作是通过输入信号来控制的。
通过控制输入信号的状态,可以实现不同的移位模式,如循环移位、位反转等。
移位寄存器在数字逻辑中有着广泛的应用。
其中,最常见的应用是数据的存储与传输。
通过移位寄存器,可以将数据从一个地方传输到另一个地方,实现数据的存储和传递。
移位寄存器还可以用于实现数据的压缩和解压缩。
例如,在图像处理中,可以使用移位寄存器将图像数据进行压缩,从而减小图像文件的大小,并且可以在需要时恢复原始图像。
此外,移位寄存器还可以用于实现密码算法。
通过将数据进行移位和混合,可以实现数据的加密和解密,保证数据的安全性。
除了上述应用外,移位寄存器还被广泛用于时序控制电路中。
时序控制电路是一种通过控制信号来实现特定操作顺序的电路。
移位寄存器可以用于存储各种控制信号,并根据时钟信号的到来按照特定的顺序输出这些信号。
通过移位寄存器的组合和控制信号的变化,可以实现复杂的时序控制功能,如状态机和序列识别等。
移位寄存器及其应用实验报告
![移位寄存器及其应用实验报告](https://img.taocdn.com/s3/m/4810fc3df68a6529647d27284b73f242326c3170.png)
移位寄存器及其应用实验报告一、实验目的1.了解移位寄存器的基本原理和工作方式;2.掌握移位寄存器的应用场景和使用方法;3.通过实验验证移位寄存器的功能和性能。
二、实验原理移位寄存器是一种特殊的寄存器,它可以将数据按照一定的规律进行移位操作。
移位操作可以分为左移和右移两种方式,左移是将数据向左移动一定的位数,右移则是将数据向右移动一定的位数。
移位寄存器可以用于数据的移位、数据的存储和数据的转换等多种应用场景。
移位寄存器的基本原理是利用触发器和门电路实现数据的移位操作。
触发器是一种存储器件,可以存储一个二进制位的数据。
门电路则是一种逻辑电路,可以实现数据的逻辑运算。
移位寄存器通常由多个触发器和门电路组成,可以实现多位数据的移位操作。
移位寄存器的工作方式是通过时钟信号来控制数据的移位操作。
当时钟信号为高电平时,移位寄存器开始工作,数据按照一定的规律进行移位操作。
当时钟信号为低电平时,移位寄存器停止工作,数据保持不变。
移位寄存器还可以通过控制输入端和输出端的电平来实现不同的功能。
三、实验内容本次实验主要是通过实验板上的移位寄存器模块,实现数据的移位和存储操作。
具体实验内容如下:1.将实验板上的移位寄存器模块连接到开发板上;2.使用开发板上的按键控制移位寄存器的工作方式,包括左移、右移、存储和清零等操作;3.使用示波器观察移位寄存器的时钟信号和数据输出信号,验证移位寄存器的工作状态和性能。
四、实验步骤1.将实验板上的移位寄存器模块连接到开发板上,按照连接图进行连接;2.使用开发板上的按键控制移位寄存器的工作方式,具体操作如下:(1)按下左移按键,移位寄存器开始向左移动数据;(2)按下右移按键,移位寄存器开始向右移动数据;(3)按下存储按键,移位寄存器将当前数据存储到寄存器中;(4)按下清零按键,移位寄存器将当前数据清零。
3.使用示波器观察移位寄存器的时钟信号和数据输出信号,具体操作如下:(1)将示波器的探头连接到移位寄存器的时钟输入端,观察时钟信号的波形;(2)将示波器的探头连接到移位寄存器的数据输出端,观察数据输出信号的波形。
四位移位寄存器的设计和仿真
![四位移位寄存器的设计和仿真](https://img.taocdn.com/s3/m/31e9b42a7f21af45b307e87101f69e314332faa0.png)
四位移位寄存器的设计和仿真首先,我们来了解一下四位移位寄存器的基本原理。
四位移位寄存器由四个D触发器组成,每个触发器都可以存储一个二进制位。
它通过时钟信号来控制数据的传输和存储,通过输入和输出端口与其他电路连接,实现数据的传输和操作。
下面是四位移位寄存器的设计步骤:1.确定寄存器的输入和输出端口。
2.设计时钟信号。
时钟信号是控制数据传输和存储的关键信号。
可以使用时钟发生器或计数器来生成时钟信号。
3.连接四个D触发器。
将四个D触发器按照级联的方式连接起来。
每个D触发器的时钟端接收时钟信号,输入端接收输入数据,输出端输出存储的数据。
4.在适当的时钟信号下测试设计。
设计完成后,可以使用仿真工具进行测试。
通过输入不同的数据,观察输出是否符合期望结果。
下面是四位移位寄存器的仿真过程:1.选择合适的仿真工具。
常用的数字电路仿真工具有ModelSim、Xilinx ISE等。
选择一个熟悉并适合自己的仿真工具。
2.编写并加载仿真程序。
使用硬件描述语言(如VHDL或Verilog)编写四位移位寄存器的仿真程序。
将程序加载到仿真工具中。
3.定义仿真测试的输入和时钟信号。
为了测试四位移位寄存器的功能,在仿真程序中定义输入数据、时钟信号和期望输出结果。
4.运行仿真。
运行仿真程序,观察仿真结果是否符合期望。
如果结果不正确,可以检查设计和仿真程序,找出问题所在。
5.优化设计并重新仿真。
根据仿真结果,可以对设计进行优化。
根据需要,可以进行逻辑优化、时序优化等。
然后重新加载优化后的设计,并重新进行仿真。
总结:四位移位寄存器的设计和仿真是数字电路设计中的重要内容。
通过了解其基本原理,我们可以按照设计步骤来设计和仿真。
在仿真过程中,需要注意选择合适的仿真工具,并仔细编写和加载仿真程序。
通过不断优化设计和重新仿真,最终可以得到符合要求的四位移位寄存器。
移位寄存器设计范文
![移位寄存器设计范文](https://img.taocdn.com/s3/m/d733aaaa846a561252d380eb6294dd88d0d23d06.png)
移位寄存器设计范文首先,我们需要确定移位寄存器的移位方向。
移位方向可以是向左或向右。
考虑到数据在计算机系统中的存储方式,大多数情况下,移位方向选择向左移位。
向左移位意味着最左边的比特位将丢失,并在最右边填充一个新的比特位。
其次,我们需要确定移位寄存器的移位位数。
移位位数指的是在一次移位操作中,需要将存储的数据向左或向右移动的比特位数。
移位位数可以是固定的,也可以由外部输入决定。
在移位位数固定的情况下,我们需要确定移位寄存器中的存储单元数目,以满足预定的移位位数需求。
接下来,我们需要设计移位寄存器的输入/输出接口。
输入接口用于将数据加载到移位寄存器中,输出接口用于从移位寄存器中获取移位后的数据。
对于输入接口,可以采用并行输入或串行输入方式。
并行输入方式需要多个输入引脚,每个引脚对应一个比特位。
串行输入方式只需一个输入引脚,输入数据从一个比特位依次输入。
对于输出接口,同样可以采用并行输出或串行输出方式。
最后,我们需要考虑移位寄存器的时序控制。
时序控制指的是对移位操作的时钟信号进行控制。
通常情况下,移位寄存器的移位操作都是在时钟的上升沿或下降沿触发的。
可以通过时钟信号对存储单元进行同步操作,确保移位寄存器能够按照设计要求正确地进行移位操作。
综上所述,设计一个移位寄存器需要考虑移位方向、移位位数、输入/输出接口和时序控制等因素。
通过合理设计这些因素,可以实现一个高效、可靠的移位寄存器,满足各种应用场景中的需求。
电子设计自动化EDA技术实验五报告模板-8位循环移位寄存器
![电子设计自动化EDA技术实验五报告模板-8位循环移位寄存器](https://img.taocdn.com/s3/m/ef66ccc508a1284ac85043b6.png)
南京工程学院自动化学院实验报告课程名称电子设计自动化EDA技术实验项目名称8位循环移位寄存器实验学生班级实验学生姓名同组学生姓名实验时间实验地点实验成绩评定指导教师签字年月日8位循环移位寄存器的管脚如图:其中D 表示输入的初始值,Sta 为开始移位信号,DOUT 表示当前数值;LD 表示预设计数值,LD 为“1”,初始计数值打入器件;LR 表示移位方向,LR 为‘0’,循环右移位,LR 为‘1’,循环左移位;CP 为移位脉冲。
四、实验方案设计、实验方法 1. 实验方案8位循环移位寄存器的描述有多种方法,设计过程中可以采用图形编程,首先设计D 触发器,而后通过D 触发器的互联实现8位循环移位寄存器;也可通过VHDL 实现,采用计数脉冲CP 作为敏感量,CP 的每个上升沿,输出量Q 的每一位赋给左边一位或右边一位。
同时循环左移时,最高位赋给最低位,循环右移时,最低位赋给最高位,语句可采用case …when 、with …select 、if …then 以及加减运算等多种结构实现,详细方案与方法略。
本实验中根据真值表,通过VHDL 语言的if-then 结构实现8位循环移位寄存器。
2. 实验方法D0 D1 D2 D3 D4 D5 D6 D7 CP LD LRDOUT0 DOUT1 DOUT2 DOUT3 DOUT4 DOUT5 DOUT6 DOUT7ARCHITECTURE sample OF cyreg ISBEGINP1:PROCESS(CP,LD)BEGINif LD='0' thenDOUT<=D;elsif CP'EVENT AND CP='0' thenif LR='1' thenDOUT<=DOUT(6 DOWNTO 0)&DOUT(7);elsif LR='0' thenDOUT<=DOUT(0)&DOUT(7 DOWNTO 1);end if;end if;END PROCESS P1;END sample;2. 器件及管脚逻分配图管脚分配情况如图,所选器件为EPM7032AELCC44-43. 仿真波形8位循环移位寄存器的仿真波形如下图,从波形可以得出,输入输出满足前文真值表,设计电路功能达到设计要求4. 时序分析图上述时间分析可以得到,输出信号存在3ns的时间延迟,它主要与器件速。
EDA实验4消抖电路的顶层设计和移位寄存器的功能仿真
![EDA实验4消抖电路的顶层设计和移位寄存器的功能仿真](https://img.taocdn.com/s3/m/ab0ac2ece518964bce847c8f.png)
EDA实验四消抖电路的顶层设计和移位寄存器的功能仿真一、实验目的:了解消抖电路的原理与应用并用VHDL顶层代码实现;了解触发器的基本原理,并且掌握LPM元件定制;掌握基本时序电路VHDL编写;了解移位寄存器的工作原理与应用;熟悉波形仿真基本方法;熟悉相关LPM元件定制;掌握VHDL元件例化方法;了解混合模块的工程设计方法。
二、实验内容:实验内容分为两部分,一是消抖电路的设计与实现,其中底层用DFF:LPM_FF 定制,顶层用VHDL结构式描述;另外一个内容是74194(移位寄存器)功能仿真,了解具体的仿真方法与步骤。
三、实验方法:实验方法:采用基于FPGA进行数字逻辑电路设计的方法。
采用的软件工具是QuartusII软件仿真平台,采用的硬件平台是Altera EPF10K20TI144_4的FPGA试验箱。
实验步骤:1、编写源代码(或者绘制电路逻辑图)。
打开QuartusII软件平台,点击File 中的New建立一个文件。
编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件。
2、按照实验箱上FPGA的芯片名更改编程芯片的设置。
操作是点击Assign/Device,选取芯片的类型。
3、编译与调试。
确定源代码文件为当前工程文件,点击Complier进行文件编译。
编译结果有错误或警告,则将要调试修改直至文件编译成功。
4、波形仿真及验证。
在编译成功后,点击Waveform开始设计波形。
点击“insert the node”,按照程序所述引脚,任意设置各输入节点的输入波形…点击保存按钮保存。
5、FPGA芯片编程及验证,应记录实验结果进行分析。
四、实验过程:实验(一)消抖电路的设计与实现a)利用LPM元件定制D触发器,具体步骤如下:(1)按照上次实验定制LPM的步骤和方法进行定制,lpm_ff元件所示的宏功能选择对话框的左侧列表中选择Installed Plug_Ins->Storage->lpm_ff项。
寄存器,移位寄存器的电路原理以及verilog代码实现
![寄存器,移位寄存器的电路原理以及verilog代码实现](https://img.taocdn.com/s3/m/792eda253069a45177232f60ddccda38376be1d1.png)
寄存器,移位寄存器的电路原理以及verilog代码实现寄存器:⽤以存放⼆进制代码的电路,下图为由维特阻塞D触发器组成的4位数码寄存器:逻辑功能分析:1.异步端CR置0时,输出置0;2.同步并⾏置数:D0~D3为4个输⼊代码,当CP上升沿到达时,D0~D3被同时并⾏置⼊。
3.在置数端为1,CP端为0时,保持不变。
2.移位寄存器:具有存放数码和使数码逐位右移或左移的电路称为移位寄存器。
移位寄存器按照不同的分类⽅法可以分为不同的类型。
如果按照移位寄存器的移位⽅向来进⾏分类,可以分为左移移位寄存器、移位寄存器和双向移位寄存器等;如果按照⼯作⽅式来分类,可以分为串⼊/串出移位寄存器、串⼊/并出移位寄存器和并⼊/串出移位寄存器等。
以下为异步清零的4位并⼊串出移位寄存器(输⼊为并⾏数据,输出为串⾏数据)module reg_bc(clk,clr,din,dout);input clk,clr; // 输⼊时钟端,清零端(⾼电平有效)input[3:0] din; // 数据输⼊端output dout; // 数据输出端reg[1:0] cnt;reg[3:0] q;reg dout;always@(posedge clk) // 时钟上升沿触发begincnt<=cnt+1; //cnt ⾃加 1if(clr) // 判断清零信号是否有效beginq<=4'b0000; //q 置置 0endelsebeginif(cnt>0) // 判断 cnt 是否⼤于 0beginq[3:1]<=q[2:0]; //q 中的值向左移 1 位endelse if(cnt==2'b00) // 判断 cnt 是否为 0beginq<=din; //把把 din 的值赋予 qenddout<=q[3]; //把把 q 的最⾼位输出endend。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南科技大学课程设计说明书课程名称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,移位寄存器目录第一章绪论 (1)一、课程设计的目的 (1)二、课程设计的内容 (1)三、EDA简介 (2)四、VHDL (2)1、VHDL的简介 (2)2、VHDL语言的特点 (3)3、VHDL的设计流程 (3)第二章总体设计 (5)一、设计规划 (5)二、各模块工作原理及设计 (5)1、移位寄存器的工作原理 (5)2、双向移位寄存器的设计 (5)3、串入串出(SISO)移位寄存器的设计 (8)4、串入并出(SIPO)移位寄存器的设计 (10)第三章设计结论 (13)参考文献 (14)第一章绪论随着社会的发展,科学技术也在不断的进步。
特别是计算机产业,可以说是日新月异,移位寄存器作为计算机的一个重要部件,从先前的只能做简单的左移或右移功能的寄存器到现在广泛应用的具有寄存代码、实现数据的串行-并行转换、数据运算和数据处理功能的移位寄存器。
移位寄存器正在向着功能强,体积小,重量轻等方向不断发展,本设计主要介绍的是一个基于超高速硬件描述语言VHDL对移位寄存器进行编程实现。
近年来,集成电路和计算机应用得到了高速发展,现代电子设计技术已迈入一个崭新的阶段,具体表现在:(1)电子器件及其技术的发展将更多地趋向于为EDA服务;(2)硬件电路与软件设计过程已高度渗透;(3)电子设计技术将归结为更加标准、规范的EDA工具和硬件描述语言HDL的运用;(4)数字系统的芯片化实现手段已成主流。
因此利用计算机和大规模复杂可编程逻辑器件进行现代电子系统设计已成为电子工程类技术人员必不可少的基本技能之一。
一、课程设计的目的在计算机中常要求寄存器有移位功能。
如在进行乘法时,要求将部分积右移;在将并行传送的数转换成串行数时也需要移位。
因此,移位寄存器的设计是必要的。
本次设计的目的就是利用计算机组成原理中移位寄存器的相关知识,通过课程设计更加深入的了解移位寄存器的功能。
了解EDA技术,并掌握VHDL硬件描述语言的设计方法和思想,通过学习的VHDL语言结合计算机组成原理中的相关知识理论联系实际,掌握所学的课程知识。
通过对移位寄存器的设计,巩固和综合运用所学知识,提高对计算机组成原理的理解。
二、课程设计的内容本课程设计是关于移位寄存器的设计,它不仅具有存储代码的功能,而且还有左移、右移、并行输入及保持等功能。
本设计根据功能的不同,设计了三种移位寄存器。
( 1 ) 双向移位寄存器。
( 2 ) 串入串出(SISO)移位寄存器。
( 3 ) 串入并出(SIPO)移位寄存器。
三、EDA简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。
四、VHDL1、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公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。
有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。
2、VHDL语言的特点(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。
强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。
符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。
(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。
(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。
3、VHDL的设计流程(1)设计规范的定义明确设计的目的,进行设计的总体规划。
分析设计要求,以及自己要达到的设计目的和目标。
(2)采用VHDL进行设计描述这部分包括设计规划和程序的编写。
设计规划主要包括设计方式的选择及是否进行模块划分。
设计方式一般包括直接设计,自顶向下和自底向下设计。
(3)VHDL程序仿真对于某些人而言,仿真这一步似乎是可有可无的。
但是对于一个可靠的设计而言,任何设计最好都进行仿真,以保证设计的可靠性。
另外,对于作为一个独立的设计项目而言,仿真文件的提供足可以证明你设计的完整性。
(4)综合、优化和布局布线综合指的是将设计描述转化成底层电路的表示形式,其结果是一个网表或者是一组逻辑方程;优化,这个主要是为了提高程序的执行效率及减少资源的利用;布局布线,指的是将逻辑关系转化成电路连接的方式。
(5)仿真这一步主要是为了确定你的设计在经过布局布线之后,是不是还满足你的设计要求。
第二章总体设计一、设计规划本设计是基于VHDL语言设计的移位寄存器,由于移位寄存器是计算机中非常重要的部件,所以本设计采用了不同的方法来实现寄存器的移位功能,具体设计的移位寄存器有:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。
由于涉及内容比较基础,所以设计比较简单。
二、各模块工作原理及设计1、移位寄存器的工作原理用VHDL语言描述任意分频数的分频器,并实现占空比任意设置.每当系统时钟上升沿到来时,计数器就加计数一位(可任意设置为N位),当计数值到达预定值时就对分频时钟翻转。
这样就会得到一个连续的时钟脉冲。
当移位信号到来时,移位寄存器就对存储的二进制进行移位操。
移位寄存方式可自行设置(可左移、右移、一位移、多位移位寄存)。
所谓双向移位寄存器,即输入的数据既可以左移又可以右移。
所谓的串入/串出移位寄存器,即输入的数据是一个接着一个依序地进入,输出时一个接着一个依序地送出。
所谓的串入/并出移位寄存器,即输入的数据是一个接着一个依序地进入,输出时一起送出。
2、双向移位寄存器的设计(1)双向移位寄存器工作原理:图一双向移位寄存器原理图双向移位寄存器由VHDL程序实现,下面是其VHDL代码:程序名:tdirreg.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY tdirreg ISPORT (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 ISSIGNAL q: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(clk)BEGINIF clk'EVENT AND CLK= '1'THENIF dir = '0' THENq(0) <= din;FOR i IN 1 TO 7 LOOPq(i) <= q(i-1);END LOOP ;ELSEq(7) <= din;FOR i IN 7 DOWNTO 1 LOOPq(i-1) <=q(i);END LOOP ;END IF;END IF;END PROCESS ;op_l <= q(7);op_r <= q(0);END a;(2)双向移位寄存器仿真图分析:图二双向移位寄存器仿真图对其仿真图进行仿真分析:dir为一个控制信号,clk为时钟控制信号,din为输入信号,表示要存入的数据,op_r表示右移(从高位到低位)后得到的结果,op_l表示左移(从低位到高位)后得到的结果。