chisel相关内容

安装凿子

我是 chisel 的新用户.我试图在我的机器上安装凿子.根据git,首先我克隆了chisel,然后进入hello目录输入制作.但我收到以下错误: set -e -o pipefail;sbt -Dsbt.log.noformat=true -DchiselVersion="latest.release" "运行你好 --genHarness --compile --test --backend ..
发布时间:2021-07-15 21:26:38 其他开发

如何使用 Chisel 中的另一个寄存器动态索引寄存器

我正在为我被告知是一种漏斗移位器编写 Chisel 代码.基本上它获取大小为 m 位的输入并发送大小为 n 位的输出,其中 m 和 n 可以有任何关系. 我将 m 位字保存在缓冲区中,然后需要动态索引缓冲区以获得 n 位.同样,对于写作,我必须在 n 而不是 m 的边界处写作,以免产生某种碎片.为此,我使用 read_pointer 和 write_pointer 寄存器.并且需要使用指针作 ..
发布时间:2021-06-30 19:31:02 其他开发

如何更改VCD文件转储的时间尺度?

我正在尝试在“现实世界"项目中使用Chisel,并且正在用C ++编写testbench代码部分. 效果很好,我可以使用gtkwave在dump.vcd文件中看到所有转储的信号. 但是我在时间尺度上有一个问题,默认情况下,功能模块-> dump()记录时间尺度为1ps的信号: $timescale 1ps $end 您知道如何更改吗? 我发现在testbench C ++代码 ..
发布时间:2020-11-10 19:32:17 C/C++开发

如何生成异步重置Verilog总是会因凿而阻塞

在灵敏度列表中,凿子总是产生只有时钟的块: always @posedge(clk) begin [...] end 是否可以将Module配置为使用异步重置并生成像这样的always块? always @(posedge clk or posedge reset) begin [...] end 解决方案 自Chisel 3.2.0起,就支持同步,异步和抽象重置类 ..
发布时间:2020-11-10 19:29:46 其他开发

从Chisel代码生成Verilog代码的最简单方法

从现有的Chisel代码中生成Verilog 代码的最简单方法是什么? 我是否必须创建自己的构建文件? 例如独立的Scala文件(AND.scala),类似于以下文件。 导入凿子。_ 类并扩展模块{ val io = IO(新捆绑包{ val a = Bool(INPUT) val b = Bool(INPUT) val out = Bool(OUTPUT) }) ..
发布时间:2020-09-24 03:06:20 其他开发

凿子3.功能模块Mux4

我正在按照文档上学习Chisel GitHub 到目前为止,一切都完美无缺.但是我停留在第13章,“功能模块创建" 我无法使代码正常工作.我在chisel-template-project的副本中创建了所有.scala类.这是我编写/复制的内容,以创建具有可变位宽的 Mux4 : /chisel-template/src/main/scala/ Mux4.scala imp ..
发布时间:2020-05-10 21:01:25 其他开发

凿子UInt负值错误

我最近开始在scala工作,需要创建 MD5 的实现. .据我了解,MD5需要未签名的类型,而scala并不附带此类型.很快我将开始学习具有无符号类型的Chisel,因此我决定实现其库.到目前为止,一切似乎都很好,除非执行以下按位操作时,我的F值变为-271733879,这将导致错误“由于:java.lang.IllegalArgumentException:要求失败:UInt文字-2717338 ..
发布时间:2020-05-08 00:37:07 其他开发

凿子中的矩阵运算

Chisel是否支持矩阵运算,例如加法,乘法,换位等?如果没有,实现它们的最佳方法是什么? 向量如何? 解决方案 凿子不支持矩阵运算.它是用于编写实现此类操作的硬件生成器的DSL.有关专用数学硬件生成器的示例,请参见: Hwacha:硬件矢量单元和 ..
发布时间:2020-05-07 19:46:38 其他开发

根据配置值初始化类

我想了解如何初始化模块,具体取决于值。所以我有一个 config.extend 值,它将决定核心是否会实例化核心或 ExtendedCore 模块。 但是我收到错误“value:=不是Sodor.core的成员”。 val extend = 1 val core = Module(new Core(data_address)) if(extend == 1){ cor ..
发布时间:2018-07-17 09:45:22 其他开发