跪求:用VHDL描述异步复位,同步置数和移位使能8位右移移位寄存器。

用VHDL描述异步复位,同步置数和移位使能8位右移移位寄存器。
library ieee;
use ieee.std_logic_1164.all;
entity sreg8b is
port(clk,rst:in std_logic;
load,en:in std_logic;
din:in std_logic_vector(7 downto 0);
qb:out std_logic);
end sreg8b;
architecture behan of sreg8b is
signal reg8:std_logic_vector(7 downto 0);
begin
process(clk,rst,load,en)
begin
if(rst='1')then
reg8<='0';
elsif ________________ then
if (load='1')then
reg8<=din;
elsif (en='1')then
reg8(6 downto 0)<=_______________;
end if;
end if;
end process;
qb<=reg8;
end behav;

以上程序希望各大虾们帮忙补全~~~~如果是高手请顺便帮忙检查下错误!!!!!!谢谢了!!!!!!
特别感谢!!!!!!!!
那个。。。不好意思。。。我只要我完成那几个填空。。。别的答案不需要。。。谢谢。。。。。

第1个回答  2010-12-05
VARIABLE CQI : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
IF RST = '1' THEN CQI := (OTHERS => '0'); --异步清零
ELSIF CLK'EVENT AND CLK ='1' THEN --时钟上升沿触发
IF D = "000" THEN --模式-----10进制
IF CQI < 6 THEN CQI := CQI + 1;
ELSE CQI := (OTHERS => '0') ; END IF;

CLK为时钟输入,RST为异步清零端,D[2..0]为模式控制端,可实现几种不同模式的计数方式,本计数器可供选择的计数模式分别为:七进制,十进制,十二进制,二十四进制等......
我们以前做过这个题目了

VHDL程序和报告齐全@……
第2个回答  2012-11-19
用VHDL描述异步复位,同步置数和移位使能8位右移移位寄存器。
library ieee;
use ieee.std_logic_1164.all;
entity sreg8b is
port(clk,rst:in std_logic;
load,en:in std_logic;
din:in std_logic_vector(7 downto 0);
qb:out std_logic);
end sreg8b;
architecture behan of sreg8b is
signal reg8:std_logic_vector(7 downto 0);
begin
process(clk,rst,load,en)
begin
if(rst='1')then
reg8<='0';
elsif clk 'event' and_clk '1' then
if (load='1')then
reg8<=din;
elsif (en='1')then
reg8(6 downto 0)<=reg8(7 downto 1);
end if;
end if;
end process;
qb<=reg8;
end behav;
第3个回答  2010-12-05
第一空:clk'event and clk='1'----时钟上升沿触发
第二空:reg8(7 downto 1) -----右移本回答被提问者采纳
第4个回答  2010-12-05
不懂