在linux下开发FPGA

更多分享内容可访问我的个人博客https://www.niuiic.top/本文介绍如何在 linux 下开发 FPGA。编译器由于 FPGA 的特殊性,目前只有各商用 IDE 可以胜任整个开发流程。因此,也无需去找开源替代产品。直接使用开发板厂家提供的 IDE 是最合适的。如果该厂家并没有开发 IDE,可以使用 vivado 等较为常用的 IDE。虽然使用 IDE,但是我们只用它来进行编译、下载。仿真与编辑建议使用其他工具进行。原因为目前没有任何 FPGA IDE 可以提供良好的编辑体验,另外像
摘要由CSDN通过智能技术生成

更多分享内容可访问我的个人博客

https://www.niuiic.top/

本文介绍如何在 linux 下开发 FPGA。

编译器

由于 FPGA 的特殊性,目前只有各商用 IDE 可以胜任整个开发流程。因此,也无需去找开源替代产品。直接使用开发板厂家提供的 IDE 是最合适的。如果该厂家并没有开发 IDE,可以使用 vivado 等较为常用的 IDE。

虽然使用 IDE,但是我们只用它来进行编译、下载。仿真与编辑建议使用其他工具进行。原因为目前没有任何 FPGA IDE 可以提供良好的编辑体验,另外像 vivado 这种 IDE 的仿真速度着实有点慢。

编辑器

在 linux 下建议使用 vim/neovim 或者 emacs 进行编辑。退一步可以选择 vscode。

关于 vim/neovim 对 systemverilog 的配置,见另一篇文章

仿真器

使用 gtkwave 作为波形查看器。

使用 verilog/VHDL 的用户可以选择 iverilog 作为仿真器。

iverilog 的仿真速度尚可,个人感觉比 vivado 快不少。关于 iverilog 搭配 gtkwave 的用法只要在网上稍微一搜就能找到,本文不赘述。

systemverilog 用户建议使用 verilator。原因有 iverilog 对 systemverilog 的支持还是不怎么样,另外 verilator 的速度要快的多,其自称是世界上最快的仿真器。

verilator 将 systemverilog 转化为 C++模型,利用多线程 C++进行仿真。因此它的速度很快,但也由于这个原理,用户需要用 C++编写测试文件。

iverilog 和 verilator 是开源世界中最受欢迎的两个仿真器。虽然不太清楚其仿真结果是否会被承认,但其仿真通过的程序用商用仿真软件进行仿真几乎不会出问题。所以大不了最后用商用软件仿真一次出个结果。

下面来看一个案例。

// Demo.sv

module Demo ();
  initial begin
    $display("Hello World");
    $finish;
  end
endmodule

上述代码并不会产生波形。下面编写对应的仿真测试文件。

// sim_main.cpp

#include "VDemo.h"
#include <fstream>
#include <iostream>
#include <verilated.h>
#include <verilated_vcd_c.h>
using namespace std;

// top object pointer
VDemo *top = nullptr;
// wave generation pointer
VerilatedVcdC *tfp = nullptr;

// simulation timestamp
vluint64_t main_time = 0;
// upper limit of simulation timestamp
const vluint64_t sim_time = 1024;

int main(int argc
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值