2015-05-27 22 views
2

我如何分配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; 
); 

回答

3

不幸的是,一個地方,你不能使用類型爲natural是頂級港口,在那裏它們被映射到物理器件引腳。這是因爲您需要將信號的每個獨立位連接到自己的引腳,因此您需要某種類型來將信號表示爲一組位。

我的選擇是從natural轉換到/於unsigned用於這一目的。無符號將有5位從0數到31

library ieee; 
use ieee.numeric_std.all; 
... 

Port ( 
      sel1 : in unsigned(nr_bits-1 downto 0); 
... 

sel_1 <= to_unsigned(sel1_i,nr_bits); 
... 

現在你SEL_1的每一位連接到自己的腳在UCF文件。在VHDL您可以訪問各個位sel1(4)sel1(0)

在UCF文件的語法可能會稍有不同」 sel1_4等,指的是UCF文件怎麼看總線的數量是各個位..

+0

在頂級實體中使用時,IDE是否自動將'natural'轉換爲'std_logic_vector'? – Qiu

+0

@布萊恩,謝謝你的有用答案。 Qui,我認爲不,IDE不會自動轉換它。 –