首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用凿子开发通用AXI4外围设备

用凿子开发通用AXI4外围设备
EN

Stack Overflow用户
提问于 2022-02-09 12:13:38
回答 1查看 188关注 0票数 2

我想用Chisel开发一个通用的AXI4外围设备。我能用火箭芯片的AMBA库吗?我只能在下面的链接中找到关于这个主题的文件;

MMIO-外设

然而,本文档中的示例被设计用于火箭芯片.我想开发一个独立的AXI4外围设备。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-09 16:44:13

你的问题如下:

  • 我想开发一个独立的Axi4外围设备

当我开始在Chisel中开发AXI4接口时,我的起点是凿子官方文件,它们从一个典型的Verilog外围设备开始,使用AXI4作为一个写通道,如下所示:

代码语言:javascript
复制
 module my_module(
  
// Write Channel
  input        AXI_AWVALID,
  output       AXI_AWREADY,
  input [3:0]  AXI_AWID,
  input [19:0] AXI_AWADDR,
  input [1:0]  AXI_AWLEN,
  input [1:0]  AXI_AWSIZE,
  // ...
);

为此目的,吉塞尔捆将如下:

代码语言:javascript
复制
class VerilogAXIBundle(val addrWidth: Int) extends Bundle {
  val AWVALID = Output(Bool())
  val AWREADY = Input(Bool())
  val AWID = Output(UInt(4.W))
  val AWADDR = Output(UInt(addrWidth.W))
  val AWLEN = Output(UInt(2.W))
  val AWSIZE = Output(UInt(2.W))
  // The rest of AW and other AXI channels here
}

// Instantiated as
class my_module extends RawModule {
  val AXI = IO(new VerilogAXIBundle(20))
}

虽然前面的示例很简单,但这对我开始用Chisel编写通用AXI4接口很有帮助。

尽管如此,我还使用了以下一些资源在Chisel中开发AXI接口:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71049419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档