FPGA设计_逻辑锁定(logic lock)的简单使用

关注、星标公众号,直达精彩内容

来源:https://zhuanlan.zhihu.com/p/400351795

背景说明

当设计中模块较多时,可能会出现增加一些逻辑,或者增加一个模块后,先前正常的模块工作出现错误的情况,当注释掉增加的逻辑或模块时,先前的模块又恢复正常,这很有可能是增加逻辑前后软件布局布线不一样导致的。

最近遇到一个情况是,在调试过程中添加了probe and source IP核去观察一个新写的模块的输出数据,全编译后,用ISSP观察数据是正常的,于是注释掉probe and source IP核,再全编译,然后固化到器件中,结果测试时发现输出数据不对,反复验证了多次,发现情况都是这样。后来发现是增加和去除该IP核前后,软件的布局布线不一样的原因导致的。

解决方法

添加probe and source IP核后,模块的布局布线位置如下(chip planner中查看):

2554e2a660c39745b15f3da72d1878b3.jpeg

红色区域为probe and source IP核的布局位置,紫色区域为lm75模块布局位置。

注释掉probe and source IP核后,再查看布局情况:

f1f606f4a95aa1e9e0e1c5af6a6a3fcf.jpeg

可以看到,lm75模块的位置发生了变化,为了使lm75模块工作正常,现在退回到有probe and source IP核的情况,给lm75创建逻辑锁定(logic lock),

179a0f4df255f841318c9994df6d7ad3.jpeg

由于lm75模块的布局是分散的,我们让软件自己来规划区域锁定

00f6a731f57c88754e65157f04e6cb16.jpeg

全编译,查看布局情况

20295b9d47b03547b92102be0b559fb7.jpeg

可以看到quartus软件帮我们创建了一个逻辑锁定区域,这个区域的state是floating模式,说明该区域是可以浮动,如果不想后续布局布线时该区域移动,则可以修改为fixed模式,如下:

07700d9be2d7e05de77b35435ad4819a.jpeg

下载程序调试后,功能正常,注释掉probe and source IP核后,lm75布局没有变化,下载程序调试后,功能正常,其他模块的功能经测试后也是正常的,说明逻辑锁定是有效果的。但是这里并不能保证对其他模块的逻辑布局的影响,以及对整体性能的影响,只能说在现阶段可以解决笔者遇到的问题,故记录一下。

‧  END  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值