安路TangDynasty(TD)进行IO约束管脚锁定的两种方法-Anlogic-安路社区-FPGA CPLD-ChipDebug

安路TangDynasty(TD)进行IO约束管脚锁定的两种方法

 

GUI界面约束方法

界面约束方法易上手,但效率较低。有两种方式可以打开设置 IO 约束的界面:(必须完成 Syn Opt Read Design 才可
打开,否则处于置灰状态)
1. FPGA Flow 面板中,展开 User Constraints,双击 IO Constraint

20230916222238176-image

 


2. 在菜单栏中展开 Tools,双击 IO Constraint

20230916222258560-image

在已打开的 IO Constraint 界面中设置每个端口的 BankLocationPullType
IOStandard
参数。
IO 界面配置属性如下表所示

20230916222407706-image

芯片封装为 BGA256 时, IO 约束的配置界面如下图所示

20230916222425126-image

各形状中的红色小点表示该 IO 端口已被占用。 鼠标停留在 IO 某一端口时,会有浮
窗显示该端口的信息,并有白色边框将其所在
Bank 显示出来。

20230916222449617-image

用户还可以通过界面左侧的 Pin Resource Pin Characteristic 来区分 Bank,勾选后
显示出的各种颜色如下图所示。其中,红色: 时钟、品红色:电源、 灰色:接地,这三
种类型的端口不属于任何
Bank。 左上角的红色原点对应芯片上的小凹点,表示芯片引
脚的起始点。

20230916222508533-image

其中短斜线表示差分对,如上图中的 B1 (positive) F3 (negative)。 若选择 B1
IOStandard 属性为 LVDS25,则 TD 自动分配相应的差分对管脚 F3(negative)F3
IOStandard 属性也为 LVDS25, 如下图的 beep 对应的差分信号为 beep(n)

20230916222518579-image

当芯片封装为 LG144 时, IO 约束配置属性如表 4-1,配置界面如下图:

20230916222533943-image

 

BANKLOCATION的设置:

芯片封装不同时, 管脚数和管脚名称不同, Bank 数也不同,以 Anlogic AL3-10
列为例,
IO 管脚共分为 8 Bank。管脚位置设置时可先指定 Bank,再指定 Bank 中的

Location,或直接指定 LocationTD 会自动匹配相应的 Bank。 若只选择 Bank,而不
指定
Location 时, TD 会默认为用户选择这个 Bank 中管脚号最小的 Pin 作为这个管脚
LocationLocation 还支持直接输入管脚名称, 在 Location 处双击并输入需要的管
脚名称,
TD 同样会自动匹配相应的 Bank

20230916222648534-image

当指定 Location VirtualIO 时,则该 Port 被指定到了一个非物理 IO,不属于任何
Bank,在综合布线时,也不会为其分配任何 IO 资源, VirtualIO 的所有电平参数都不可
设置。 界面支持一键设置
VirtualIO 功能,点击左上角

20230916222734570-image

按钮,会自动给未分配管脚
Port 分配成 VirtualIO
此外, 界面支持拖拽功能,点击选中一个
Port Name,并拖拽至上方图形界面处想
要分配给该
Port Location。完成拖动后,该 Location 出现红点,下方 Port location
信息也会相应变化。

20230916222803980-image

20230916222816490-image

IOstandard 的设置:

IOStandard 设置 IO 端口的电平标准。每个 Bank 都可以随意设置为支持该器件的
电平标准,不同的电平标准在同一个
Bank 中的电平要一致。TD 提供 LVCMOSLVDS
LVTTL33
PCI33 供用户选择。其中 LVCMOS 1.2v1.5V1.8V2.5V3.3V 的电
压可选择。
LVDS为差分对输入输出,当所选的IO端口为输入信号时,只能选择LVDS25
LVDS33LVPECL33
; 所选 IO 端口为输出信号时,可选 LVDS25_E, LVDS33_E
LVPECL33_E
。默认的电平标准为 LVCMOS25(default)。(不同器件的默认电平标准可
能不同,请以各器件的数据手册及实际界面显示为准)

20230916223022514-image

DriveStrength 的设置

DriveStrength 设置 IO 端口的驱动能力。不同电平标准的驱动能力不同,如
LVCMOS25 的驱动能力为 4,8,12,16,单位为 mADriveStrength 的值越小,表示驱动能
力越弱,
DriveStrength 的值越大,表示驱动能力越强。

 

20230916223055456-image

PullType 的设置:

PullType 设置 IO 端口的上拉类型。PullType 共有四种选择: PULLUPPULLDOWN
NONEKEEPER
。 数字电路有三种状态:高电平、低电平和高阻状态。当输入为无效
信号的时候,可以通过上拉(
PULLUP)电阻和下拉(PULLDOWN)电阻的方式使其处于
稳定状态。当选择
(KEEPER)时, 使电平保持为上一个有效值。当 IO 端口设为 LVDS
时候,
PullType 只能设为 None

20230916223202916-image

其他电平参数的含义及适用范围如下表所示:

参数 适用范围 含义 可选值
SlewRate 单端输出 输出压摆率 Slow, Med, Fast
DiffResistor 差分输入 差分端接电阻 100ohm 100, None
PCIClamp 单端输入、输出 PCI 电平标准要求有箝位 ON, OFF
PackReg 输入、输出 将寄存器打包到 pad
Auto 表示按照全局设定值
ONOFF 的优先级高于全局设定值
Auto, ON, OFF
InDelay 输入 调节输入延时 实际延时取决于芯
片及
IOB 的类型
OutDelay 输出 调节输出延时 实际延时取决于芯
片及
IOB 的类型

Back Annotation 反标功能:

若工程中不存在或未完整设置 adc 文件, IO Constraint 界面支持 back annotation
标功能。在
FPGA Flow 界面直接将工程运行至 Optimize Placement,打开 IO Constraint
点击界面左上角的反标按钮,会自动给未分配管脚的
Port 分配 Location, 界面上方相应
location 位置会显示红点, 界面下方的 Location 信息显示为蓝色。
当所有设置都完成后,用户可单击左上角的保存按钮,输入文件的名称,单击保存,
此时界面下方的
Location 信息显示为变为黑色。

20230916223355663-image

当所有设置都完成后,用户可单击左上角的保存按钮,输入文件的名称,单击保存。
若工程中已添加
adc 文件,打开 IO Constraint 界面时,会读取 adc 文件中的信息,更改
设置后进行保存,将直接更新
adc 的内容。若工程中没有添加 adc 文件,保存后,将直
接在工程中添加
adc 文件。

20230916223424127-image

 

文本约束方法

适合对ADC语法比较熟悉的用户,适合大量管脚批量约束,可以进行编辑粘贴,配合编辑器的列功能简直无敌了。

新建 ADC 文件

1. 点击新建按钮

20230916221522685-image

 

, 在新打开的窗口中输入 ADC 命令

20230916221535774-image

2. 点击保存20230916221641647-image

按钮 , 将文件路径设置在项目目录下,文件名为 demo.adc, 然后单击
保存。

添加 ADC 文件

1. 右键单击 Hierarchy Navigation 面板中 Project 里的 Constraints, 选择 Add
ADC File
, 选择 demo.adc, 打开。

20230916221750368-image

或者通过双击 FPGA Flow 面板中 User Constraints 下的 Add ADC File, 选择
demo.adc,点击打开。 必须完成 Syn Opt Read Design 才可打开,否则处于置灰状态。

20230916221801913-image * 工程中支持对一个constraint_1中添加多个adc文件, 当添加一个新的adc文件时,
之前已添加的文件会被默认设置为
disable, 即最后添加进工程的adc文件为enable。 可
以通过右键选择
File Properties更改adc文件的enable/disable属性。

20230916221818103-image

ADC 约束说明

ADCAnlogic Design Constraint)文件作为 TD 软件的用户物理约束文件,包含由
用户指定的各类管脚及单元物理信息相关的约束。
1. 管脚特性约束
定义如下:
set_pin_assignment {pin_name} {attributes}
Pin_name:
电路的管脚名
Attributes: 各类物理相关的属性,目前可支持的约束有 BANK, LOCATION,
IOSTANDARD, DRIVESTRENGTH, PULLTYPE, PREEMPHASIS,
SLEWRATE, DIFFRESISTOR, PCICLAMP, PACKREG
10 种。其中,
对于位置约束(
LOCATION),将检查目标位置是否合法,以及是否有多
个管脚被分配至同一位置,一旦添加了
ADC 文件,要求为所有管脚锁
定位置。
注:
PreEmphasis 预加重技术,是一种在发送端对输入信号高频分量进
行补偿的信号处理方式,能有效提高输出信噪比。只有
LVDS 输出时需
要加上,
LVDS_E 是模拟 LVDS 输出,没有预加重的设置。
格式范例:
> set_pin_assignment {sys_clk} {LOCATION=P23; IOSTANDARD=LVCMOS18;
DRIVESTRENGTH=4; PULLTYPE=PULLUP; SLEWRATE=MED; PCICLAMP=ON;
PACKREG=ON; OUTDEL=1;}

IO 特性设置参数

PAMERATER VALUE
BANK BANK1, BANK 2, BANK 3, BANK 4, BANK 5, BANK 6, BANK 7, BANK 8
LOCATION 芯片封装不同,管脚数和管脚名都不相同
IOSTANDARD LVCMOS12,LVCMOS15,LVCMOS18,LVCMOS25,LVCMOS33,LVDS25,
LVDS25_E, LVDS33, LVDS33_E, PCI33, LVTTL33,
LVPECL33, LVPECL33_E
DRIVESTRENGTH 2, 4, 8, 12, 16, 20, NA
PULLTYPE PULLUP, PULLDOWN, NONE, KEEPER
SLEWRATE FAST, MED, SLOW
DIFFRESISTOR 100, NONE
PCICLAMP ON, OFF
PACKREG AUTO, ON, OFF

注: IOSTANDARD 具体支持以各系列芯片的数据手册为准。
对于有差分对输出
VCM VOD 设置需求的用户,需要在 ADC 文件中手动设置
VCM VOD 的具体数值,格式范例如下:
> set_pin_assignment {sys_clk} { LOCATION = A3; IOSTANDARD = LVDS33; VCM
= 0.8; VOD = 350m }
VCM
VOD 设置只针对 LVDS25 LVDS33,其他电平不支持。不同器件对于
VCM VOD 的设置不同,各个器件可设置的具体参数值如表 9-2 所示。

9-2 各个器件参数范围表

Device VOD(mV) VCM(V)
EG4 150200250350*480 0.80.91.2*
EF2 150200250350*480 不支持
EF3 150200250350*480 0.80.91.2*
AL3 150200250350* 0.80.91.2*

注:(1)不建议将 VOD 设置为 480mV。(2*表示软件默认值, VOD 默认值为 350mVVCM
认值为
1.2V。(3VCM VOD 设置需根据上表中给出的具体数值设置,超出上表范围不支持。

2. 单元特性约束
定义如下:
set_inst_assignment {inst_name} {attributes}
Inst_name:
电路的单元实例名, instance 的名字可在生成的网表文件(prj_gate_sim.v
中查找。
Attributes: 目前仅支持位置约束 Locationlocation 可以在 Chip Viewer 中查找。 Chip
Viewer
的详细使用手册,请参考该文档的 8.2 Chip Viewer 章节。
格式范例:
> set_inst_assignment {PLL_INST1} {location = x34y37z0;}
> set_inst_assignment {PLL_INST2} {location = x0y0z0;}
> set_inst_assignment { _al_u451|lcd/lcd_rs_reg} {location = x21y17z1;}

请登录后发表评论