cost 95 ms
Verilog:仿真和硬件實現在一個 state 行為上有所不同

[英]Verilog: Simulation and Hardware Implementation differ in one state behaviour

我目前正在嘗試將 UART 模擬實施到 FPGA 中。 這個想法是,只循環遍歷預定義數據(由 byte_array_com_message_1 - 4 定義),然后將其放在一行 (out_cross_com1) 上。 每個字節都應根據使用的 UART 標准發送,因此通過在空閑時保持信號高電平,通過拉 ...

可變輸出流延遲嘗試不起作用

[英]Variable output stream delay attempt not working

我試圖開始工作的模塊接收一個脈沖數據流,脈沖發生在 500 到 12500 個 clk 周期之間,它需要將流延遲 500 到 12500 個 clk 周期之間指定數量的 clk 周期。 但是沒有使用 12500 位移位寄存器。 我寫了一些在行為模擬中起作用的代碼,但在后期綜合中不起作用。 我知道從 ...

移動平均濾波器的啟動行為在合成前和合成后功能仿真之間是不同的

[英]Start up behavior of moving average filter is different between pre and post synthesis functional simulation

根據我閱讀的一篇文章,我實現了一個移動平均濾波器(在 Verilog 中),該文章在合成前和合成后執行不同。 該設計實現了$y[n]=y[n-1]+x[n]-x[N-1]$。 我遇到了兩個問題: prevout正在從 [19:0] 寄存器合成到 [3:0] 寄存器 - 我通過使用“keep”合成指 ...

布局布線工具是否錯誤地從 VHDL 中推斷出組合環?

[英]Is the place and route tool erroneously inferring a combinatorial loop from VHDL?

這個問題是從 Stack Overflow 遷移過來的,因為它可以在 Electrical Engineering Stack Exchange 上得到回答。 5 天前遷移。 問題是我在將合成步驟的結果與 P&R 步驟的結果進行比較時觀察到的不一致。 P&R 插入了一個在合成步 ...

是否可以查看vivado推斷blockram?

[英]Is it possible to see if vivado inferred blockram?

我有以下一段代碼: 如何查看 Vivado 2021.1 是否為reg_crypt_public_key數組推斷出塊 ram 而不是分布式 ram? ...

是否在 verilog 中使用可合成的信號索引到數組中?

[英]Is indexing into an array with a signal synthesizable in verilog?

合成以下有什么問題嗎?: 其中read_address是用於讀取my_array的信號。 我習慣於 AND-OR 邏輯來讀取數組,但我想知道上面是否是 1) 可綜合的和 2) 它會創建什么樣的邏輯? ...

在 quartus II 中檢查我的 systemverilog 代碼時出現錯誤

[英]I am getting error when check my systemverilog code in quartus II

我用 Quartus II 檢查了這個簡單的代碼。 首先,它給了我循環限制的錯誤 5000 次迭代然后我嘗試在設置中更改 verilog 常量循環限制變量,現在它給了我這個錯誤錯誤 (293007):當前模塊 quartus_map 意外結束。 驗證您是否有足夠的 memory 可用於編譯您的設計。 ...

SystemVerilog 是否打包 arrays 行或列主要用於文字分配?

[英]Are SystemVerilog packed arrays row or column major for literal assignment?

我想將多維 arrays 用於我打算合成的一些 SystemVerilog 代碼。 我的理解是,打包的 arrays 本質上是一個大向量,可以在代碼中索引切片或元素。 那么,以下是否允許? 如果是,文字是否被解釋為行或列主要? 我知道我可以手動將文字分成與 2x2 數組匹配的層次結構,但這些模塊將 ...

Vivado:行為仿真與綜合后功能仿真之間的不匹配

[英]Vivado: Mismatch between behavioral simulation and post-synthesis functional simulation

我在 Vivado 中有一個奇怪的問題。 目標是使用 Xilinx Artix-100T FPGA 在 VHDL 中為 adc 初始化 spi。 但是,Vivado 2021.1 中的行為仿真和綜合后功能仿真之間存在不匹配。 在行為仿真中,信號reset_n在一個時鍾周期內為 0,然后上升到 1(應 ...

在verilog中使用連接運算符{}的移位操作和移位運算符<<之間的區別

[英]Difference between shift operation using concatenate operator {} and shift operator << in verilog

注冊 [3:0]a; 注冊; a &lt;= {a[2:0],in}; //使用連接運算符一個&lt;=一個&lt;&lt;1; //使用移位運算符就 a) 運行速度而言,1 和 2 之間有什么區別。 b) 綜合中的硬件實現。 一般更喜歡哪一個? ...

如何在verilog中的case語句中保留值

[英]How to preserve a value in a case statement in verilog

在 verilog 中設計有限狀態機時,我發現自己編寫了很多這樣的代碼來保留特定狀態下的值。 這是必要的,因為如果我沒有為敏感列表中的每個寄存器指定一個值,編譯器將推斷出一個鎖存器。 對我來說,這感覺像是一種代碼氣味,但我沒有足夠的經驗來確定。 這是在 verilog 中保存值的最佳方法嗎? ...

如何編寫參數化延遲寄存器?

[英]How do you write a parameterized delay register?

我正在嘗試編寫一個具有寬度和延遲參數(用於同步/CDC 目的的延遲)的通用 Verilog 鎖存器模塊。 起初我想根據延遲參數生成多個延遲寄存器,但我決定只使用一個移位寄存器,根據延遲調整大小,因為我認為它更簡潔。 代碼如下: xvlog對此沒有問題,即使在使用DELAY = 0實例化時也是如此 ...

錯誤:[VRFC 10-2951] 'WIDTH_DIFF' 不是常量

[英]Error: [VRFC 10-2951] 'WIDTH_DIFF' is not a constant

我正在嘗試對數據路徑進行一些寬度操作,並且需要在必要時填充一些零。 我已經在 verilog 中編寫了以下邏輯並嘗試進行綜合。 以下代碼是一個最小的工作示例,顯示了我面臨的問題。 當我運行下面的代碼時。 當我使用 Vivado xvlog 編譯代碼時,我得到以下信息。 我一直在查看與我的Verilo ...

多個進程驅動一組記錄

[英]Multiple processes driving an array of records

以下代碼展示了一組記錄。 特殊之處在於,對於數組的每個元素,字段AR由進程process_AR驅動,而字段R由進程process_R驅動。 此代碼按 (I) 預期的方式工作。 但是,通過以下方式更改 process_AR(現在使用for loop ): 使用未解析類型(std_ulogic 和 s ...

為什么 Yosys 將順序語句合成為常量

[英]Why Yosys synthesis the sequential statement to constant

我有下面的 Verilog 聲明: 我期待一個注冊。 然而,在我用 Yosys 合成后,我得到了如下結果: 我不明白為什么 Yosys 將上述 Verilog 語句轉換為常量 1。 請指教,謝謝! ...

Verilog HDL 的可合成行為模型,用於計數信號變化的計數器?

[英]Synthesizable behavioral model of Verilog HDL for counter which counts a signal changes?

我們有一個隨時間變化的信號(名稱In )和一個時鍾來同步電路。 與計數器原理圖一樣,我們應該計算t0和t1之間In 7 次變化。 問題是我們應該只在時鍾滴答時計算In變化(我認為就像設置時間)。 如果我們In一個時鍾周期的周期內有兩次In變化,它就不能正常工作。 最后,我應該如何實現它是可合成的 ...

在 verilog 代碼中訪問 2d 寄存器數組以在 leonardo 工具中進行合成時出現語法錯誤

[英]syntax error in accessing 2d register array in verilog code to synthesize in leonardo tool

我在 ISE 工具中使用 verilog 代碼制作了一個簡單的緩存,並使用了一個二維寄存器數組作為我的緩存,在 Modelsim 中模擬測試平台做得很好,沒有語法錯誤,也沒有錯誤輸出信號,但是當我在 Leonardo 工具中告訴萊昂納多在庫 ams600nm 中讀取它,它在我訪問我的二維數組(緩存) ...

如何在 SystemVerilog 中制作可綜合指令 Memory?

[英]How to make a synthesizable Instruction Memory in SystemVerilog?

我正在 SystemVerilog 上設計 MIPS 處理器。 指令 memory 是這樣制作的: 但是此代碼不會合成為“黑匣子”/單獨的模塊等,頂部模塊看起來像:“核心,數據 Memory,&lt;a big mess of something instead of Instuction Mem ...

未連接的端口 - Verilog 綜合錯誤

[英]Unconnected ports-Verilog Synthesis error

我正在合成我的 RTL,但我不斷收到錯誤“警告:在設計中‘DasisyChain3’端口‘m1_data [7]’沒有連接到任何網絡(LINT-28)。我不知道為什么它告訴我這個。我包括我設計中的所有模塊,它代表了 SPI 協議的某種簡化版本。我有一個從屬主機和菊花鏈模塊,這是我的頂級模塊,是菊花鏈 ...

Verilog綜合給了我一個我不明白的錯誤

[英]Verilog synthesis is giving me an error that I don't understand

合成代碼時出現此錯誤,但我不知道這是什么意思。 上面寫着: Error-net "Count[0] 或直接連接的網絡由多個源驅動,並非所有驅動程序都是三個 state。 它對向量 count[0] - count[4] 以及我的load和k值表示相同的錯誤。 該代碼是我對 SPI Master 的 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM