[英]Verilog: Simulation and Hardware Implementation differ in one state behaviour
我目前正在嘗試將 UART 模擬實施到 FPGA 中。 這個想法是,只循環遍歷預定義數據(由 byte_array_com_message_1 - 4 定義),然后將其放在一行 (out_cross_com1) 上。 每個字節都應根據使用的 UART 標准發送,因此通過在空閑時保持信號高電平,通過拉 ...
[英]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”合成指 ...
[英]Is the place and route tool erroneously inferring a combinatorial loop from VHDL?
這個問題是從 Stack Overflow 遷移過來的,因為它可以在 Electrical Engineering Stack Exchange 上得到回答。 5 天前遷移。 問題是我在將合成步驟的結果與 P&R 步驟的結果進行比較時觀察到的不一致。 P&R 插入了一個在合成步 ...
[英]Is it possible to see if vivado inferred blockram?
我有以下一段代碼: 如何查看 Vivado 2021.1 是否為reg_crypt_public_key數組推斷出塊 ram 而不是分布式 ram? ...
[英]Is indexing into an array with a signal synthesizable in verilog?
合成以下有什么問題嗎?: 其中read_address是用於讀取my_array的信號。 我習慣於 AND-OR 邏輯來讀取數組,但我想知道上面是否是 1) 可綜合的和 2) 它會創建什么樣的邏輯? ...
[英]I am getting error when check my systemverilog code in quartus II
我用 Quartus II 檢查了這個簡單的代碼。 首先,它給了我循環限制的錯誤 5000 次迭代然后我嘗試在設置中更改 verilog 常量循環限制變量,現在它給了我這個錯誤錯誤 (293007):當前模塊 quartus_map 意外結束。 驗證您是否有足夠的 memory 可用於編譯您的設計。 ...
[英]Are SystemVerilog packed arrays row or column major for literal assignment?
我想將多維 arrays 用於我打算合成的一些 SystemVerilog 代碼。 我的理解是,打包的 arrays 本質上是一個大向量,可以在代碼中索引切片或元素。 那么,以下是否允許? 如果是,文字是否被解釋為行或列主要? 我知道我可以手動將文字分成與 2x2 數組匹配的層次結構,但這些模塊將 ...
[英]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(應 ...
[英]Difference between shift operation using concatenate operator {} and shift operator << in verilog
注冊 [3:0]a; 注冊; a <= {a[2:0],in}; //使用連接運算符一個<=一個<<1; //使用移位運算符就 a) 運行速度而言,1 和 2 之間有什么區別。 b) 綜合中的硬件實現。 一般更喜歡哪一個? ...
[英]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實例化時也是如此 ...
[英]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 ...
[英]Why Yosys synthesis the sequential statement to constant
我有下面的 Verilog 聲明: 我期待一個注冊。 然而,在我用 Yosys 合成后,我得到了如下結果: 我不明白為什么 Yosys 將上述 Verilog 語句轉換為常量 1。 請指教,謝謝! ...
[英]Synthesizable behavioral model of Verilog HDL for counter which counts a signal changes?
我們有一個隨時間變化的信號(名稱In )和一個時鍾來同步電路。 與計數器原理圖一樣,我們應該計算t0和t1之間In 7 次變化。 問題是我們應該只在時鍾滴答時計算In變化(我認為就像設置時間)。 如果我們In一個時鍾周期的周期內有兩次In變化,它就不能正常工作。 最后,我應該如何實現它是可合成的 ...
[英]syntax error in accessing 2d register array in verilog code to synthesize in leonardo tool
我在 ISE 工具中使用 verilog 代碼制作了一個簡單的緩存,並使用了一個二維寄存器數組作為我的緩存,在 Modelsim 中模擬測試平台做得很好,沒有語法錯誤,也沒有錯誤輸出信號,但是當我在 Leonardo 工具中告訴萊昂納多在庫 ams600nm 中讀取它,它在我訪問我的二維數組(緩存) ...
[英]How to make a synthesizable Instruction Memory in SystemVerilog?
我正在 SystemVerilog 上設計 MIPS 處理器。 指令 memory 是這樣制作的: 但是此代碼不會合成為“黑匣子”/單獨的模塊等,頂部模塊看起來像:“核心,數據 Memory,<a big mess of something instead of Instuction Mem ...
[英]Unconnected ports-Verilog Synthesis error
我正在合成我的 RTL,但我不斷收到錯誤“警告:在設計中‘DasisyChain3’端口‘m1_data [7]’沒有連接到任何網絡(LINT-28)。我不知道為什么它告訴我這個。我包括我設計中的所有模塊,它代表了 SPI 協議的某種簡化版本。我有一個從屬主機和菊花鏈模塊,這是我的頂級模塊,是菊花鏈 ...
[英]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 的 ...