VHDL——4位移位寄存器

1.电路图

移位寄存器:具有存储代码,移位功能
移位:寄存器里所储存的代码能够在移位脉冲的作用下,依次左移或右移

2.VHDL语言
2.1 D触发器

library ieee;
use ieee.std_logic_1164.all;

entity dff1 is
  port(
    clk,d:in std_logic;
	 q:out std_logic
  );
end dff1;

architecture behavior of dff1 is
  begin
    process(clk)    --进程语句以及敏感信号
	 begin
    if rising_edge(clk) then q <= d; --rising_edge 是非常严格的上升沿,必须从01 
	 end if;
  end process;
end behavior;

2.2 4位移位寄存器
描述1

library ieee;
use ieee.std_logic_1164.all;

entity shift_reg is
    port (a,clk : in std_logic;
	       b : out std_logic);
end shift_reg;

architecture behave of shift_reg is
  component dff
  port(d,clk:in std_logic;
           q:out std_logic);
end component;
signal z:std_logic_vector(0 to 4);
begin
  dff1:dff port map(a,clk,z(1));
  dff2:dff port map(z(1),clk,z(2));
  dff3:dff port map(z(2),clk,z(3));
  dff4:dff port map(z(3),clk,b);
end behave;

描述2

begin
  z(0)<=a;b<=z(4);
  dff1:dff port map(z(0),clk,z(1));
  dff2:dff port map(z(1),clk,z(2));
  dff3:dff port map(z(2),clk,z(3));
  dff4:dff port map(z(3),clk,z(4));
end behave;

描述3

begin
  z(0)<=a;b<=z(4);
  g1:for i in 0 to 3 generate             --for  generate语句
   dffx:dff port map(z(i),clk,z(i+1));
end generate;
end behave;
  • 15
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

364.99°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值