实验背景
在《Github_以太网开源项目verilog-ethernet代码阅读与移植(一)》中简要介绍了verilog-ethernet开源项目的目录构造等基本信息,下面介绍如何使用与移植步骤。
实验内容
verilog-ethernet项目的使用与移植准备工作
实验步骤
打开项目的中README.md文件
内容如下:
信息显示该项目在以下板子上验证过,包括Intel 和Xilinx的FPGA芯片和SoC芯片。
下面是各模块信息与名称:
源文件信息:
AXI Stream 协议时序
测试需要的平台支持
此处需要说明的是,这里提到的cocotb是一个仿真平台,而cocotb-axi,cocotb-test等是基于该平台的自定义仿真组件,在该平台下可以使用python编写仿真文件对verilog模块进行仿真。使用iverilog进行编译,使用gtkwave查看波形,这些工具在ubuntu下安装较为方便,在windows下安装有的组件的依赖关系容易出问题。
由于Alex Forencich在该项目中提供了基于这些平台的仿真文件,所以如果需要快速了解项目中各模块的功能与行为,可以通过其提供的仿真文件来观察波形,如果有这个需求,就可以安装cocotb这些工具来达到目的。如果不想折腾,也可以自己看源码,编写自定义仿真文件,在Quartus或者Vivado中进行仿真验证。
各模块的使用介绍完成,下面介绍笔者的移植思路:
- 根据提供的示例构建工程
- 查看RTL视图,了解层级关系
- 根据2中的层级关系,结合实际需求进行删减来移植项目
- 在3中需要对各模块以及各顶层模块进行仿真,以验证功能。
- 编译,约束,时序分析,板级验证。
由于笔者只有EP4CE10的板子,这里选择DE2-115,其实我们的目的不是构建特定板子的工程,而是想快速得到示例工程的层级关系,其他示例的层级关系也大同小异。
下面进入example文件夹,
进入看到如下视图:
打开README.md
使用make构建工程,但是需要保证对应开发工具的path配置正确。笔者在最后会提供这个工程文件的链接,该工程可以在Windows Quartus II 13.0下打开。如果想自己去配置,这里提供一些信息:ubuntu下安装Quartus Prime Lite 14,这个版本是免费的,支持的器件包含EP4C系列,安装包大小较小,配置path变量,进入项目文件中运行make指令,运行大约15分钟,就可以看到工程文件生成。
RTL视图如下:
Pin Planner视图
至此模块使用方法和移植准备工作完成,后面将介绍移植过程。
关注公众号“Joey的自由世界”查看更多分享内容。