如何删除chisel3 top模块上的时钟信号?
How to delete clock signal on chisel3 top module?
我有一个使用差分时钟输入(xilinx AC701 套件)的闪烁 LED 设计。
如 jkoening :
所述,为了实例化 Xilinx 差分缓冲器,我使用了一个 BlackBox
class Top extends Module {
val io = IO(new Bundle{
val clock_p = Input(Clock())
val clock_n = Input(Clock())
val led = Output(Bool())
})
val ibufds = Module(new IBUFDS)
ibufds.io.I := io.clock_p
ibufds.io.IB:= io.clock_n
val blink = Module(new Blink)
blink.clock := ibufds.io.O
io.led := blink.io.led
}
可以,但是在 Top verilog 模块上我有一个无用的时钟输入:
module Top(
input clock,
input reset,
input io_clock_p,
input io_clock_n,
output io_led
);
...
然后在目标上只有io_clock_p
和io_clock_n
用于时钟输入。 clock
信号没用。有没有合适的方法隐藏它?
目前无法删除甚至重命名 Chisel 模块上的 clock
和 reset
。他们总是在那里。由于 Chisel 使用上升沿时钟,您可以考虑删除 io_clock_p
并改用 clock
。
这是一个经常被请求的功能,因此将来可能会添加,但目前不支持。
在 Chisel3 团队 discussion 之后,添加了一个功能来支持这一点。
解决方案是使用 RawModule:
class Top extends RawModule {
val clock_p = IO(Input(Clock()))
val clock_n = IO(Input(Clock()))
val led = IO(Output(Bool()))
val ibufds = Module(new IBUFDS)
ibufds.io.I := clock_p
ibufds.io.IB:= clock_n
withClockAndReset(ibufds.io.O, false.B) {
val blink = Module(new Blink)
led := blink.io.led
}
}
原始模块没有隐式信号,名称在 verilog 生成的文件中反映为“有它”,前缀中没有“io_”。
this github project 上提供了完整闪烁 LED 项目的源代码(闪烁 LED 项目:blp)。
Here 是关于如何操作的法语描述。要使用此功能,必须使用 chisel3 的最后一个 git master 版本。
我有一个使用差分时钟输入(xilinx AC701 套件)的闪烁 LED 设计。
如 jkoening
class Top extends Module {
val io = IO(new Bundle{
val clock_p = Input(Clock())
val clock_n = Input(Clock())
val led = Output(Bool())
})
val ibufds = Module(new IBUFDS)
ibufds.io.I := io.clock_p
ibufds.io.IB:= io.clock_n
val blink = Module(new Blink)
blink.clock := ibufds.io.O
io.led := blink.io.led
}
可以,但是在 Top verilog 模块上我有一个无用的时钟输入:
module Top(
input clock,
input reset,
input io_clock_p,
input io_clock_n,
output io_led
);
...
然后在目标上只有io_clock_p
和io_clock_n
用于时钟输入。 clock
信号没用。有没有合适的方法隐藏它?
目前无法删除甚至重命名 Chisel 模块上的 clock
和 reset
。他们总是在那里。由于 Chisel 使用上升沿时钟,您可以考虑删除 io_clock_p
并改用 clock
。
这是一个经常被请求的功能,因此将来可能会添加,但目前不支持。
在 Chisel3 团队 discussion 之后,添加了一个功能来支持这一点。
解决方案是使用 RawModule:
class Top extends RawModule {
val clock_p = IO(Input(Clock()))
val clock_n = IO(Input(Clock()))
val led = IO(Output(Bool()))
val ibufds = Module(new IBUFDS)
ibufds.io.I := clock_p
ibufds.io.IB:= clock_n
withClockAndReset(ibufds.io.O, false.B) {
val blink = Module(new Blink)
led := blink.io.led
}
}
原始模块没有隐式信号,名称在 verilog 生成的文件中反映为“有它”,前缀中没有“io_”。
this github project 上提供了完整闪烁 LED 项目的源代码(闪烁 LED 项目:blp)。
Here 是关于如何操作的法语描述。要使用此功能,必须使用 chisel3 的最后一个 git master 版本。