FPGA Editor应用技巧
当用户在GUI环境中编辑设计时,FPGA Editor能够记录用户动作。用户不仅可以保存记录动作流程,还可在以后重新使用记录的脚本并加以重复。当无法更改RTL,但又需要在设计过程中对设计进行修改时,这一功能特别有用。假设设计采用了第三方IP或赛灵思加密IP,其中包括一个全局时钟和一个DCM来生成称为 interface_clk的时钟。然后再假设接口所连接的ASIC出现问题,无法在预定的interface_clk的上升沿接收数据。如何修正这一问题? 当然,你可以改变PCB,更换出现问题的ASIC或者让第三方IP小组来修改时钟输出逻辑以提供90度相移的interface_clk。所有这些解决方案都既耗费时间又成本高昂。一个更简单的建议是利用FPGA Editor来记录修改动作,对interface_clk逻辑进行必要的更改,从而为出现问题的ASIC提供正确的时钟相位。一旦有了相关修改的 FPGA Editor脚本,就可以回放这些命令行脚本记录的修改步骤,而你也可以正常继续你的FPGA设计流程。当出现问题的ASIC修复正常以后,你只需要将 FPGA Editor脚本从编译脚本中移除就可以,而interface_clk也会恢复其正常的行为。 要想对设计进行手动编辑,首先需要在FPGA Editor中开启读/写(read/write)权限。在菜单条中点击File → Main Properties。在此菜单下,可以调整编辑模式(从No logic Change到Read/Write)。点击Apply,现在就可以开始对设计进行编辑了。在下一步利用FPGA Editor记录对设计进行的所有修改时,只需要简单地从菜单条中点击Tools → Scripts →Begin Recording。FPGA Editor将会提示输入一个脚本名字(如patch.scr)。输完脚本名字,就可以对设计进行必要的修改了。 在设计中运行设计规则检查(DRC)来看一下是否有规则冲突的红色标志是一个很好的方式。在我的设计例子中,有14条警告,但都可以忽略。下一步我们将需要定位interface_clk使用的DCM,并为此DCM的90度相移输出创建另一个称为DCM_clk90_out的时钟。这需要利用全局时钟布线资源将时钟连接到BUFG。要增加一个BUFG,先在FPGA构造中找到一个未用的BUFG位置,右击并选择 Add(添加)。然后,工具会提醒你为BUFG命名(clk90_bufg)并确定其类型:BUFG(参见图1)。 创建了新的BUFG,就需要将其输入和输出连接到适当的位置。在本例中,DCM的90度相移输出将驱动BUFG。在窗口Array1中,点击DCM 的90度输出端衰减器,在窗口Array2中,点击BUFG的输入端衰减器,同时按住Ctrl键,可实现连接。然后释放Ctrl键,点击鼠标右键并选择 Add。工具会提示为新网络连接输入名字。这样就将DCM 和 BUFG通过新网络连接到一起了(参看图2)。
图1:属性窗口允许用户配置并命名选定的逻辑项目
- 专用IC解密技术--AVR的应用技巧(10-14)
- 专用IC解密技术AVR的应用技巧(09-23)
- VHDL设计中信号与变量的区别及应用技巧(02-18)
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)