实验5 双向移位寄存器 (2010)
- 格式:ppt
- 大小:861.00 KB
- 文档页数:14
可编程逻辑器件技术项目设计报告课题名称:双向移位寄存器班级:13电子(2)班姓名:陈秋娥指导教师:龚兰芳一、设计题目:双向移位寄存器:在单像移位寄存器的基础上增加一个开关。
二、设计要求:当开关闭合时,向右移位;断开时,向左移位。
双向移位寄存器特性表LOAD LEFT_RIGHT CLK D Q1 X X D 异步置数Q=D 0 0 D 循环右移0 1 D 循环左移三、设计程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity aa isport(cp:in std_logic;k,right:in std_logic;q:in std_logic_vector(3 downto 0);n1:out std_logic_vector(7 downto 0);b:buffer std_logic_vector(3 downto 0);p:out std_logic_vector(3 downto 0));end aa;architecture one of aa issignal cp1:std_logic;beginn1<="11111110";p<="0000";process(cp)variable cnt1:integer range 0 to 10000; variable cnt2:integer range 0 to 2500; beginif cp'event and cp='1' thenif cnt1=10000 thencnt1:=0;if cnt2=2500 thencnt2:=0;cp1<=not cp1;elsecnt2:=cnt2+1;end if;elsecnt1:=cnt1+1;end if;end if;end process;process(k,right,cp1,q)variable dd:std_logic_vector(3 downto 0); beginif k='1' thenb<=q;elsif cp1'event and cp1='1' thenif right='1' thendd(2 downto 0):=b(3 downto 1);dd(3):=b(0);elsedd(3 downto 1):=b(2 downto 0);dd(0):=b(3);end if;b<=dd;end if;end process;end one;四、引脚分配图:五、硬件下载实现现象描述:当闭合开关时,点阵开始右移位;断开时,点阵左移位;当两个都拨动时,点阵就双向移位。
实验五移存器功能测试及应用一、实验目的1、熟悉移位寄存器(移存器)的电路结构和工作原理。
2、掌握D触发器74HC(LS)74及集成移位寄存器74HC(LS)194的逻辑功能和使用方法。
二、实验设备和器件1、数字逻辑电路实验板1块2、74HC(LS)74(双D触发器)2片3、74HC(LS)194(4位双向通用移位寄存器)2片三、实验原理移位寄存器是具有移位功能的寄存器,其中所存的代码能够在移位脉冲的作用下依次左移或右移。
既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。
移位寄存器存取信息的方式分为:串入串出、串入并出、并入串出、并入并出四种形式。
实验用器件管脚介绍:1、74HC(LS)74(双D触发器)管脚如下图所示。
2、74HC(LS)194(4位双向通用移位寄存器)管脚如下图所示。
四、实验内容与步骤1、利用两块74HC(LS)74(四个D触发器)构成一个单向的移位寄存器(基本命题)参照用两块74HC(LS)74(四个D触发器)构成一个单向移位寄存器的实验电路图连接电路,Q输出依次接LED指示灯,加电后在移位输入端加入不同信号观察LED指示灯变化。
1.1电路图1.2实验结果LED灯依次变亮,每次间隔一个CP。
2、测试74HC(LS)194的功能(基本命题)例如,Q输出依次接LED指示灯,改变S1、S0的值配合其它输入观察LED的变化。
2.1电路图2.2实验结果:置数:LED显示状态与置数端相同。
左移:LED从下往上(QD到QA)依次变亮,每次间隔一个CP右移:LED从上往下(QA到QD)依次变亮,每次间隔一个CP3、用两片74HC(LS)194做出模16的扭环计数器(扩展命题)将两片的Q输出依次都接到LED指示灯上,加电并加CP观察LED的变化。
现象一般为八盏灯先依次变暗再依次变亮如此循环。
3.1电路图3.2计数器拓展当进行M=2n 偶数计数时,可采用扭环型,D1=Q n ̅̅̅̅,将Q n 和高电平与非后反馈至第一片的输入端。
VHDL实验双向移位寄存器(完整版)实验课名称:VHDL硬件描述语言实验项目名称:双向移位寄存器专业名称:电子科学与技术班级:电科二班学号:***** 学生姓名:****教师姓名:****__2010__年_11_月_14_日组别_____________________同组同学_______________________ 实验日期_____年___月___日实验室名称______________成绩_____一、实验名称:双向移位寄存器二、实验目的与要求:实验目的:设计一个双向移位寄存器,理解移位寄存器的工作原理,掌握串入\并出端口控制的描述方法。
实验要求:通过VHDL编程,实现双向移位寄存器,要求有1个方向控制端、1个时钟脉冲输入、1个异步清零端、1个数据输入端以及8位的并行数据输出端,具体接口说明如下图所示。
clk:移位寄存器时钟脉冲输入,上升沿有效;din:串行数据输入端;clr:异步清零信号,高电平有效;dir:方向控制端,要求低电平左移,高电平右移;dout[7..0]:8位数据并行输出端;首先在QuartusII上进行功能和时序仿真,之后通过器件及其端口配置下载程序到SOPC开发平台中。
在硬件实现中,要求:1. 用实验平台的按键实现时钟控制(clk)、方向控制(dir)、清零(clr)以及数据输入(din):端口名按键名功能clk 键7 时钟控制din 键8 数据输入clr 键1 异步清零dir 键5 方向控制2. 用实验平台的LED发光阵列的LED1,LED8显示并行数据的输出。
三、实验内容:, 新建工程:1、打开Quartus,新建工程,选择好路径,工程顶层名为d_reg ;2、新建工程,如果包含已编好的文件则可以添加,如果无则可以略过 ;3、选择我们的器件信息:型号为:EP2C36F484C84、单击Next>,指定第三方工具,这里我们不指定第三方EDA工具,单击Next>后结束工程建立。
实验五移位寄存器及其应用一、实验目的1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。
2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。
二、实验原理1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。
既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。
根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。
本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图10-1所示。
图10-1 CC40194的逻辑符号及引脚功能其中 D0、D1、D2、D3为并行输入端;Q、Q1、Q2、Q3为并行输出端;SR为右移串行输入端,SL 为左移串行输入端;S1、S为操作模式控制端;R C为直接无条件清零端;CP为时钟脉冲输入端。
CC40194有5种不同操作模式:即并行送数寄存,右移(方向由Q0→Q3),左移(方向由Q3→Q),保持及清零。
S 1、S和R C端的控制作用如表10-1。
2、移位寄存器应用很广,可构成移位寄存器型计数器;顺序脉冲发生器;串行累加器;可用作数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。
本实验研究移位寄存器用作环形计数器和数据的串、并行转换。
(1)环形计数器把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位,如图10-2所示,把输出端 Q3和右移串行输入端SR相连接,设初始状态QQ1Q2Q3=1000,则在时钟脉冲作用下Q0Q1Q2Q3将依次变为0100→0010→0001→1000→……,如表10-2所示,可见它是一个具有四个有效状态的计数器,这种类型的计数器通常称为环形计数器。
图10-2 电路可以由各个输出端输出在时间上有先后顺序的脉冲,因此也可作为顺序脉冲发生器。
一、课程设计的目的与要求1.设计目的●熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作;●学习利用VHDL语言设计双向移位寄存器电路程序。
2.设计要求根据设计正文提出的双向移位寄存器功能设置,实现电路设计。
二、设计正文●双向移位寄存器有三种输入方式:4位并行输入、1位左移串行输入、1位右移串行输入;●双向移位寄存器有一种输出方式:4位并行输出。
双向移位寄存器工作过程如下:●当1位数据从左移串行输入端输入时,首先进入内部寄存器最高位,并在并行输出口最高位输出,后由同步时钟的上跳沿触发向左移位。
●当1位数据从右移串行输入端输入时,首先进入内部寄存器最低位,并在并行输出口的最低位输出,后由同步时钟的上跳沿触发向右移位。
双向移位寄存器的输入、输出端口如下:CLR:异步清零输入端;SRSI:串行右移输入端;SLSI:串行左移输入端;A、B、C、D:4位并行输入端;QA、QB、QC、QD:4位并行输出端;S0,S1:两位控制码输入端。
双向移位寄存器的端口功能如下:当CLR=0时,4位输出端清0;当CLK=0时,4位输出端保持原来状态不变;当S=00时,4位输出端保持原来的状态不变;当S=01时,允许串行右移输入1位数据;当S=10时,允许串行左移输入1位数据;当S=11时,允许4位数据从并行端口输入。
VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ——包含库和程序包entity double_dir_regt is ——定义实体为double_dir_regtport ( s: in std_logic_vector(1 downto 0);clr,clk,srsi,slsi,a,b,c,d:in std_logic;result: out std_logic_vector(3 downto 0));——设置端口参数输入控制信号s,时钟clk,并行输入abcd, end double_dir_regt; 输出result ARCHITECTURE rtl of double_dir_regt issignal result1: std_logic_vector(3 downto 0);——设置信号result1使result能作为输入使用beginresult<=result1;process (clk,clr) ——敏感信号为时钟和清零信号beginif (clr='0')thenresult1<="0000";elsif (clk'event and clk='1')thencase s iswhen "00"=> ——控制信号为00时实现保持功能result1(0)<=result1(0);result1(1)<=result1(1);result1(2)<=result1(2);result1(3)<=result1(3);when"01"=> ——控制信号为01时实现右移功能result1(3)<=srsi;result1(2)<=result1(3);result1(1)<=result1(2);result1(0)<=result1(1);when"10"=> ——控制信号为10时实现左移功能result1(0)<=slsi;result1(1)<=result1(0);result1(2)<=result1(1);result1(3)<=result1(2);when"11"=> ——控制信号为11时实现并行输入功能result1(0)<=a;result1(1)<=b;result1(2)<=c;result1(3)<=d;end case;end if; ——程序结束end process;end rtl;三、课程设计总结1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0图表1双向移位寄存器右移仿真波形图由上图1看出当s0s1=01时,寄存器执行右移功能,并可看出srsi=1100110011001100,输出结果result依次由初始状态0000,逐渐右移左端输入端口输入srsi=1100110011001100,此时result依次会出现1000:移入1;1100:移入两个1;0110:移入两个1一个0;再有以后出现的结果0011,1001,1100,0110,0011,1001,1100……..此结果符合真值表要求的右移功能。
移位寄存器一实验目的1.学习用D触发器构成移位寄存器(环行计数器)2.掌握中规模集成电路双向移位寄存器逻辑功能及使用方法二实验原理1、用4个D触发器组成4位移位寄存器,将每位即各D触发器的输出Q1、Q2、Q3、Q4分别接到四个0—1指示器(LED)将最后一位输出Q4反馈接到第一位D触发器的输入端,则构成一简单的四位移位环行计数器。
2、移位寄存器具有移位功能,是指寄存器中所存的代码能够在时钟脉冲的作用下依次左移或右移。
对于即能左移又能右移的寄存器称为双向移位寄存器。
只需要改变左移、右移的控制信号便可实现双向移位的要求。
根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。
本实验选用的4位双向移位寄存器,型号为74LS194A(或CD40194),两者功能相同,其引脚分布图如下图18.1所示:其中A、B、C、D为并行输入端,A为高位依次排列;Q A、Q B、Q C、Q D为并行输出端;S R为右移串行输入端;S L为左移串行输入端;S1、S0为操作模式控制端;CLR为异步清零端;低电平有效;CLK为CP时钟脉冲输入端。
74LS194A有5种工作模式:并行输入,右移(Q D→Q A),左移(Q D←Q A),保持和清零。
74LS194功能表如表18.1所示:CLR CP S1S0工作状态0 1 1 1 1 XX↑↑↑X X000 1101 1置零保持右移,S R为串行输入,Q A为串行输出左移,S L为串行输入,Q D为串行输出并行输入表18.1三实验器件数字实验箱集成电路芯片:74LS74×2 (CD4013×2);74LS75 ;74LS76 ;74LS194A (CD40194)。
图18.1四实验内容1.用74LS74组成移位寄存器,使第一个输出端点亮LED并使其右移循环。
顺序是FF1、FF2、FF3、FF4。
A) 1. 用两个74LS74按图18.2连接:图18.21. CP时钟输入先不接到电路中(单步脉冲源或连续脉冲源);1.连接线路完毕,检查无误后加+5V电源;2.观察4个输出端的LED应该是不亮的,如果有亮的话,应按清零端的逻辑开关,(给出一个低电平信号清零后,再将开关置于高电平)即将4个D触发器输出端的LED清零。
实验五寄存器和移位寄存器实验类型:综合性一、实验目的1.测试中规模四位双向移位寄存器逻辑功能;2.研究由移位寄存器构成的环形计数器和串行累加器的工作原理。
二、实验内容(见实验指导书223-225页) 1、移位寄存器移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。
既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。
根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。
本实验选用的4位双向通用移位寄存器,型号为74LS194,其逻辑符号及引脚排列如图5-1所示。
图5-1 74LS194逻辑符号及引脚排列其中,3D 、2D 、1D 、0D 为并行输入端;3Q 、2Q 、1Q 、0Q 为并行输出端;R S 为右移串行输入端;L S 为左移串行输入端;1S 、0S 为操作模式控制端;R C 为直接无条件清零端;CP 为时钟脉冲输入端。
74LS194有5种不同操作模式:并行送数寄存;右移(方向由3Q →0Q );左移(方向由0Q →3Q );保持及清零。
表5-174LS194逻辑功能表2、逻辑功能验证: (1). 并行输入:1). 从电子仿真软件Multisim9基本界面左侧左列真实元件工具条的“TTL ”元件库中调出74LS194;从“Basic ”元件库中调出单刀双掷开关8只;从“Source ”元件库中调出Vcc 和地线,将它们放置在电子平台上。
2). 从电子仿真软件Multisim9基本界面左侧右列虚拟元件工具条的指示器元件列表中调出红色指示灯4只,将它们放置在电子平台上。
3). 按图5-2连成仿真电路。
4). 打开仿真开关,用1J 实现“异步清0”功能;再根据“并行输入”功能要求,将1S 、0S 使能端置于“1、1”状态,A 、B 、C 、D 数据输入端分别设为“1011”,观察CLK 端加单脉冲CP 时,输出端指示灯变化情况,并填写表5-2。
实验五四位双向移位寄存器一、实训目的1.巩固编译、仿真VHDL文件的方法。
2.掌握VHDL程序顺序语句的应用。
3.掌握四位双向移位寄存器的工作原理。
二、实训器材计算机与Quartus Ⅱ工具软件。
三、实训指导(一)实训原理四位双向移位寄存器真值表如表5-1所示。
表5-1 四位双向移位寄存器的真值表(二)实训步骤1.设计输入VHDL文件(1)建立工程项目。
(2)建立VHDL文件。
(3)设计输入VHDL文件,可用IF语句或CASE语句等顺序语句设计。
VHDL代码如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY YWJCQ4 ISPORT(M:IN STD_LOGIC_VECTOR(1 DOWNTO 0);D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);CR,CP,DSR,DSL:IN STD_LOGIC;Q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END YWJCQ4;ARCHITECTURE W OF YWJCQ4 ISBEGINPROCESS(CR,CP,DSR,DSL,M,D)BEGINIF CR='0' THEN Q<="0000";ELSIF (CP='1' AND CP'EVENT) THENCASE M ISWHEN "11"=>Q<=D;WHEN "01"=>Q<=DSR&Q(3 DOWNTO 1);WHEN "10"=>Q<=Q(2 DOWNTO 0)&DSL;WHEN OTHERS=>Q<=Q;END CASE;END IF;END PROCESS;END W;2.编译仿真VHDL文件(1)编译VHDL文件。