rtl

    1熱度

    1回答

    我正在試圖在鑿子中找到一個等效的Verilog電源操作員**。我經歷了Chisel Cheat sheet和tutorial,但我沒有找到我要找的東西。在使用鑿子編寫的設計後,我發現log2xx功能是流行的選擇,而電源操作員從未使用過。當然,我總是可以使用移位算子來獲得2的權力,但我希望鑿子中有一般的電力運營商。我試圖使用scala的數學函數來完成這項工作,但是我得到了編譯錯誤。

    3熱度

    1回答

    我在我的項目中使用了Chisel3。我試圖導入硬浮動庫作爲便接踵而來: import chisel3._ import hardfloat._ 但不幸的是,我得到: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] ::::::::::

    2熱度

    1回答

    我想在Artifactory中存儲RTL模塊(主要是VHDL文件 - .vhd),並且能夠使用Xray和其他Jfrog服務跟蹤這些包的依賴關係。 我已經有了一個非常乾淨的「包」格式,我只想讓Artifactory在上傳時解析我的元數據文件,這是該軟件包的一部分,就像它控制debian軟件包中的文件一樣。 這可能嗎?我從哪裏開始?

    1熱度

    1回答

    我是verilog的新手,任何人都可以請我解釋一下這些語句是如何執行的。 [email protected](posedge clock) begin A <= B^C; D <= E & F; G <= H | J; K <= G ? ~&{A,D} : ^{A,D} end 據我所知,右側是第一次執行。因此,首先計算A,D,G,K的值。在計算K值時,根據G的值,執行第一個或第二個

    0熱度

    2回答

    任何人都可以請解釋如何考慮考慮mux時的時序分析。如果我們考慮時序,它通常在兩個觸發器之間,如圖所示,如果我們考慮複用器選擇引腳? 就我的理解而言,它是一個選擇引腳,因此不能用作時序分析的路徑。如果我錯了,請糾正我。 There is a circuit with 4 flops and one more for select pin which is connected to output fl

    -1熱度

    3回答

    我正在使用UVM運行測試臺。在組件的run_phase()任務之一,我做了fork...join_none開始下面的循環,這在整個模擬運行: fork forever @(posedge trigger) begin force dut.a = $urandom_range('h00,'hFF); force dut.b = $urandom_range('h0,

    2熱度

    1回答

    如果對於給定的過程,我聲明一個變量(比如說一個1位變量,variable temp : std_logic;),那麼我可以給變量賦值如果給定條件返回true,即 if (xyz=1) then --Assuming that this condition returns TRUE temp:= '1'; ??這個邏輯是否可以合成爲ASIC?

    -2熱度

    1回答

    假設我們有一個D觸發器。 在RTL仿真(這裏沒有t_hold和t_setup),如果它的數據輸入和clk同時發生變化,輸出應該是什麼? clk上升之前的值或之後的值? 爲了讓它更難, 如果data_in和時鐘連接到相同的線。應該是翻牌的輸出是什麼?所有時間都爲零?還是一次? 我試過ModelSim中的最後一種情況,我得到輸出爲1,而我預期它爲0. 我期望RTL仿真中的觸發器應該模擬時鐘沿之前的值。

    0熱度

    1回答

    我想開發一個代碼,它像一個邏輯計算器一樣工作;我已經成功地編譯了代碼和測試平臺,沒有任何錯誤。下面是代碼: module AriLogCal( input logic [3:0] OpA, OpB, //Operands A and B. The two numbers we will operate on. input logic [2:0] DoOpt, /

    0熱度

    2回答

    我試圖綁定我使用爲生成的模塊實例生成的模塊實例的斷言。 下面是我的綁定斷言模塊綁定我的發言: `define NUM_BLKS 4; genvar asrt_inst; generate for (asrt_inst = 0;asrt_inst < `NUM_BLKS;asrt_inst = asrt_inst+1) begin bind top.u_dut.u_blk_gen[asrt