《并入串出寄存器设计.doc》由会员分享,可在线阅读,更多相关《并入串出寄存器设计.doc(3页珍藏版)》请在金锄头文库上搜索。
1、上海理工大学 wsb929实验五 并入串出寄存器设计一、 实验目的学习移位寄存器的VHDL设计方法。二、 设计描述及方法1. 设计电路的接口描述双向含异步清0和同步时钟使能的4位加法器clkdataoutloadto 8 LEDsdatain7.0译码器datain7.4datain3.0译码器8 bit说明:图中虚线内为设计内容,虚线外是外部检测和显示的硬件电路。主要引脚有: datain7.0 是八位数据输入端,并行输入; clk 脉冲输入端,数据的移位靠该引脚触发; load 是读入数据控制端; dataout 一位数据的输出端。2. 真值表 clkloaddatain7.0dataou
2、t1(q7,q6,q5,q4,q3,q2,q1,q0)x0(q7,q6,q5,q4,q3,q2,q1,q0)q7,q6,q5,q4,q3,q2,q1,q0 3. 电路设计方法在过程中定义和使用八位矢量信号(signal)。 三、 程序代码library ieee;use ieee.std_logic_1164.all;entity p_in_s_out is port( data_in: in std_logic_vector(7 downto 0); clk : in std_logic; load: in std_logic; data_out: out std_logic);end p_in_s_out;architecture behave of p_in_s_out is signal q: std_logic_vector(7 downto 0); begin process(load,clk) begin if load=1 then q=data_in; data_out=X; elsif clkevent and clk=1 then for i in 1 to 7 loop q(i)=q(i-1); end loop; data_out=q(7); end if; end process; end behave;四、 功能仿真五、 RTL级电路13