chisel

    1熱度

    2回答

    當使用聖馬丁和uint實現加法器我得到同樣的Verilog代碼,請參見下面的代碼, import Chisel._ class Unsigned_Adder extends Module{ val io = new Bundle{ val a = UInt(INPUT, 16) val b = UInt(INPUT, 16) val out = UI

    4熱度

    1回答

    我正在尋找一個簡單的howto轉換Verilog中的簡單Chisel3模塊。 我把鑿子的官方網頁上給出的GCD源代碼。 import chisel3._ class GCD extends Module { val io = IO(new Bundle { val a = Input(UInt.width(32)) val b = Input(UInt.w

    2熱度

    1回答

    我正在試着用official web page給出的GCD示例來學習Chisel3。這個例子使用運算符 - %,這是什麼意思? 這不是在Wiki 上解釋。並且Cheatsheet將「減法」稱爲正常減法符號' - '。 那麼簡單減法' - '和減法百分比' - %'之間有什麼區別? [編輯] 好的,我發現這些功能chisel3 code下定義: // TODO: refactor to share

    2熱度

    2回答

    我正在學習鑿子下面的文檔on Github 到目前爲止,一切工作完美無瑕。但我卡在第13章,"Functional Module Creation" 我無法讓代碼工作。我創建了鑿模板項目的副本我所有的.scala類。下面是我寫/複製與可變位寬創建MUX4: /鑿模板/ src目錄/主/斯卡拉/ Mux4.scala import Chisel._ class Mux4(w: Int) exte

    1熱度

    1回答

    代碼編譯正確,但我得到一個警告:該代碼給出警告 [warn] PC_RVI.scala:22: Mux of Bits instantiated, emits SInt in class TOP_pack.PC_RVI 部分看起來是這樣的: PC_input1 := Mux(io.branch, io.imme, UInt(4)) PC_input2 := Mux(io.PC_or_rs1,

    1熱度

    1回答

    我一直在尋找網絡上的所有東西,以找出什麼表達##意味着鑿子,但無法找到它的任何地方。 例如,在這個代碼片段: val ways = Module(new BRAM(log2Up(conf.lines), conf.ways * line_size)) val din = Vec.fill(conf.ways) { Bits(width=line_size) } if(conf.ways ==

    1熱度

    2回答

    我正在研究Z-Scale RISCV處理器,其中我已將新功能和邏輯實現到數據路徑中。我想知道是否有一種簡單的方法可以在不使用一堆if循環的情況下「關閉」代碼的某些部分?我想讓在Z-scale處理器的常規實現和擴展實現的處理器之間切換變得容易。 我已經實現的新邏輯並不取代數據路徑的主要組件,而是擴展了功能。

    3熱度

    2回答

    我正在學習鑿子3。 我對代碼有一些疑問。 val myVec = Wire(Vec(5,SInt(width = 23)))// 5個23位有符號整數的向量。 我想如果我聲明一個向量並且我需要寫「Wire」,但是當我看到這些代碼時我錯了。 類BigBundle延伸捆綁{ VAL myvec會VEC =(5,SINT(寬度= 23)) // 5 23位帶符號整數的向量。 val flag = Boo

    1熱度

    1回答

    如何從鑿子代碼生成FIRRTL文件?根據github wiki,我已經安裝了sbt,firrtl和verilator。併爲簡單的加法器創建了一個鑿子代碼。我想生成FIRRTL並將其轉換爲Verilog?我的問題是如何從鑿子代碼中獲取firrtl文件。 謝謝。 源文件:MyQueueTest/src目錄/主/斯卡拉/例子/ MyQueueDriver.scala package example

    0熱度

    1回答

    我正在研究riscv-sodor,我想修改生成文件以生成Verilog。我該怎麼做這個任務? 問候,