安路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 界面中设置每个端口的 Bank、 Location、 PullType、
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

 

BANK和LOCATION的设置:

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

Location,或直接指定 Location, TD 会自动匹配相应的 Bank。 若只选择 Bank,而不
指定
Location 时, TD 会默认为用户选择这个 Bank 中管脚号最小的 Pin 作为这个管脚
的
Location。 Location 还支持直接输入管脚名称, 在 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 提供 LVCMOS、 LVDS、
LVTTL33、
PCI33 供用户选择。其中 LVCMOS 有 1.2v, 1.5V, 1.8V, 2.5V, 3.3V 的电
压可选择。
LVDS为差分对输入输出,当所选的IO端口为输入信号时,只能选择LVDS25,
LVDS33, LVPECL33
; 所选 IO 端口为输出信号时,可选 LVDS25_E, LVDS33_E,
LVPECL33_E
。默认的电平标准为 LVCMOS25(default)。(不同器件的默认电平标准可
能不同,请以各器件的数据手册及实际界面显示为准)

20230916223022514-image

DriveStrength 的设置

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

 

20230916223055456-image

PullType 的设置:

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

20230916223202916-image

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

参数 适用范围 含义 可选值
SlewRate 单端输出 输出压摆率 Slow, Med, Fast
DiffResistor 差分输入 差分端接电阻 100ohm 100, None
PCIClamp 单端输入、输出 PCI 电平标准要求有箝位 ON, OFF
PackReg 输入、输出 将寄存器打包到 pad 中
Auto 表示按照全局设定值
ON, OFF 的优先级高于全局设定值
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 约束说明

ADC(Anlogic 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 150、 200、 250、 350*、 480 0.8、 0.9、 1.2*
EF2 150、 200、 250、 350*、 480 不支持
EF3 150、 200、 250、 350*、 480 0.8、 0.9、 1.2*
AL3 150、 200、 250、 350* 0.8、 0.9、 1.2*

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

2. 单元特性约束
定义如下:
set_inst_assignment {inst_name} {attributes}
Inst_name:
电路的单元实例名, instance 的名字可在生成的网表文件(prj_gate_sim.v)
中查找。
Attributes: 目前仅支持位置约束 Location, location 可以在 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;}

请登录后发表评论