四位双向移位寄存器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 语句的应用。