如何将natural
类型的端口分配给XILINX UCF文件中的引脚?
Generic (
nr_ro : natural := 32
);
Port (
clk_i : in STD_LOGIC;
rst_i : in STD_LOGIC;
sel1_i : in natural range 0 to nr_ro-1;
sel2_i : in natural range 0 to nr_ro-1;
bit_o : out std_logic;
);
答案 0 :(得分:3)
不幸的是,您不能使用类型natural
的地方是顶级端口,它们被映射到物理设备引脚。这是因为您需要将信号的每个位连接到它自己的引脚,因此您需要一些将信号表示为位数组的类型。
出于此目的,我的选择是转换为natural
/从unsigned
转换为library ieee;
use ieee.numeric_std.all;
...
Port (
sel1 : in unsigned(nr_bits-1 downto 0);
...
sel_1 <= to_unsigned(sel1_i,nr_bits);
...
。无符号将有5位从0到31计数。
sel1(4)
现在,您将sel_1的每个位连接到UCF文件中的自己的引脚。在VHDL中,您可以访问各个位sel1(0)
,sel1_4
等。
在UCF文件中,语法可能略有不同&#39; formatSelection
等,请参阅UCF文档,了解它如何对总线的各个位进行编号..