FPGADesigner《Vivado使用技巧系列》学习整理

近期有整块时间,准备将博主FPGADesigner的《Vivado使用技巧系列》系统地整理一遍,筛选适合自己的,以备使用。
感谢博主的无私分享,附上原文链接:
————————————————
版权声明:本文为CSDN博主「FPGADesigner」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/FPGADesigner/java/article/details/80926639

Vivado使用技巧(1):使用Tcl在Shell中进行FPGA开发
1.使用Tcl的好处是每一个命令都有一个具体的操作,可以通过添加和修改属性的方式控制设计过程中的每一步。
2.生成的报告都会有一个“rpt”前缀,利于查找;

Vivado使用技巧(2):封装自己设计的IP核
1.养成良好的封装IP核的习惯,特别是保存路径;
2.封装参数(位宽)可调的IP核。
封装参数可配置的IP核
VIVADO中封装基于AXI4_LITE总线接口IP核注意事项

Vivado使用技巧(3):Force Up-to-Date功能
1.每个综合或实现都有一个NEEDS_REFRESH属性,当综合/实现完成时,该属性为False,即不需要更新。当我们修改了设计中的源文件,Vivado会检测到文件时间戳的更新,便会将该属性置为True,同时状态更改为“Out-of-date”,表示需要更新设计。
2.在需要更改状态的综合/实现上右键->Force Up-to-Date,该命令会将NEEDS_REFRESH属性置为False,从而状态修改为Complete,免去重新运行的麻烦。

Vivado使用技巧(4):查找功能详解
Find in Files/Replace in Files:即通常意义上的查找/替换功能,在文件中搜索指定字符串;
Find:在导入了一个设计之后,用于查找该设计或器件中的对象。
Find使用情况比较复杂,主要是需要对Xilinx FPGA内部的资源、硬件结构等知识具有一定的了解。使用Find需要先打开一个设计(Open Elaborated Design、Open Synthesized Design或Open Implemented Design),Find功能会在打开的设计和器件中查找指定的对象。

Vivado使用技巧(5):属性编辑器的使用
在选中文件、单元、设计或I/O时,属性窗口(Properites)中都会显示相关属性。修改单个文件的属性时直接在该属性窗口中修改即可,但当我们需要批量修改多个对象的属性时,就需要借助属性编辑器(Property Editor)。

Vivado使用技巧(6):Messages窗口管理
Vivado IDE中的Messages窗口是很常用的一个窗口,按类别呈列着Vivado运行过程中产生的消息,包括errors、critical warnings、warnings、info、status。其中的信息数量往往非常多,本文将介绍Vivado提供的对消息的管理方式。
1.设置Suppression属性
每条消息都可以设置其状态为Suppressed或Unsuppressed(默认)。设置为suppressed状态可以在Messages窗口中隐藏该消息,即可认为是不被设计者所关心的。
2.设置消息的Severity
我们可以根据自己的需求更改消息的重要等级(Severity),比如除了status的消息都可以提升到error等级;critical warning和warning可以降级为普通的消息(error不可降级)。

Vivado使用技巧(7):使用IP核自带Testbench进行仿真
Vivado中IP Catalog内的大多数IP核都提供了一个TestBench,用于单独仿真该IP核。在设计中可以使用这个TestBench来仿真测试IP核的功能是否正确。在产生IP核的输出文件时,可以看到该IP核是否包含TestBench.
1.在Sources窗口的Hierarchy标签下,在Simulation Sources文件夹中打开IP核的层次结构(点击前面的小箭头,或右键->IP Hierarchy->Show IP Hierarchy),TestBench文件名格式为tb_ipname。
2.虽然VIVADO自带的仿真文件是VHDL的,但是可以学习里面输出打印等功能。

Vivado使用技巧(8):Core Container打包IP核
XCI文件和XCIX文件仅仅是在磁盘上的存储形式不同(前者是一个文件夹,后者是一个文件),但是在Vivado中的表现形式完全相同。因为Vivado可以解析XCIX文件,所以在IP Sources中也可以看到与IP核相关的所有单独文件。

Vivado使用技巧(9):COE文件使用方法
1.COE文件是一种ASCII文本文件,文件头部定义数据基数(Radix),可以时2、10或16。数据以向量的形式给出,每个向量以分号结尾。Vivado会解析COE文件格式,并在生成IP核时导出相关的MIF格式文件,用于行为级仿真。
最好将COE文件放在与使用此文件的IP核同目录下(即与XCI文件同目录),这样在使用Core Cotainer打包IP核时也会将COE文件打包到XCIX文件中。当替换COE文件时,必须要删掉旧的COE文件,否则也会传递到工程的综合过程中;需要注意,如果只是在磁盘上删掉了文件,而不是在工程中移除,会导致报告一个error。
1.Block Memory COE File

; This .COE file specifies the contents for a block memory of depth=16, and width=4.
memory_initialization_radix=2;
memory_initialization_vector=
1111,
1111,
1111,
1111,
1111,
0000,
0101,
0011,
0000,
1111,
1111,
1111,
1111,
1111,
1111,
1111;

2.FIR COE File

; Example of a Distributed Arithmetic (DA) FIR Filter .COE file
; with hex coefficients, 8 symmetrical taps, and 12-bit coefficients.
Radix = 16;
CoefData= 346, EDA, 0D6, F91, F91, 0D6, EDA, 346;

Vivado使用技巧(10):编辑与改写IP核源文件
有些时候,根据设计需求可能会想要修改IP核生成的源文件(只能修改未加密文件),包括HDL文件和XDC约束文件。 这种修改不能直接修改源文件,因为在后续设计流程中,IP可能会复位或重新生成,导致修改操作被复原。本文将介绍编辑与改写IP核源文件的方法,不过仍然需要注意两点:
1.某些IP核包含其它的层次化子IP核,这类IP核源文件不可修改;
2.IP核的Core Cotainer特性必须被禁用。

总而言之,修改IP核的源文件是一件很危险的事,因为可能会导致IP核不能正常工作。修改之前要确保自己的设计目标;修改后要验证IP核的功能准确性。

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值