利用FPGA Editor,你可以察看物理实施后的设计并确定是否在FPGA构造一级真正实现了设计意图 – 而这对于任何工程师或现场应用工程师来说都是非常需要的。 为方便浏览或对设计进行编辑,这些窗口可以复制。许多情况下,打开第二个Array窗口会比较方便同时在设计的两个不同部分工作。例如,假设需要在全局时钟缓冲器和芯片底部的触发器之间增加一条布线。如果在一个Array窗口中显示全局时钟缓冲器的输出,另一个Array窗口则显示触发器时钟输入,那么会做起来会更方便。不然的话就必须来回缩放来定位布线的两端,显然这很繁琐。 在FPGA Editor GUI的右侧是一组由20个功能按钮组成的工具条,用于设计察看和编辑。通过编辑$XILINX/data目录下的fpga_editor.ini文件可以增加更多功能按钮。当察看设计时,应当随时使用INFO按钮。该功能会将所选择项目的所有信息转录到控制台(Console)窗口。这一功能非常方便,你可以在控制台窗口中标注数据并将其拷贝到其它地方使用,例如编写UCF约束。 一旦了解了最基本的概念和操作,就可以开始察看FPGA构造。通常我都从时钟逻辑开始。这包括数字时钟管理器(DCM)、锁相环(PLL)、全局时钟缓冲器(BUFG)、区域时钟缓冲器(BUFR)、I/O缓冲器(BUFIO)以及不同的时钟区域。(要想按字母列出项目表,可以到LIST窗口点击Type来排序。)点击一个DCM并按F11。ARRAY窗口会定位到选择的DCM并放大显示它。继续点击DCM并观察GUI底部的Console窗口,其中会显示与下面类似的内容: comp “DCM_BASE_inst_star”, site “DCM_ADV_X0Y9”, type = DCM_ADV
(RPM grid X73Y202) 这是有用的数据。 拷贝并粘贴上述内容到UCF文件中,并作如下更改以锁定这一DCM逻辑: INST “DCM_BASE_inst_star”
LOC=DCM_ADV_X0Y9; 利用这一方法,几乎可以锁定FPGA中的任何项目。 下面是BUFG锁定的另一个例子: comp “BUFG_inst_star”, site “BUFGCTRL_X0Y20”, type = BUFG (RPM grid X73Y124) INST “BUFG_inst_star”
LOC=BUFGCTRL_X0Y20; 再次回到List窗口并标注同一DCM。 双击之后将会在Block视图中显示该DCM以及所有设置和参数。这是一项非常强大的功能,可用于FPGA构造中的任何逻辑项目。如果选择一个逻辑片并双击它,就可以看到逻辑片是如何布线连接的,以及是否使用了进位链或本地触发器。 |