首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FPGA开发之引脚和区域约束语法

FPGA开发之引脚和区域约束语法




引脚和区域约束也就是LOC约束(location)。定义了模块端口和FPGA上的引脚的对应关系。
那么我们应该怎么写呢?
LOC有固定语法:
INST “instance_name” LOC = location; #location可以是多个合法位置,用逗号隔开。这种多位置约束是在布线的时候布线器选择一个进行布线。
范围定位语法:
INST “instance_name” LOC = location:location[SOFT];
使用LOC完成端口定义语法:
NET “Top_Module_PORT” = "Chip_Port"; #LOC的语句存在优先级,连线具有最高优先级
LOC有较多属性,对引脚约束位置,CLBs,Slice,TBUF,块RAM,硬核乘法器,全局时钟(GCLKBUF0,GCLKPAD0),DLL,DCM等。
LOC的常用定位语句:
INST "instance_name" LOC = P12; #将IO引脚分给实例信号
INST "instance_name" LOC = CLN_R3C5; #将逻辑置于3行,5列的CLB中的任何一个Slice。
别的定位语句也就是把后面的LOC的位置改为MULT18X18_X0Y6(位置为乘法器MULT18X18的xy网格的(0,6)),clb_r4c5.s1,clb_r4c6.*定义的是触发器置于4行5列CLB和4行6列的CLB中最右端的Slice中。
现在再看一下引脚约束文件,发现这个应该有一个专门的做芯片的一个方向,那就是布线。



记录学习中的点点滴滴,让每一天过的更加有意义!
返回列表