- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在与一个也使用 verilog 的团队合作。我觉得使用 chisel power 来管理模块之间的互连比裸 verilog 快得多。从chisel教程可以看出,blackbox wrapper是手工写的,io信号是手工定义的。
是否可以从 verilog 中提取 io 信息并自动定义 chisel blackbox io? (又名,从 verilog 生成黑盒,而不是由某些人通过阅读 verilog 来定义黑盒类。)
例如:
val bbox = blackbox("someModule.v")
然后,bbox 将成为一个功能齐全的黑盒,并定义了所有 ios 和名称。
由于 io 信号在 scala 中是 val
,我想知道是否有实现此目标的元方法。
最佳答案
是的,有!查看 HasBlackBoxInline
:
https://www.chisel-lang.org/chisel3/blackboxes.html#blackboxes-with-in-line-verilog
class BlackBoxRealAdd extends BlackBox with HasBlackBoxInline {
val io = IO(new Bundle() {
val in1 = Input(UInt(64.W))
val in2 = Input(UInt(64.W))
val out = Output(UInt(64.W))
})
setInline("BlackBoxRealAdd.v",
s"""
|module BlackBoxRealAdd(
| input [15:0] in1,
| input [15:0] in2,
| output [15:0] out
|);
|always @* begin
| out <= $realtobits($bitstoreal(in1) + $bitstoreal(in2));
|end
|endmodule
""".stripMargin)
}
默认情况下,此 BlackBox 将以其给定名称发送到输出目录。
关于scala - 有什么方法可以使用凿子从 verilog 文本内容生成黑盒吗? (在scala中根据文本内容定义val),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60955784/
时钟门控对于降低功耗很重要。我们如何在 Chisel 中指定时钟门控? 时钟门控是逻辑信号确定特定寄存器的时钟是否被触发的地方。当逻辑信号无效时,时钟保持稳定不变。只有当使能有效时,时钟信号才会切换,
我最近将我的一个大项目的 Chisel 版本从 3.1.1 更新到 3.4.0;但是,我得到了一堆 firrtl.passes.CheckHighFormLike$DefnameDifferentPo
是否有可能在 Chisel“switch”语句中使用类似于 Verilog“默认”情况的 Chisel“is”条件?这是为了防止从 FSM 推断出组合输出的锁存器。 Verilog 示例: mod
我是一名优秀的程序员,十分优秀!