32位移位寄存器.pdfVIP

  • 106
  • 0
  • 约8.31千字
  • 约 6页
  • 2021-01-13 发布于江苏
  • 举报
实验四 实验四 一、实验名称 一、实验名称 32 位并进/并出移位寄存器设计 32 位并进/并出移位寄存器设计 二、实验原理 二、实验原理 用一个 8 位移位寄存器,再增加一些电路,如 4 个 8 位锁存器等, 用一个 8 位移位寄存器,再增加一些电路,如 4 个 8 位锁存器等, 设计成为一个能为 32 位二进制数进行不同方式移位的移位寄存 设计成为一个能为 32 位二进制数进行不同方式移位的移位寄存 器。 器。 三、实验步骤 三、实验步骤 1、建立一个工程项目,设置路径,项目名和顶层实体名一致; 1、建立一个工程项目,设置路径,项目名和顶层实体名一致; 2、设计一个8位移位寄存器电路; 2、设计一个8位移位寄存器电路; 3、设计一个8位锁存器电路; 3、设计一个8位锁存器电路; 4、运用元件调用声明语句和元件例化语句完成顶层设计。 4、运用元件调用声明语句和元件例化语句完成顶层设计。 四、实验程序 四、实验程序 1、八位移位寄存器程序 1、八位移位寄存器程序 LIBRARY IEEE ; LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.ALL; ENTITY jicun IS ENTITY jicun IS PORT ( CLK,CO: IN STD_LOGIC; --时钟和进位输入 PORT ( CLK,CO: IN STD_LOGIC; --时钟和进位输入 MD : IN STD_LOGIC_VECTOR (2 DOWNTO 0); --移位模式控制字 MD : IN STD_LOGIC_VECTOR (2 DOWNTO 0); --移位模式控制字 D : IN STD_LOGIC_VECTOR (7 DOWNTO 0); -- 待加载移位的数据 D : IN STD_LOGIC_VECTOR (7 DOWNTO 0); -- 待加载移位的数据 QB : OUT STD_LOGIC_VECTOR (7 DOWNTO 0); --移位数据输出 QB : OUT STD_LOGIC_VECTOR (7 DOWNTO 0); --移位数据输出 CN : OUT STD_LOGIC); 进位输出 CN : OUT STD_LOGIC); 进位输出 END jicun; END jicun; ARCHITECTURE behav OF jicun IS ARCHITECTURE behav OF jicun IS SIGNAL REG : STD_LOGIC_VECTOR (7 DOWNTO 0); SIGNAL REG : STD_LOGIC_VECTOR (7 DOWNTO 0); SIGNAL CY : STD_LOGIC; SIGNAL CY : STD_LOGIC; BEGIN BEGIN PROCESS (CLK,CO,MD) PROCESS (CLK,CO,MD) BEGIN BEGIN IF CLKEVENT AND CLK 1 THEN IF CLKEVENT AND CLK 1 THEN CASE MD IS CASE MD IS WHEN 001 REG (0) CO; 带进位循环左移 WHEN 001 REG (0) CO; 带进位循环左移 REG (7 DOWNTO 1) REG (6 DOWNTO 0);CY REG (7); REG (7 DOWNTO 1) REG (6 DOWNTO 0);CY REG (7); WHEN 010 REG (0) REG (7); 自循环左移 WHEN 010 REG (0) REG (7); 自循环左移 REG (7 DOWNTO 1) REG (6 DOWNTO 0);

文档评论(0)

1亿VIP精品文档

相关文档