问题标签 [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.
hardware - 它应该展开循环,但它会抛出 AssertionError
我试图为下面的程序生成verilog,但它抛出了AssertionError。对应的verilog unroll "io.opcode := io.a + io.b" 语句是5次吗?如果有人能说出 for 循环是如何工作的,那将非常有帮助。
chisel - 凿子标准库移位寄存器的行为对于启用线是否正确
我正在尝试创建一个涉及移位寄存器的数据路径,但我希望整个事情能够在等待新输入时停止。我看到标准库中有一个带有启用线的移位寄存器(尽管默认为true)。
问题是当我尝试使用它时,编译的verilog似乎并没有在启用低时真正停止移位寄存器。
考虑这个凿子代码:
我得到以下verilog:
似乎移位寄存器只保持第一个值固定而不是整个值。例如,如果您在连续时钟周期中写入 1、2、3、4、5,但只为 1、2、3 保持启用高电平,则 3 将正确保持,但 1 和 2 最终会移出,整个移位寄存器将填充值 3。
我想要凿子教程中看到的移位寄存器示例的行为。问题是我需要长的、可参数化的移位寄存器,所以手写每个寄存器不是一种选择。我将非常感谢凿子代码的示例,该代码实现了具有启用行为的移位寄存器,如凿子教程中所见,但参数化为不同长度,如标准库中所见。
chisel - 凿子工具安装;无法找到 scct
我正在尝试开始使用 Chisel。按照 Chisel 网页上的说明,我安装了 scala 2.11 和 sbt,复制了 build.sbt 和 Hello World 示例。但是,我无法运行该示例。我收到以下错误。
chisel - Chisel 和 Lava 和 CLaSH 有什么区别?
我一直在研究 Chisel 以及各种 Lavas(Kansas、Chalmers 和 Xilinx 风味)和 CLaSH 的来源。我试图了解 Chisel 与其他产品的主要卖点是什么。我确定的主要方法是快速模拟。
我想知道研究得更深入的人是否可以指出其他优点、缺点和权衡。
(抱歉,如果这是一个太多的讨论问题。我尝试向凿子用户发帖,但显然你需要被接受为会员才能做到这一点。)
chisel - io += port: value += 不是 Chisel.Bundle 的成员
我正在尝试编译 Zhe Mao 的 xactor 包(Chisel 的保护原子操作),但得到错误
在声明上
除了 latest.release 之外,是否有支持此构造的 Chisel 版本?
scala - 安装凿子
我是凿子的新用户。我试图在我的机器上安装凿子。根据git,首先我克隆了chisel,然后我进入hello目录并进入make
. 但我收到以下错误:
我正在使用 sbt-0.13.8 和 scala 2.11.6
scala - 对 Verilog 库的依赖
是否可以依赖 Scala Chisel 中一些已经编码的 Verilog 库?
如果不是这样,在我看来,这就像 Scala 的 Java 复古兼容性一样重要,它使 Scala 在软件世界中取得了成功。
干杯
chisel - Chisel 模块中的条件端口
我有一个通常不需要的可选功能。但是为了支持这个特性,一些 I/O 端口应该被添加到源模块 I/O 端口。
我这样做是这样的:
运行 sbt "run TestModule --backend c --compile --test --genHarness" 后,编译器报错:
所以 if 语句没有任何作用。val io 仍然分配给 IOBundle,而不是扩展的 IOBoundle_EXT,这对我来说毫无意义。
scala - 怎样才能生成32位RISCV表格的凿子。需要进行哪些修改?
根据 RISCV 工具链,我们正在为 Rocketchip 生成 64 位的 verilog 文件。但我们需要 32 位 RISCV 火箭芯片。为此,scala 和 chisel 文件中的要求和修改是什么。
是否可以生成 32 位 Rocket 内核来执行此操作。
verilog - 如何生成异步重置verilog总是用凿子阻塞
凿子总是在灵敏度列表中生成只有时钟的块:
是否可以将模块配置为使用异步重置并生成这样的始终块?