chisel相关内容
我正在寻找在 Verilog 中转换简单 Chisel3 模块的简单方法. 我拿凿子官方网页上给出的Gcd源代码. 导入 chisel3._类 GCD 扩展模块 {val io = IO(新捆绑 {val a = 输入(UInt(32.W))val b = 输入(UInt(32.W))val e = 输入(布尔())val z = 输出(UInt(32.W))val v = 输出(布尔(
..
我是 chisel 的新用户.我试图在我的机器上安装凿子.根据git,首先我克隆了chisel,然后进入hello目录输入制作.但我收到以下错误: set -e -o pipefail;sbt -Dsbt.log.noformat=true -DchiselVersion="latest.release" "运行你好 --genHarness --compile --test --backend
..
我想在我的 AC701 套件 (artix7).但要做到这一点,我必须实例化一个时钟输入差分缓冲器.Xilinx 提供了以下 verilog 模板来做到这一点: IBUFDS #(.DIFF_TERM("真"),.IOSTANDARD(“默认")) IBUFDS1_inst (.O(clock1),//时钟缓冲器.I(clock1_p),//Diff_p 时钟.IB(clock1_n)//Dif
..
我正在寻找一个简单的方法来在 Verilog 中转换一个简单的 Chisel3 模块. 我取的是chisel官网给出的Gcd源码. 导入chisel3._类 GCD 扩展模块 {val io = IO(新包{val a = 输入(UInt(32.W))val b = 输入(UInt(32.W))val e = 输入(布尔())val z = 输出(UInt(32.W))val v = 输
..
我正在为我被告知是一种漏斗移位器编写 Chisel 代码.基本上它获取大小为 m 位的输入并发送大小为 n 位的输出,其中 m 和 n 可以有任何关系. 我将 m 位字保存在缓冲区中,然后需要动态索引缓冲区以获得 n 位.同样,对于写作,我必须在 n 而不是 m 的边界处写作,以免产生某种碎片.为此,我使用 read_pointer 和 write_pointer 寄存器.并且需要使用指针作
..
我正在尝试在“现实世界"项目中使用Chisel,并且正在用C ++编写testbench代码部分. 效果很好,我可以使用gtkwave在dump.vcd文件中看到所有转储的信号. 但是我在时间尺度上有一个问题,默认情况下,功能模块-> dump()记录时间尺度为1ps的信号: $timescale 1ps $end 您知道如何更改吗? 我发现在testbench C ++代码
..
在灵敏度列表中,凿子总是产生只有时钟的块: always @posedge(clk) begin [...] end 是否可以将Module配置为使用异步重置并生成像这样的always块? always @(posedge clk or posedge reset) begin [...] end 解决方案 自Chisel 3.2.0起,就支持同步,异步和抽象重置类
..
从现有的Chisel代码中生成Verilog 代码的最简单方法是什么? 我是否必须创建自己的构建文件? 例如独立的Scala文件(AND.scala),类似于以下文件。 导入凿子。_ 类并扩展模块{ val io = IO(新捆绑包{ val a = Bool(INPUT) val b = Bool(INPUT) val out = Bool(OUTPUT) })
..
此凿子代码可以正常运行: chiselMainTest(Array[String]("--backend", "c", "--genHarness"), () => Module( new Cache(nways = 16, nsets = 32) )){c => new CacheTests(c)} 但是,这是一个很小的变化,会产生运行时错误: val cache_inst
..
我正在按照文档上学习Chisel GitHub 到目前为止,一切都完美无缺.但是我停留在第13章,“功能模块创建" 我无法使代码正常工作.我在chisel-template-project的副本中创建了所有.scala类.这是我编写/复制的内容,以创建具有可变位宽的 Mux4 : /chisel-template/src/main/scala/ Mux4.scala imp
..
我最近开始在scala工作,需要创建 MD5 的实现. .据我了解,MD5需要未签名的类型,而scala并不附带此类型.很快我将开始学习具有无符号类型的Chisel,因此我决定实现其库.到目前为止,一切似乎都很好,除非执行以下按位操作时,我的F值变为-271733879,这将导致错误“由于:java.lang.IllegalArgumentException:要求失败:UInt文字-2717338
..
Chisel是否支持矩阵运算,例如加法,乘法,换位等?如果没有,实现它们的最佳方法是什么? 向量如何? 解决方案 凿子不支持矩阵运算.它是用于编写实现此类操作的硬件生成器的DSL.有关专用数学硬件生成器的示例,请参见: Hwacha:硬件矢量单元和
..
我想了解如何初始化模块,具体取决于值。所以我有一个 config.extend 值,它将决定核心是否会实例化核心或 ExtendedCore 模块。 但是我收到错误“value:=不是Sodor.core的成员”。 val extend = 1 val core = Module(new Core(data_address)) if(extend == 1){ cor
..