问题标签 [chisel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
75 浏览

hardware - 它应该展开循环,但它会抛出 AssertionError

我试图为下面的程序生成verilog,但它抛出了AssertionError。对应的verilog unroll "io.opcode := io.a + io.b" 语句是5次吗?如果有人能说出 for 循环是如何工作的,那将非常有帮助。

0 投票
1 回答
563 浏览

chisel - 凿子标准库移位寄存器的行为对于启用线是否正确

我正在尝试创建一个涉及移位寄存器的数据路径,但我希望整个事情能够在等待新输入时停止。我看到标准库中有一个带有启用线的移位寄存器(尽管默认为true)。

问题是当我尝试使用它时,编译的verilog似乎并没有在启用低时真正停止移位寄存器。

考虑这个凿子代码:

我得到以下verilog:

似乎移位寄存器只保持第一个值固定而不是整个值。例如,如果您在连续时钟周期中写入 1、2、3、4、5,但只为 1、2、3 保持启用高电平,则 3 将正确保持,但 1 和 2 最终会移出,整个移位寄存器将填充值 3。

我想要凿子教程中看到的移位寄存器示例的行为。问题是我需要长的、可参数化的移位寄存器,所以手写每个寄存器不是一种选择。我将非常感谢凿子代码的示例,该代码实现了具有启用行为的移位寄存器,如凿子教程中所见,但参数化为不同长度,如标准库中所见。

0 投票
1 回答
208 浏览

chisel - 凿子工具安装;无法找到 scct

我正在尝试开始使用 Chisel。按照 Chisel 网页上的说明,我安装了 scala 2.11 和 sbt,复制了 build.sbt 和 Hello World 示例。但是,我无法运行该示例。我收到以下错误。

0 投票
2 回答
1639 浏览

chisel - Chisel 和 Lava 和 CLaSH 有什么区别?

我一直在研究 Chisel 以及各种 Lavas(Kansas、Chalmers 和 Xilinx 风味)和 CLaSH 的来源。我试图了解 Chisel 与其他产品的主要卖点是什么。我确定的主要方法是快速模拟。

我想知道研究得更深入的人是否可以指出其他优点、缺点和权衡。

(抱歉,如果这是一个太多的讨论问题。我尝试向凿子用户发帖,但显然你需要被接受为会员才能做到这一点。)

0 投票
1 回答
283 浏览

chisel - io += port: value += 不是 Chisel.Bundle 的成员

我正在尝试编译 Zhe Mao 的 xactor 包(Chisel 的保护原子操作),但得到错误

在声明上

除了 latest.release 之外,是否有支持此构造的 Chisel 版本?

0 投票
2 回答
1007 浏览

scala - 安装凿子

我是凿子的新用户。我试图在我的机器上安装凿子。根据git,首先我克隆了chisel,然后我进入hello目录并进入make. 但我收到以下错误:

我正在使用 sbt-0.13.8 和 scala 2.11.6

0 投票
1 回答
157 浏览

scala - 对 Verilog 库的依赖

是否可以依赖 Scala Chisel 中一些已经编码的 Verilog 库?

如果不是这样,在我看来,这就像 Scala 的 Java 复古兼容性一样重要,它使 Scala 在软件世界中取得了成功。

干杯

0 投票
3 回答
762 浏览

chisel - Chisel 模块中的条件端口

我有一个通常不需要的可选功能。但是为了支持这个特性,一些 I/O 端口应该被添加到源模块 I/O 端口。

我这样做是这样的:

运行 sbt "run TestModule --backend c --compile --test --genHarness" 后,编译器报错:

所以 if 语句没有任何作用。val io 仍然分配给 IOBundle,而不是扩展的 IOBoundle_EXT,这对我来说毫无意义。

0 投票
1 回答
285 浏览

scala - 怎样才能生成32位RISCV表格的凿子。需要进行哪些修改?

根据 RISCV 工具链,我们正在为 Rocketchip 生成 64 位的 verilog 文件。但我们需要 32 位 RISCV 火箭芯片。为此,scala 和 chisel 文件中的要求和修改是什么。

是否可以生成 32 位 Rocket 内核来执行此操作。

0 投票
2 回答
1658 浏览

verilog - 如何生成异步重置verilog总是用凿子阻塞

凿子总是在灵敏度列表中生成只有时钟的块:

是否可以将模块配置为使用异步重置并生成这样的始终块?