我是 VHDL 新手,并试图创建一个项目,我需要使用 dsp 块来更快地计算大数(256 位)。我使用 coreGenerator 创建了这个 DSP48macro,但是生成语句出现语法错误。请如果有人可以帮助我哪里出错了。
注意:第一部分是coregen生成的组件。另一部分是我试图实例化块的部分。单块工作正常。如果您需要其他信息,请帮助或让我知道。由于我在生成语句中遇到错误,我希望你能告诉我我哪里出错了。
A(i), B(i) 是 (47 downto 0) 和 cin, cout 都是 0 到 5 数组来传播进位。
谢谢你。
COMPONENT hfh
PORT (
clk : IN STD_LOGIC;
carryin : IN STD_LOGIC;
c : IN STD_LOGIC_VECTOR(47 DOWNTO 0);
concat : IN STD_LOGIC_VECTOR(47 DOWNTO 0);
carryout : OUT STD_LOGIC;
p : OUT STD_LOGIC_VECTOR(47 DOWNTO 0)
);
END COMPONENT;
begin
cin(0)<= carryin;
process(clk, Signal_A , Signal_B, cin )
begin
for i in 0 to 5 generate --error here
begin
blocks : hfh
PORT MAP ( -- error here
clk => clk,
carryin => cin(i),
c => Signal_A(i),
concat => Signal_B(i) ,
carryout => cout(i),
p => p
); -- error here
end generate;
end process;