zl程序教程

您现在的位置是:首页 >  工具

当前栏目

紫光同创国产FPGA学习之Physical Constraint Editor

学习 国产 FPGA constraint Editor 紫光 Physical
2023-06-13 09:14:30 时间

从紫光的参考书拷贝的。很详细。他们要写那么详细,好辛苦啊。

一、 功能介绍

(一) PCE简介

该文档详细描述了Physical Constraint Editor(以后简称PCE)的使用方法和各项功能。PCE能够对实例和IO进行布局约束、区域约束和I/O设置。 PCE主界面,如图1-1所示。

图1-1 PCE主界面 (二) 启动PCE

打开Pango Design Suite,新建工程,添加add.vm(在FAB安装后所在目录内)。以下两种方式可以启动PCE: 1. 在PDS中打开PCE

(1)点击工具栏的Physical Constraint Editor图标,如图1-2所示。

图1-2 工具栏的Physical Constraint Editor图标 我毛华望QQ849886241,深圳工程师。博客http://blog.csdn.net/my_shar

(2)点击菜单栏“Tools”下的“Physical Constraint Editor(Post-Map)”,如图1-3所示。

图1-3 Tool菜单下的Physical Constraint Editor(Post-Map) 在PDS中启动PCE时,当PDS原工程中没有Physical Constraint File(以下简称PCF)文件时,将弹出输入PCF文件对话框,文本框内容为空,如图1-4所示。

图1-4 PDS中没有PCF文件的Input Physical Constraint File

当PDS原工程中有PCF文件时,则弹出的输入PCF文件对话框的文本框内容为工程中现有的PCF文件,如图1-5所示。

图1-5 PDS中有PCF文件的Input Physical Constraint File 【Add to project.】:可以直接输入需要新建的PCF文件名或者选择已经存在的PCF文件添加到PDS工程中,则点击【OK】按钮后可以将该PCF文件加载到PCE中。如果输入的是不存在的合法的PCF文件名,则会在点击【OK】按钮后在工作目录下创建该名字的PCF文件(可以手动加上后缀.pcf也可以不加后缀,若未加后缀则软件会在新建PCF文件时自动加上后缀.pcf)。如果选择的PCF和工程中原有的PCF文件不一致,那么选择的PCF文件将替换工程中原有的PCF文件,并影响PDS工程的状态。如果文本框为空,【OK】按钮将不可使用(如图1-4)。 【Delete from project.】:将PDS工程中已有的PCF文件移除,打开的PCE不会加载任何的PCF文件。如果PDS工程中没有PCF文件,选择该选项,【OK】将不可使用。 【None.】既不添加也不删除PCF文件,即对PDS工程没有任何影响。如果文本框中有PCF文件,则打开的PCE会加载该PCF文件。 如果选中的PCF文件有error,则会报error,但是仍然可以进去PCE,给用户修改的机会;而在pnr阶段,如果PCF中有error则会报error,并终止flow的执行。 2. 在安装目录下单独打开PCE

点击安装目录下的bin文件夹的phyconstraint_editor.exe可执行性文件启动PCE。通过这种单独启动PCE的方式,需要用户手动选择需要加载的Map DB文件,如图1-6所示。

图1-6 选择需要加载的Map DB文件

二、 菜单工具栏介绍

(一) 工具栏介绍

1. 文件File相关操作

工具栏中File相关操作如图2-1所示。

图2-1 工具栏中File相关操作

图2-1中的File相关操作的介绍如下: Add PCF File:选择需要加载到PCE中的PCF文件。 Open PCF File As Text:在PCE的Text Editor中打开PCF文件 Remove PCF File:从PCE中移除当前正在使用的PCF文件。 Save:将约束保存到PCE的PCF文件中。 Save as:将约束以当前的文件名或重命名保存到指定的目录中,同时在PCE中打开该新保存的PCF文件。 Reset:清空PCE中所有的约束设置。 2. 视图View相关操作

工具栏中视图View相关操作如图2-2所示。

图2-2 工具栏中视图View相关操作

图2-2中由左至右各个按钮代表的操作如下: Design Browser:显示/隐藏Design Browser窗口。 I/O Table:显示/隐藏I/O Table窗口。 TCL:打开/隐藏命令行控制台。 View All:显示完整视图。 Zoom In:放大视图。 Zoom Out:缩小视图。 Previous View:上一视图。 Next View:下一视图。 Region Mode:打开/关闭区域约束模式。 Show Differential IO:在package view中显示/隐藏差分IO。 Search:在Device界面打开device instance搜索框。 (二) 右键菜单介绍

1. 工具栏右键菜单

右键点击工具栏空白区域,会出现如图2-3所示的右键菜单。

图2-3 PCE工具栏的右键菜单 Design Browser:显示/隐藏Design Browser按钮。 I/O Table:显示/隐藏I/O Table按钮。 Fab Command:显示/隐藏PCE Command按钮。 File:显示/隐藏工具栏File相关操作的按钮。 Zoom:显示/隐藏工具栏View All、Zoom In、Zoom Out图标。 History:显示/隐藏工具栏Previous View、Next View图标。 Mode:显示/隐藏工具栏Region Mode图标。 Search Inst:显示/隐藏搜索框按钮。 Show Differential IO:显示/隐藏Differential IO按钮。 2. 标题右键菜单

右键点击标题处,会出现右键菜单,如图2-4所示。

图2-4 PCE标题栏的右键菜单 Close:关闭当前窗口。 Close All But This:关闭除了当前窗口外的全部其他窗口。 Open Containing Folder:打开该PCF文件所在的文件夹。

三、 窗口介绍

以下详细介绍各窗口的功能和使用方法。 (一) 资源浏览器Design Browser

Design窗口分类显示当前所有的实例。主要有Primitives、IO、CarryChain、Group等分类。在Design窗口可查找特定实例和IO,也可以点击类型名称拖动至右侧Floorplan view或Package view窗口进行约束。 Device窗口主要展示硬件上的信息,分为Design、Device、I/O Banks。三种类型下分别为约束的object、硬件上的device、硬件上的I/O。若相应类型的前面状态为被选中,则表示该种类型在floorplan view/package view中显示。若没有被选中,则表示该种类型在floorplan view/package view中不会显示。 Design Browser窗口如图3-1所示。

图3-1资源浏览器Design Browser Design Browser下方为器件缩略图,如图3-2、图3-3分别表示floorplan view和package view的缩略图。用户在进行放大操作时,能在缩略图中观察全局的约束情况,并且鼠标拖动缩略图中的方框,可以移动视角,单击缩略图中任意位置也能迅速定位到该范围。

图3-2 floorplan view缩略图

图3-3 package view缩略图 缩略图同样可以显示约束的相关信息,在floorplan view或package view中约束后,可以在缩略图中查看相应的约束信息,包括区域约束和非区域约束。 (二) Floorplan View

该窗口显示芯片的资源位置,四周为IO资源,中间为逻辑资源。可把实例拖动到当前窗口与其匹配的device中,已约束的位置会高亮显示。取消约束后,恢复默认状态。窗口还可显示区域约束的范围,放入该区域的实例会在自动布局时,布局到该区域内。 点击“view”窗口下方的按钮,可切换窗口,如图所示。

图3-4 view窗口下的窗口切换标签 点击“floorplan view”标签进入相应窗口,如图所示。

图3-5 floorplan view窗口 (三) Package View

该窗口显示芯片的管脚封装位置,可将IO实例约束到该窗口。已约束的位置会高亮显示,取消约束则恢复默认状态。 点击图3-4中“package view”,切换到图3-6,该窗口显示已约束的IO位置。

图3-6 Package View窗口 右键点击该窗口空白处可选择“Package Top View”或“Package Bottom View”,如图3-7所示。

图3-7 package view窗口的右键菜单 (四) I/O Table

该窗口可以对I/O进行设置,如下图所示。

图3-8 I/O Table界面 可设置的选项包括: I/O NAME:显示I/O 名称。 I/O DIRECTION:显示I/O类型,共input、output、inout三种。 LOC:约束的管脚。 BANK:该管脚所在的bank。 VCCIO:IO输入输出电压。 IOSTANDARD:IO标准。 DRIVE:驱动电流。 BUS_KEEPER:设置上拉下拉电阻。 SLEW:转换速率。 HYS_DRIVE_MODE:输入迟滞模式。 VREF_MODE:参考电压VREF模式。 VREF_MODE_VALUE:内部产生VREF和专用VREF输入管脚模式设置。 DDR_TERM_MODE:DDR memory应用输入匹配电阻设置。 DIFF_IN_TERM_MODE:差分输入的输入匹配电阻设置。 OPEN_DRAIN:驱动模式选择。 IODELAY:输入或输出延迟。 CP_IPT:修正poly电流的default值。 CAL_MODE:DDR模式输入内置端接电阻校准功能控制。 DDR_RES:使用校准功能使能时的内置电阻值。 (五) Region

区域约束是指划定某区域,将实例拖至该区域内,后续的布局将保证该实例布局在该区域内。Region窗口如下图所示。

图3-9区域窗口 (六) 窗口关联

floorplan view中的IO和package view中的IO以及I/O Table中IO的约束是一一对应的,当其中一个窗口某IO实例的约束位置改变时,其它窗口会同时改变以保持一致。

四、 详细操作

(一) 搜索实例

在搜索框中搜索支持 “*”(匹配0至多个字符)和“?”(仅匹配一个字符)两种模糊匹配符,并且它们不区分大小写。 举例1:搜索条件输入I*F,搜索结果如下图所示。

图4-1 使用“*”搜索实例 举例2:搜索条件输入I?F,无匹配结果,如下图所示。

图4-2 使用一个“?”搜索实例 举例3:搜索条件输入I??F,如下图所示。

图4-3使用多个“?”搜索实例 (二) 约束实例

在Design Browser中点击某实例名,例如T_GTP_INV/opit_5,按住鼠标左键,拖至floorplan view上某位置,若约束成功,则该位置资源高亮,实例名前图标消失,如图4-4所示。

图4-4 约束实例 (三) 查看已约束实例

如果要查看已约束的实例的放置位置,可以在Design Browser中点击该实例的名称,然后可以看到右侧floorplan ciew中该实例会高亮显示,如图4-5所示。

图4-5 查看已约束的实例 (四) IO约束

1. 在floorplan view/package view窗口约束IO

在Design Browser中点击某IO的名称,例如LUT_INIT[4],按住鼠标左键,拖至floorplan view或package view的某个pin脚中,若约束成功,则该位置资源高亮,实例名前图标消失,如下两图所示。

图4-6 将IO拖放到floorplan view的IO Device中

图4-7将IO拖放到package view的pin脚中 2. 在I/O Table中约束IO

通过点击工具栏的I/O Table按钮打开I/O Table窗口,如图4-8所示。点击任一栏的Loc的空白处,可以手动输入合法管脚或从下拉列表中选择需要约束的管脚,Bank栏自动显示该管脚所属的bank,同时与Loc关联的其他项也会给出默认值,点击给出默认值的列可以打开下拉列表,并且可以从下拉列表中选择需要设置的值,如图4-9所示。

图4-8 I/O Table窗口 IO Table中的入口输入是Loc,必须要先给出位置信息,后面的才可以编辑。其中一旦Loc确定了,Bank也会确定,同时给出默认的VCCIO电压值和默认的IOSTANDARD标准值。IO Table中所有的列若是可以编辑,点击了之后就会出现下拉框。

图4-9 Loc设置举例 其中,需要注意的是:若一个Loc位置已经被一个port占用了,则其他的port不再可以选择此Loc位置。Loc中输入的位置信息对大小写不敏感,但是若是输入有误,则返回之前正确的Loc值。 同一个Bank中的VCCIO电压值是一致的,若是改变其中任何一个电压值,其余的也都会跟着改变;对于某一个port,其所在的Bank若是已经设置了VCCIO电压值,则默认设置已有的电压值。示例如图4-10所示。

图4-10 同一Bank中VCCIO值一致 设置有Delay的design,则IODELAY列才可以编辑,如图4-11所示。

图4-11 包含IODELAY的输入 其中,IODELAY输入合法值为0到127的整数。 对于差分IO(Diff IO),因为是成对出现的,所以在设置值时,若是设置其中一个,另外一个也会跟着一起设置,并且除了Loc不同,其他项的值均一致。如图所示:

图4-12 差分IO约束 其中INVOUTCO与INVOUTCOB为一对差分IO对。 (五) 区域约束

1. 通过Region窗口进行新建区域和区域约束操作

打开Region窗口,在空白处打开右键菜单,如图4-13所示,右键菜单包括New Region、Delete Region和Show Region Info选项。

图4-13 New Region (1)点击New Region选项,出现新建区域编辑框,如下图所示。

图4-14 约束区域编辑框 新建区域编辑框包括: 【Name】:region名称,可修改。 【XMin(xx-XMax)】:区域左边框横坐标。 【XMax(XMin-xx)】:区域右边框横坐标。 【YMin(yy-YMax)】:区域下边框纵坐标。 【YMax(YMin-yy)】:区域上边框纵坐标。 (2)输入区域范围相关值,点击OK后,如下图所示。

图4-15 区域范围 (3)先点击工具栏的Region Mode按钮进入region模式,然后从Design Browser中将一个instance拖放到region1区域内,约束成功,如下图所示。

图4-16 region1区域 2. 进入Region模式后进行新建区域操作

(1)点击工具栏的Region Mode按钮进入Region模式,如图4-17所示。

图4-17 点击Region Mode按钮进入Region模式 (2)在floorplan view中右键点击可以看到draw region命令,然后可以直接在PCE中利用鼠标选择区域来指定约束区域,如下图所示。

图4-18 指定约束区域 鼠标选择区域之后会出现命名提示框,如下图所示。

图4-19 区域命名提示框 3. 查看区域信息

选中某一区域,点击右键菜单中Show Region Info可以查看区域中包含的device信息以及区域中使用的device信息,如下图所示。

图4-20 Region Info (六) 取消约束

1. 在Design Browser中取消约束

在Design Browser窗口选中已约束的instance,打开右键菜单,选择“Undo constraint”,如下图所示,则可以取消约束。

图4-21取消约束 2. 在floorplan view/package view中取消约束

在floorplan view或package view上选中已约束的资源,拖回至Design Browser窗口内或在floorplan view和package view中点击右键菜单的Undo constraint选项,都可以取消约束。 (七) 改变约束位置

1. 改变单个已约束instance的位置

在floorplan view或package view上选中已约束的资源,将其拖放到其它可约束的位置。 2. 改变多个已约束instance的位置

按住Ctrl键,选择多个已约束的instance,将其拖放到其它可约束的位置,如下图所示。若某实例已被选中,按住Ctrl键单击该实例可取消选中。

图4-22选择多个实例 (八) 重新加载 Design DB/PCF

当载入进PCE的Design DB或者PCF文件在外部发生变化后,PCE界面将提示是否reload,如下图所示。

图4-23重载提示 点击“Yes”按钮,将把被改动后的文件(Design DB或者PCF)重新加载到PCE中并替换原来的文件,选择“No”按钮,将不把被改动后的文件重新载入到PCE中。 如果被改动的是Design DB文件,当Design DB文件重新加载失败时,将提示Design DB加载失败,如下图所示。点击“OK”按钮后,PCE将退出。

图4-24重载失败提示 (九) TCL命令的使用

PCE的控制台目前支持的命令有:constraint、unconstraint、region、save、select和editor。 1. 约束相关

(1) constraint命令 constraint –design_instance –grid_dev_instance [-prim_dev_instance] 或者 constraint –design_instance [–region] 中括号内容表示可选设置项。 示例: constraint –design_instance aaa –grid_dev_instance CLMA_5_4 constraint –design_instance aaa –grid_dev_instance CLMA_5_4 FGA constraint –design_instance aaa –region region1 constraint –design_instance aaa –region (2,4,5,9) 上面的四条命令用于约束操作。其中第四条命令并未指出region name,而是给出一个坐标系,PCE会根据该坐标系创建一个region,坐标系必须为“(xmin,xmax,ymin,ymax)”这种格式,创建的region name按照region1、region2的顺序递增。 (2) unconstraint命令 unconstraint –design_instance 上面的这条命令用于取消约束。 需要注意的是:若要将design_instance约束到region区域,必须在Region Mode下才能成功。如果design_instance名字中包含‘[’和‘]’字符,则需要使用‘{ }’将整个design_instance名字括起来,多个design_instance名字之间使用‘;’进行分割。 2. Region相关

region命令可用于进入或退出Region模式,也可用于创建或删除region。 (1)创建region的命令 region –create –name –value 上面的命令用于创建一个region,需要给出region name以及想要在哪个坐标区域(xmin,xmax,ymin,ymax)创建该region。value参数的第一个值为x坐标的开始值,第二个参数为x坐标的结束值,第三个参数为y坐标的开始值,第四个参数为y坐标的结束值。开始值必须小于等于结束值,且都必须为整数。 (2)删除region的命令 region –delete –name 上面的命令用于删除一个region。需要指定将要删除的region name。 (3)进入Region模式的命令 region –in 上面的命令用于进入Region模式。 (4)退出Region模式的命令 region –out 上面的命令用于退出Region模式。 3. 保存PCF文件相关

(1)保存PCF文件的命令 约束完毕之后可用该命令进行约束文件保存。 命令格式: save_constraint –file_name <PCF file name> (2)注意事项 1)如果当前PCE窗口已有PCF文件,则指定的PCF路径被自动忽略,保存到当前PCF文件中。不管用户是否制定详细文件路径,都会给出提示信息,告诉用户将改动保存到了当前PCF文件中。 2)如果当前PCE窗口没有PCF文件,则输入不同类型的命令会得到以下不同结果: ①只输入save_constraint,将在当前工作目录下默认保存为placement.pcf文件。 ②输入保存PCF文件的路径为相对路径时,将在当前工作目录下创建该相对路径并保存。 ③只输入后缀“.pcf”,没有文件名,将会给出提示信息,告诉用户要以正确的格式保存。 ④输入的PCF文件的后缀名(.pcf)不对,将会给出提示信息,告诉用户要以正确的格式保存。 ⑤如果保存的路径或者文件名中有非法字符时,将会给出提示信息,告诉用户要以正确的格式保存。 3)如果给出的绝对路径不存在或者在创建路径的时候失败,则将PCF保存到当前工程所在目录下。 4. Select命令相关

使用select命令可以选择device_instance或者design_instance进行定位。 命令格式: select –dev_instance 或 select –design_instance eg: select -design_instance aaa select -dev_instance CLMA_5_4

5. Editor相关

在PCE中editor只能用来退出PCE,具体命令为:editor –exit。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179522.html原文链接:https://javaforall.cn