移位寄存器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四移位寄存器的设计
电科092 朱恩遇09401700324 1实验目的:掌握QuartusII的VHDL语言描述输入法
(1)掌握VHDL语言描述输入法
(2)掌握VHDL语言
(3)理解if语句进行描述计数器。
2 、实验内容
(1)设计一个移位寄存器
(2)根据VHDL语言描述输入法编译和波形仿真。
3 、实验要求
(1) 熟悉VHDL语言描述输入法
(2) 设计一个移位寄存器的VHDL程序,具有左、右移位,同步置数、同步清零等功
能
(3) 用QuartusII软件编译和波形仿真
(4) 把自己认为好的实验结果写成实验报告。(要计成绩)
4、实验步骤
程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity yw is
port(data:in std_logic_vector(5 downto 0);
left_da,right_da,reset,clk:in std_logic;
mode :in std_logic_vector(1 downto 0);
qout :buffer std_logic_vector(5 downto 0));
end yw;
architecture behave of yw is
begin
process
begin
wait until rising_edge(clk);
if(reset='1')then
qout<="000000";
else
case mode is
when"00"=>qout<=qout;
when"01"=>qout<=right_da&qout(5 downto 1);
when"10"=>qout<=qout(4 downto 0)&left_da;
when"11"=>qout<=data;
when others=>null;
end case;
end if;
end process;
end behave;
5.仿真结果
6.实验收获与体会
通过这次试验我学习到在quartus中怎么用编辑波形来对程序的实验验证,在波形仿真中对于各种快捷工具的使用,以及对其中器件的延时分析。其中就有编辑波形是的双击选定特定时间赋值的方法,这个我觉得非常有用。
从第一个试验的一无所知到现在的入门界别,当然我相信这只是一个开始,还有好多未知的东西在等着我。