在本例中,学习自己定义具有Avalon Memory Map Slave接口的数码管驱

动。首先新建工程。建立一个原理图文件,加入前一个例子中的clk_div.v源文件,并且生成原理图符号。
加入数码管驱动seg7_drive.v,同样生成原理图符号。下面启动SOPC_BUILDER来建立CPU。

点击Templates,选择Add Typical Avalon Memory Map Slave Interface。加入的信号如图所示,因为本例子中读操作和写操作都可以在一个周期内完成,因此要删除下面的两个信号。

在删除以后,会产生以下错误,Error: s0: Interface with non-zero pending reads (1) must have readdatavalid signal。把图中的Max Pending read transactions改为0,错误就会消失。

添加如下图所示的接口信号,用于向外部输出数据。

添加本类型的接口信号,如下图所示。

添加参数,设置如下

然后点击生成verilog的模板文件。完成自定义组件的生成。修改生成的seg7_ip.v文件,从而使组件具有我们需要的功能。
浙公网安备 33010602011771号