【发布时间】:2016-12-20 11:33:24
【问题描述】:
我正在用 VHDL 编写代码以合成到 XilinX FPGA 上。我通常使用 GHDL 来模拟我的测试平台。我需要使用 XilinX 除法核心来除以变量,但是我不确定如何执行此操作,因为 XilinX 文档中似乎没有示例。我是否必须使用 XilinX 软件为分频器生成 VHDL 组件?或者赛灵思是否隐含地理解分频器意味着使用 IP 核?如果我的第二条陈述是真的,我将如何使用 GHDL 进行仿真,还是必须使用 XilinX 仿真工具?我真的可以用一个使用 XilinX 分频器内核来实现变量除法的最小示例来做,例如像这样:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
entity DividingExample is
port (
clk : in std_logic;
reset : in std_logic;
InputSignal : in std_logic_vector(15 downto 0);
OutputSignal : out std_logic_vector(15 downto 0)
);
end DividingExample;
architecture behaviour of DividingExample is
-- declarations
signal numerator : integer;
begin
-- behaviour
process(clk)
begin
if(rising_edge(clk)) then
if(reset = '1') then
-- reset values
numerator <= 1000;
else
-- calculate value to be output
OutputSignal <= numerator/to_integer(signed(InputSignal))
end if;
end if;
end process;
end behaviour;
这个示例代码显然不起作用,因为除法('/' 运算符)没有为整数数据类型定义。我该怎么办?
【问题讨论】: