2

我让 WebPack 再次在我的机器上运行,在综合了一个简单的设计并将其上传到我的 FPGA 之后,我的理解遇到了很大的问题。

当用户约束文件中有这样一行时:

NET "W1A<0>" LOC = "P18" ;

综合软件如何确定 VHDL 代码如何分配此引脚?

例如,以我提供的这个示例代码为例:

entity Webpack_Quickstart is
Port (
W1A : out  STD_LOGIC_VECTOR(15 downto 0);
rx : in STD_LOGIC;
tx : inout STD_LOGIC;
clk : in STD_LOGIC
);
end Webpack_Quickstart;

architecture Behavioral of Webpack_Quickstart is
signal counter : STD_LOGIC_VECTOR(47 downto 0) := (others => '0');
begin
    W1A(0) <= '1';
end;

这段代码究竟是如何使WIA0我的 FPGA 上的引脚打开的?链接是什么?只是实体声明中的端口名称是否涉及更多魔法?

4

1 回答 1

2

您的.ucf约束应用于实施阶段。至此,您的设计已经合成,可用的顶层网络因此是“已知的”。所以是的,这只是将同名网络匹配到同名约束的问题。

虽然语法略有不同(例如使用<>而不是()索引向量),但除此之外它只是一个简单的字符串匹配。

初始配置管脚约束的最简单方法,尤其是对于大型设计,仅使用一种图形工具(PlanAhead,如果它包含在 WebPack 中)来分配管脚,并生成初始 .ucf 文件。我发现稍后直接使用标准 ISE 文本编辑器手动进行小改动是最容易的。

于 2012-04-22T09:14:10.303 回答