EDA不同类型的移位寄存器设计报告 下载本文

.

图1

实验三 串入串出移位寄存器设计

一、 实验目的

根据实验内容中介绍的4位串入/串出移位寄存器的设计方法,设计一个8位串入/串出移位寄存器。

二、实验内容

在这里我们通过一个4位串入/串出移位寄存器设计过程来介绍如何设计串入/串出移位寄存器。

所谓的串入/串出移位寄存器,即输入的数据是一个接着一个依序地进入,输出时一个接着一个依序地送出。

三、实验连线

.

.

输入信号有CLK(时钟信号)、DATA-IN(数据输入),CLK用适配器板子上的时钟端,接数字信号源的CLK5,频率调节到1Hz左右,DATA-IN接拨码开关;输出信号DATA-OUT接发光二极管。

四、实验原理

LIBRARY ieee;

USE ieee.std_logic_1164.ALL; 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;

.

.

五、波形仿真结果

图1 4位串入/串出移位寄存器仿真波形图

因为一开始时寄存器内部存储的数据为“0000”,必须等这4个“0”逐一移出后,新的数据才能进入并存储,帮数据的输入和输出会存有4个位延迟时间的差异。DATA_IN表示输入的数据流,DATA_OUT为输出的数据流,Q显示的为寄存器目前存储的数据内容。

实验四 带清零的8位并行输入串行输出移位寄存器

一、实验内容

用VHDL语言实现8位并进串出移位寄存器电路的设计。

二、实验原理

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY piso IS

PORT(din:IN STD_LOGIC_VECTOR(7 DOWNTO 0); clk:IN STD_LOGIC; load:IN STD_LOGIC; dout:OUT STD_LOGIC); END piso;

ARCHITECTURE behav OF piso IS

SIGNAL q:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN

PROCESS(load,clk) BEGIN

IF (load ='0') THEN

.

.

q <= din;

ELSIF (clk'event AND clk ='1' ) THEN q(1) <= q(0);

FOR i IN 2 TO 7 LOOP q(i) <=q(i-1); END LOOP; END IF; END PROCESS; PROCESS(load,clk) BEGIN

IF load = '0' THEN dout <='0';

ELSIF (clk'event AND clk = '1' ) THEN dout <= q(7); END IF; END PROCESS; END behav;

三、仿真波形结果

实验五 8位双向移位寄存器电路设计

.

.

一、基本工作原理

移位寄存器是基本的同步时序电路,基本的移位寄存器可以实现数据的串行/并行或并行/串行的转换、数值运算以及其他数据处理功能。但有时候需要对移位寄存器的数据流向加以控制,实现数据的双向移动,其中一个方向称为右移,另一个方向称为左移,这种移位寄存器就称为双向移位寄存器。

根据国家标准规定,逻辑图中的最低有效位(LSB)到最高有效位(MSB)的电路

排列顺序应从上到下,从左到右。因此定义移位寄存器中的数据从低位触发器移向高位为右移,移向低位为左移。

为了扩展逻辑功能和增加使用的灵活性,某些双向移位寄存器集成电路产品

又附加了并行输入、并行输出等功能。下图所示是上述几种工作模式的简化示意图。 右移串行输入(DIR) 左移串行输出(DOL) 并行输入 D0 D1 D2 D3 FFQ0 FFFFFFQ3 右移串行输出(DOR) 左移串行输入(DIL) Q1 Q2 并行输出

图1-1 多功能移位寄存器工作模式简图

二、 基本实现方案

图1-2所示是实现数据保持、右移、左移、并行置入和并行输出的一种电路

方案。图中的D触发器FFm是N为移位寄存器中的第m位触发器,在其数据输入端插入了一个4选1数据选择器MUXm,用2位编码输入S1、S0控制MUXm,来选择触发器输入信号Dm的来源。当S1?S0?0时,选择该触发器本身输出的Qm,

n?1n?Dm?Qm次态为Qm,使触发器保持状态不变;当S1?0,S0?1时,触发器FFm?1的输出Qm?1被选中,故CP脉冲上升沿到来时,FFm存入FFm?1此前的逻辑值,即

n?1nn?1nQm?Qm?Qm而Qm,从而实现右移功能;类似地,当S1?1,S0?0时,MUXm?1,+1选择Qm?1,实现左移功能;而当S1?S0?1时,则选中并行输入数据DIm,其次

n?1?DIm,从而完成并行数据的置入功能。上述四种操作概述于表1-1,此态Qm外,在各触发器的输入端QN?1~Q0,可以得到N位并行数据的输出。

.