如何解决VHDL 8x16 寄存器文件不可综合
我必须在学期期间为一个项目编写一个 8x16 位的寄存器文件。 编写完这个模块后,我们必须运行 VHDL 综合。
但我收到这些错误:
Error line 26 : syntax error
vbl_bcomp_y.y 4464 : Error 18 line 26 in file regfile :illegal concurrent statement
Note that errors might also be due to unsupported statements
这里是我使用 vasy
进行合成的代码
-- ...
architecture RTL of REGFILE is
type t_regfile is array (0 to 7) of std_logic_vector(15 downto 0);
signal reg : t_regfile := (others => X"0000"); -- Init with 0
begin
process (clk)
begin
if rising_edge(clk) then
if load_lo = '1' then
-- The error line
reg (to_integer(unsigned(in_sel))) (7 downto 0) <= in_data (7 downto 0);
end if;
if (load_hi = '1') then
reg (to_integer (unsigned (in_sel))) (15 downto 8) <= in_data (15 downto 8);
end if;
end if;
end process;
process (out0_sel,out1_sel,reg)
begin
out0_data <= reg (to_integer(unsigned(out0_sel)));
out1_data <= reg (to_integer (unsigned(out1_sel)));
end process;
end RTL;
谁能描述一下如何修复这个综合错误?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。