如何搭建FPGA开发工具链以实现高效编程?

摘要:title: FPGA开发工具链和调试技巧 date: 202536 11:52:25 cover: true mathjax: false summary: FPGA开发工具链和调试技巧的一些笔记 categories: Note t
补档声明 由于我的博客服务器和备案到期,所以选择转移到博客园平台来进行保存和记录。以后也有可能会在上面不定期更新一些技术类博客。 前言 一些小笔记,让人快速搭建起FPGA开发工具链,提高开发效率的方法。 工具链搭建 QuestaSim联合Vivado进行仿真 由于VIVADO自带的仿真有一定的局限性,比如速度比较慢以及视图内容不够全面,所以大家一般会用其他的专业仿真工具来承担仿真的任务。 1.安装并破解QuestaSim,这个网络上有很多教程 QuestaSim24.1链接: https://pan.baidu.com/s/1XckFnuW6j5c2oipXrjhuAQ 提取码: 96xp 2.把Vivado自带的库模型编译一下 3.VIVADO中的settings有关仿真的部分改到questasim 指定库模型路径,最好勾选log_all_signals来保证可以随时查看所有的信号,否则的话没有一开始添加到窗口中的信号是不会被记录的。 4.然后就可以直接通过点击VIVADO的Run Simulation来启动QuestaSim了 QuestaSim小技巧快捷键 在波形上Tab: 跳转到下一个变化点 Shift+Tab:向左查找上一个跳变沿 Ctrl+鼠标左键拖动: 放大所选区域 F: 波形正好铺满屏幕 C:放大波形 X:缩小波形 (这个需要自己设置一下) Ctrl +鼠标滚轮:波形的放大缩小 L:缩放至上次 R: 按照范围缩放 方向键:上下左右滚动(以行为单位) 翻页键:上下滚动(以页为单位) Ctrl+左右方向键:左右滚动(以页为单位) 使用VSCode开发Verilog,包含语法检查,自动格式化,定义速览 没人乐意使用VIVADO自带的代码编辑器,稀烂的字体和瞎眼的白屏以及几乎没有的语法检查,所以大家一般都是用sublime或者vscode。而由于vscode插件众多和便于多电脑之间的配置同步,那必然还是使用VSCode。 安装VSCode,在Vivado工程设置中把Text editor设置为VSCode,使用如下参数,这样就可以直接从Vivado中调出VSCode cmd /S /k "code -g [file name]:[line number]" 把Vivado的语法检查器加入系统路径,在Verilog插件的设置中把linter设置成xvlog,然后每一次保存后如果有错误就能看到语法检查的提醒 安装SystemVerilog and Verilog Formatter格式化工具插件,在扩展设置里输入如下参数,第二栏使用win64的版本 --indentation_spaces=4 --named_port_alignment=align --port_declarations_alignment=align --module_net_variable_alignment=align 然后就可以右键,格式化文档,用这个插件,对代码进行格式化 安装Ctags以支持变量定义快捷查看和跳转 先下载Ctags的https://github.com/universal-ctags/ctags-win32/tree/2020-09-15/23d50b5d 放到系统路径中,在VSCODE中的Ctags Path添加'ctags' 安装CTags Support插件 然后在工程文件夹下使用CMD终端输入ctags -R -f .tags 重启VSCode,现在把鼠标放在信号上就能看到定义了 按Ctrl然后点击信号就能跳转到定义 右键快速查看,速览定义就能直接对信号定义做出修改 调试技巧 在Vivado 综合为 Verilog "include" 文件定义正确的路径 有些时候我们的一些define需要在工程的各处被引用,所以需要进行全局的include来保证仿真器了解全局定义,否则的话编辑器只会检查同文件夹下的定义。 1.文件属性里设置成Global include 2.在Setting里搜索include可以找到工程Setting下的编译文件的位置 使用markdebug的方法将信号添加到ILA中 一种相对方便快捷的将要查看的信号添加到ILA中的方法,不用调用ILA IP核,每次都要修改。也更容易修改每个信号所对应ILA时钟域,一键产生多个对应的ILA。
阅读全文