实验五 4 位串入/并出移位寄存器实现
一、实验目的
1、了解移位寄存器的实现原理
2、学习 VHDL 电子电路控制功能的应用
二、实验环境:
三、实验步骤
1.实验原理
在这里我们通过一个 4 位串入/并出移位寄存器设计过程来介绍如何设计串入/并出移位
寄存器。
所谓的串入/并出移位寄存器,即输入的数据是一个接着一个有序地进入,输出时则一
起送出。
2. 例程代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL ;
USE IEEE.STD_LOGIC_UNSIGNED.ALL ;
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
P1:
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 P1;
D_OUT <=Q ;
END a;
仿真结果如下图所示。
1
图 1
4 位串入/并出移位寄存器仿真波形图
上图中输入的数据为“1010”、“0111”两组 4 位数据。因输入的数据是每次一位依序进
入,故输入、输出信号之间有 4 个 CLK 时间的延迟。为了过滤中间没用的数据,只读取完
整的存储数据,实用上可将取样脉冲的周期设定成 CLK 脉冲的四倍,也就是说,每经过 4
个 CLK 脉冲后再读取数据一次,便能每次读取都得到正确的数据。可见上图有效的输出是
A 7。
四、实验心得
通过本次实验,知道了移位寄存器的实现原理,学会了用 VHDL 语言实现简单的电子
电路控制。
2