怎么用AHDL暂存一组数据

时间:2007-04-29
要看数据长度了,如果数据量不大,可以直接用寄存器
library ieee;
use ieee.STd_LOGIC_1164.all;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;

entity buff_reg is
--generic(strb_del,en_del,o_del: time);
port (strb,ds1,ds2: in std_logic;
di :in std_logic_vector(7 downto 0);
do: out std_logic_vector(7 downto 0));
end buff_reg ;

architecture alg of buff_reg is
signal enable:std_logic;
signal reg : std_logic_vector(1 to 8);
begin
p1: process(strb)
begin
wait until strb='1';
reg<= di ;--after strb_del;
end process p1;

p2: process(ds1,ds2)
begin
enable<= ds1 and not ds2 ;--after en_del;
end process p2;

p3: process(reg ,enable)
begin
if enable='1' then
do<= reg ;--after o_del;
else
do<= "00000000" ;--after o_del;
end if;
end process p3;
end alg;
其实就是一个缓存

  
上一篇:VHDL介绍
下一篇:电子设计自动化中的硬件描述语言

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料