四位双向移位寄存器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五四位双向移位寄存器

一、实训目的

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 IS

PORT(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 IS

BEGIN

PROCESS(CR,CP,DSR,DSL,M,D)

BEGIN

IF CR='0' THEN Q<="0000";

ELSIF (CP='1' AND CP'EVENT) THEN

CASE M IS

WHEN "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文件。

如果有错误,检查并纠正错误,直至最后通过。(2)仿真VHDL文件。

认真核对输入/输出波形,检查设计的功能是否正确。

四位双向移位寄存器的仿真波形图如图5-1所示。

图5-1 四位双向移位寄存器仿真波形图

四、实训总结

通过本次试验我掌握了VHDL文件的编译与仿真,同时巩固了IF语句和CASE 语句的应用。

相关文档
最新文档