SpinalHDL入门教程(第二章)【未完成】

SpinalHDL入门教程-第二章

发布者:RedRustacean
阅读时长:4分钟 词数:648

分类: 数字电路

本文是SpinalHDL的详细入门教程之第一章,内容:安装仿真器、修改工程信息、编写第一份Spinal模块。

为何需要仿真器

当我们设计完电路后,如何验证其正确性呢?如果是软件设计,我们会给软件输入样例,然后看返回的结果是否正确;同理,设计好的数字电路在给予输入后也会改变输出引脚的状态。可以说,仿真是数字电路设计中非常重要的一环。这个教程系列一开始的电路并不复杂,但是随着内容增多,我们需要面对更大规模的数字电路,这就需要我们掌握仿真的方法和技巧,以此验证功能的正确性。

仿真主要分为前仿真(Pre-synthesis simulation)和后仿真(Post-synthesis simulation)。“电路综合”是分割“前”和“后”的一个过程,关于这一部分的内容将在以后详细提及,我们接下来主要将重心放在前仿真的一个子集:行为级仿真

安装仿真器

安装仿真器后,Spinal便可以直接调用仿真器。这里我们主要讲解与verilator搭配使用,您也可以参考其它仿真器(如GHDL、iverilog)的文档进行配置,然后在执行仿真时替换为其对应的API。

很多Linux发行版都在仓库中提供了verilator的软件包,这里是verilator的官方安装指南,其中以Ubuntu发行版为例。其它发行版可以用类似的方式安装,例如在Arch Linux下,可以在终端执行sudo pacman -S verilator进行安装。

打开新的终端,执行verilator --version,如果正确输出了版本信息则表示安装成功。

安装波形查看器

我们使用GTKWave查看波形,该软件是跨平台的。这里是GTKWave的官方网站。在Linux平台下,您可以在自己发行版对应的包管理器中安装;Windows平台下,请前往这里寻找对应的安装文件。

生成的波形以文件格式存储在硬盘上,故用于查看波形的平台不必是Linux。

了解目录结构

在上一章中,我们拉取了一份官方提供的模板,里面包含组织好的代码目录、工程信息、生成目录等。我们先看SpinalTemplateSbt下的build.sbt文件,其中包含了工程需要引入的库以及源代码路径。