在Place & Route布局布线流程中双击【View/Edit Routed Design(FPGA Editor)】选项,出现图1所示的界面。在布局布线流程中运行底层编辑器与映射(Map)流程中执行的结果是有区别的,其中包含所有布线的详细信息。
图1 FPGA底层编辑器界面
(1)建立一个新的设计或打开一个原有设计,在建立一个新设计之前,需先关闭已打开的设计。
■在菜单栏中选择【File】→(New】命令建立一个新的设计,在【Design File】文本框中输入demo文件名,选择器件类型为XC3S500E-4-FG320。物理约束文件保留默认路径和文件名,如图2所示,单击【OK】按钮。
图2 建立一个新的底层编辑器文件
■在菜单栏中选择【File】→【Open】命令打开一个己有的设计,输入.ncd和物理约束.pcf文件。在【Edit Mode】选顼组可以选择【Read Only】、【No Logic Changes】和【Read Write】单选按钮。建议选择【Read Write】单项按钮,以便修改。单击【OK】按钮。
■选择【Save】或【Save As...】命令,保存设计或设计宏(.NMC)。
(2)增加或删除元件、网线、引脚及通道。对于需要修改已经存在的设计时,如果不能在【Array】窗口中操作,则选择【File】→【Main Properties...】命令,选择【Edit Mode】选项组中【Read Write】的单选按钮。
■在【Array】窗口中选择一个空位,以便增加一个新的部件。
■选择【Edit】→【Add】命令,在所选择空位上的部件将变成有效(空位的颜色发生变化)。
■将指定的器件引脚增加到网络列表中,在【Array】窗口中选择一个有效的器件引脚。选择【List】窗口后,选择【Edit】→【Add】 :命令,将该引脚添加到列表中。
■删除部件后,该部件将从列表中消失,而且在该部件上的所有网线将失去布线路由。在【Array】窗口中选择一个需要删除的部件,选择【 Edit】→【 Cut】命令,删除部件。
■删除通道(Path)后,所有该通道上的约束也将去掉。选择【List】窗口后,指定需要删除的通道,从右边的用户控制栏选择【Deletel】删除所选内容。
(3)创建和使用宏(Macros)。当增加一个宏时,同时将该宏和宏的库文件例化,并加入到设计文件中。在设计中可以包含多个相同的宏,但需有不同的名称。此外,这些宏只能包含在同一个系列器件中,如Spartan-3E或Virtex-5系列器件。对于相同的宏,可以进行复制。
■建立一个新的宏库文件:选择【File】→【New】选项,可建立一个新的宏。在【Hord Macro File 】文本框中输入“demo_macro”作为文件名,选择器件类型为XC3S500E-4-FG320,
如图3所示,然后单击【OK】按钮。
图3 建立一个宏
■增加—个宏:在【Array】窗口中选择一个空位,该空位必须满足宏的所有条件,宏文件的扩展名为.NMC。选择【Edit 】→【Add Macro...】选项,输入宏的名称和文件名。
■将一个外部引脚加入到宏库文件中:打开一个宏文件,选择【 Edit】→【Add Macro External Pin.】,选项,为宏增加一个引脚。
■在菜单栏中选择【Edit】→【Swap】选项,可以移动宏或部件。
(4)布局和布线(Place & Route)。
■ 自动放置一个部件或宏:在【List】窗口中选择【Unplaced Components】选项,显示未放置的器件。选择【Tools】→【Place,→【Auto Place】选项,将自动布局所选择的器件;如果选择【Tools】→【 Place 】→【Auto Place All...】选项,将自动布局所有的器件
■在【List】窗口中选择【Unplaced Macros】选项,显示未放置的宏。选择【Tools】→【Place】→【Auto Place】选项, 自动布局所选择的宏。
■ 自动布线:自动布线完成新增的引脚、网线、宏及部件之间的连线。首先在【Array窗口选择需要布线的目标,或在【List】窗口中选择【Unrouted Nets】选项。选择【Tools】→【Route】→【Auto Route】选项,将完成自动布线。如果选择【Tools】→【Route 】 →【 Auto Route All】选项,自动完成所有的布线。
在自动布线时,可以选择多个参数,选择【Tools】→【 Route】→【Auto Route Setup…】选项,出现图4所示的【Auto Route Setup】对话框。
图4 【Auto Route Setup】对话框
【Auto Route Design】选项组中的选项用于设计的自动布线,选择【Tirnespec Driven】单选按钮,在自动布线时匹配时序约束。对超出时序约束参数范围以外的路径,将不进行布线;选择【Resource Driven】单选按钮,在自动布线时少用资源,该选项为默认值。【Auto RouteSelection】选项组中选择用于自动布线的细节,如网线、部件及引脚。选择【Delay Driven】单选按钮,在自动布线时选择尽可能快的路径策略;选择【 Resource Driven】单选按钮在自动布线选择少的资源策略,该选项为默认值。
【Allow Pin Swap】复选框用于为自动布线选择是否允许进行引脚交换,以保证更好地利用内部的资源。
■手动布局:在【List】窗口中选择未布局的元件【Unplaced Component】选项,然后选择【Tools】一【Place】→(Manual Place】选项进行手动布局。
■手动布线:手动布线可以实现引脚连线、宏连线和通道布线等,选择连线的源。然后选择【Tools】→【Route】→【Manual Route】选项,完成手动布线。
■ 断开连线:选择需要删除连线,选择【Tools】→【Route】→【Unroute】→【Unroute All】选项删除所选全部连线。
(5)探点(Probes)、逻辑单元(Components)及引脚(Pins)的使用和编辑。
■在【Array】窗口中双击需要编辑的逻辑单元,打开【Block】窗口,如图2-29所示。单击位于窗口右边控制栏中的【editblock】按钮,可以对部件内部的基本单元(LUT、MUX及flip-flop等)、输入/输出标准及出现在窗口中的所有逻辑资源进行编辑。如果选择【Block】窗口中的【F=】图标【Show/Hide Attributes】,将出现函数方程编辑窗口。可以编辑逻辑函数表达式,同样能够修改逻辑内部并设置块存储器的初始化数据。编辑完成后,单击【Apply】按钮。在【Block】窗口中通过不同颜色能够看出内部逻辑资源的使用情况。
图5【Block】窗口
注意:如果需要在底层编辑器中编辑逻辑,布局和布线,需留意编辑模式的设置 【Read Only】模式的设置。【Read Only】模式允许修改和保存,包括逻辑的组合、布线及布局;【No Logic Changes】模式允许布局和布线,但不能允许修改逻辑的组合,添加和删除线,以及重新编辑逻辑单元.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。