我想用Chisel开发一个通用的AXI4外围设备。我能用火箭芯片的AMBA库吗?我只能在下面的链接中找到关于这个主题的文件;
然而,本文档中的示例被设计用于火箭芯片.我想开发一个独立的AXI4外围设备。
发布于 2022-02-09 16:44:13
你的问题如下:
当我开始在Chisel中开发AXI4接口时,我的起点是凿子官方文件,它们从一个典型的Verilog外围设备开始,使用AXI4作为一个写通道,如下所示:
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,
// ...
);为此目的,吉塞尔捆将如下:
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接口:
https://stackoverflow.com/questions/71049419
复制相似问题