时间:2024-07-29 来源:网络搜集 关于我们 0
FPGA课程常见问题及答案汇总
在开展FPGA课程的时候,陆陆续续收到了许多同学的问题,特地在此开文汇总一下热门的问题和答案。希望能对你们有所帮助。
01
Modelsim破解
02
Gowin下载哪个版本
Gowin找到你对应系统的最新版本下载就好了
03
Vivado更新
暂时不更新到18.2版本以上,18.2.2可以选择更新,也可以不选择更新。我们工程都是不更新版本的。
04
Vivado安装后无法加载License
View License Status没有License清单
请注意加载license是将license是否拷贝进入了含中文或特殊字符的目录中.
05
Gowin如何设置顶层
06
管脚分配不上什么原因
一般是两个问题:1、module的名称和编辑的网络端口名称不一致。2、工具识别的top module与我们分配管脚的 目标module不一致。
解决方法是检查top module设置,如有差别,按问题5修改;如果top module与设计一致,对比top module中的Port name和管脚约束中的port名称是否一致。07
在vivado中未找到D24管脚分配
此管脚为PS(ARM)的专属管脚,PL(可编程逻辑)部分无法分配这些管脚。
08
asynchronous assert、
syncchronous deassert
的概念不清楚?
此问题涉及到的知识点有:同步复位,异步复位,异步置位。
FPGA是一个同步系统,所以推荐在外部按键等进行异步复位的情况下,我们通常推荐将这一类复位进行同步后在做复位,这应该是网上说的asynchronous assert和syncchronous deassert。
关于复位有很多讨论和争论,但是个人认为几点是需要注意的:
1、讨论复位一定要和器件相关,也就要对应相应的硬件,离开硬件讨论这个问题没有意义,看FPGA底层硬件的结构,FPGA内部的Block RAM或者DSP48E等,不同厂家的器件,由于硬件的差异,有些是异步,有些是同步的,因此要视硬件而定
2、Xilinx官方推荐在状态机设计应该尽量使用同步复位
3、尽量不使用复位,如果没有必要的情况下;DSP资源和Block RAM应该尽量使用同步复位
4、千万注意不要在一个系统中又使用同步复位,又使用异步复位;这样会大量浪费FPGA资源,这个和FPGA的CLB结构有关,CLB中有介绍
5、最后,大多时候使用同步复位或者异步复位不会对系统造成太大影响,尤其是你时钟单一,主频不高的情况。
09
单BIT跨时钟域报时序违例怎么处理
Vivado的策略默认所有的时序分析都是同步的,所以在系统中有跨时钟域设计的时候,工具会分析跨时钟的路径,在策略上工具会不停的优化布线满足你的设计要求,从而需要很多时间。
所以在跨时钟域的时候,如A时钟域到B时钟域的路径,我们通常将时钟进行分组,分别进行时序分析,如A和B域,并把A和B之间设置成伪路径set-faulse,让工具不去分析,从而减少布局布线时间。
10
硬件上下拉作用,何时做设置
上下拉通常是为了维持总线上空闲状态保持一个固定的电平,有些总线本身需要上下拉,如果外部硬件没接,就需要配置上拉