vhdl右移怎么写

1.拜求高手 8位左移移位寄存器的VHDL程序怎么写啊library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity a is
port(clk:in std_logic;
data_in:in std_logic;
data_out:out std_logic_vector(7 downto 0));
end a;
architcture art of a is
signal temp:std_logic_vector(7 downto 0);
begin
process(clk)
begin
if rising_edge(clk) then
temp
2.请问VHDL中SLL的作用是什么VHDL中的移位操作符有以下几种:
sll 逻辑左移------数据左移,右端空出来的位置填充'0'
srl 逻辑右移------数据右移,左端空出来的位置填充'0'
sla 算术左移-------数据左移,同时复制最右端的位,在数据左移操作后填充在右端空出的位置上
【vhdl右移怎么写】sra 算术右移-------数据右移,同时复制最左端的位,在数据右移操作后填充在左端空出的位置上
rol 循环逻辑左移-----数据左移,同时从左端移出的位依次填充到右端空出的位置上
ror 循环逻辑右移------数据右移,同时从右端移出的位依次填充到左端空出的位置上
3.求VHDL移位寄存器代码library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity test is PORT ( dn: in std_logic;s:in std_logic_vector(1 downto 0); clk:in std_logic; qn: out std_logic );end test;architecture ONE of test is signal q:std_logic_vector(2 downto 0);begin process (clk)begin if clk'event and clk='1' then if s="01" then q<=q(1 downto 0) & '0'; elsif s="10" then q<='0' & q(2 downto 1); elsif s="11" then q<=q(1 downto 0) & dn; else q<=q; end if;end if;end process ;qn<=q(1);end ONE; 。

vhdl右移怎么写

文章插图