![](/img/trans.png)
[英]VHDL: big slv array slicing indexed by integer (big mux)
我想在 VHDL 中對 std_logic_vector 進行切片,以獲得固定尺寸的部分。 一般的問題是:din N*M bits dout M bits sel clog2(N) bits 示例中的預期行為(偽代碼):輸入 16 位,希望將其分成 4 個子向量,每個子向量為 4 位。s ...
[英]VHDL: big slv array slicing indexed by integer (big mux)
我想在 VHDL 中對 std_logic_vector 進行切片,以獲得固定尺寸的部分。 一般的問題是:din N*M bits dout M bits sel clog2(N) bits 示例中的預期行為(偽代碼):輸入 16 位,希望將其分成 4 個子向量,每個子向量為 4 位。s ...
[英]Error (10818): Can't infer register because it does not hold its value outside the clock edge, how to fix it?
我在 VHDL 中有一個 ram 的代碼,在合成時出現以下錯誤: 錯誤 (10818):無法推斷 RAM.vhd(50) 中“data.table[19][13]”的寄存器,因為它的值不保持在時鍾邊沿之外任何幫助,將不勝感激! 這是代碼: ...
[英]Initialize a constant array of std_logic_vector from binary file in VHDL
我已經打包了一個 IP 並且在它的頂部模塊中我有一個常量數組 std_logic_vector 出於某種目的。 如果我只需要在設計中使用這個 IP 的一個實例,我可以根據需要編輯這個常量數組,瞧,但是如果我需要這個 IP 的多個實例(這個常量數組對於每個實例都應該不同)我必須找到另一種方法來做到這一 ...
[英]VHDL-2008 Convert Array Width
假設我有以下內容: VHDL-2008 中是否有一種通用方法來指定任何這些類型之間的轉換,而無需為每種可能的排列定義轉換函數? ...
[英]VHDL-2008 External Naming Compaction
我正在使用外部命名來實例化以下代碼: 如您所見,我的引用中有很多重復。 有沒有辦法做類似的事情: 這樣我就可以縮短我所有的外部命名參考? ...
[英]VHDL: Generate a generic case statement with adjustable amount of cases
我想要通過將值保存在 LUT 中來獲得 Tanh function 的近似值(通過這個我正在進行量化)。 我想選擇 LUT 中的條目數。 作為一個不正確的例子,我想像這樣的代碼 例如,如果我想要 0 到 3 范圍內的 4 個條目,我希望它正在合成如下代碼: 有沒有什么辦法可以使這樣的代碼或實現其背后 ...
[英]VHDL Code MAC Unit - How to avoid overflow by summing up two signed signals without adding additional bits
我想做一個代碼,它會累積一個輸入信號。 這意味着輸入信號被添加到先前的值。 這就是 output 問題是兩個變量都有符號。 如果發生溢出,則從k-1 position溢出到k-1 position,表示符號被破壞。 例如,如果我有 01111,第一個“0”作為符號,並且我添加“10”,它會變為“10 ...
[英]VHDL Error "Expecting constant slice on LHS"
我寫了一段代碼。 這應該在 position 處插入一個“1”,它由信號 E_reg_sig 的二進制部分確定。 留給“1”的位應該由信號E_reg_sig的小數位填充。 有一些特殊情況: position 高於 Output 信號范圍:則所有位都設置為高 “1”左邊的位比 E_reg_sig ...
[英]Modelsim 2021.4 (Windows): How to exclude files from code coverage report
我試圖從我的代碼覆蓋率報告中排除某些 vhdl 文件,但我無法讓它工作。 我的報告總是顯示所有可用的文件。 我的工作流程如下: 在 Modelsim 中,我使用代碼覆蓋選項手動編譯文件(在 GUI 中)。 測試台的腳本是這樣的 Modelsim 將我的排除項(在 GUI 中)識別為“未決排除項”。 ...
[英]Sequential element is unused and will be removed from module in vivado
我收到警告“[Synth 8-6014] Unused sequential element MVM_RST_reg was removed.”我有點困惑,因為信號已連接並使用定義: 我的組件 訊號 我的實例化 復位的使用 詳細的警告是指實例化的行RST=> MVM_RST ...
[英]Get IEEE-754 single precision representation of a real number in VHDL
我想將一個實數轉換為他的位表示,在 VHDL TB 中使用符號、指數和尾數字段用於測試目的(作為 32 位的 STD_LOGIC_VECTOR)。 有沒有辦法直接在 VHDL 中將實數轉換為這種表示形式? 我知道在 C 中可以使用結構來實現它,但我不知道在 VHDL 中是否可行。 謝謝你。 編輯: ...
[英]Bad operand types 'std_ulogic' and 'string(1 to 1)' from vhdl
我在第 13 行和第 27 行的代碼中有這個錯誤,在 vhdl 上,有人知道哪里出了問題嗎? 我在其他電腦和編譯器上試過,都遇到了同樣的問題 ...
[英]VHDL 2nd Ring Oscillator Using External Clock,
我是 VHDL 的新手,所以我使用電路板的內部時鍾為環形振盪器開發了一些代碼,但我想使用內部時鍾添加第二個,但我在理解如何使用它時遇到了一些問題。 第一個完全正常,但是當我多次嘗試添加第二個時,輸出出現問題。 我還想對兩個輸出進行異或並將它們存儲在我的代碼中的向量中,但我一直在努力解決為什么它不起 ...
[英]Reset from Port to internal components connection
我有一個由另一個模塊組成的模塊。 例如 這背后的邏輯是我有幾個其他模塊連接到重置(本例中未顯示)並希望它們在不同的時間步驟重置但都在開始時(我不知道這是否可運行,因為我只將它寫為最小示例) 我的模塊“MVM”就像 頂層模塊(層)的 In 端口在每個時鍾周期獲取新數據,第一個除外。 第一個時鍾周期保留 ...
[英]How to separate digits from a two-digit number in VHDL
我在 VDHL 中有我的簡單代碼,它將數字與 2 位數字分開,但在測試時,我的分隔數字保持無符號 (u)。 我有一種預感,問題可能出在變量的類型上,當我對它們使用它們不支持的操作時。 我在 gtkwave 中使用 ghdl 和 gtkwave 變量 ...
[英]Converting arrays from signed to integer in VHDL?
我已經聲明了一個數組 對於模擬,我想將數組顯示為整數所以我創造了 和 但它失敗了。 如何轉換? 不想使用 for 循環 ...
[英]In behavioral simulation, my FSM have a state that take more than 1 clock cycle ... And i don't like it
如果您在我的代碼中發現一些小錯誤,請原諒我自己。我仍然是 VHDL 的初學者。 好吧,我必須處理來自 ADC 的串行接口。 接口非常簡單...有一條串行數據線(24 位幀),一個告訴我新樣本數據何時可用的信號 DRDY 和一個將位推入(上升沿)。 一切都在連續運行...... 我需要正確捕獲樣本的 ...
[英]synchronous Reset doesnt work (VHDL) in Simulation, but why?
我真的很困惑,因為它是一個簡單的代碼,我沒有發現錯誤。 語法很好,但在模擬中 Dready 和 acc_value 的值不會改變。 這是我的模塊 MVM.vhd: 如果 Reset 為高電平,則應將 Dready 和 acc_value 的值設置為“0” 我的測試台: 在模擬中,DREADY 和 ...
[英]Design of MAC unit using VHDL - error "Array sizes do not match"
嘗試用 VHDL 設計一個簡單的 MAC 單元 似乎acc_value:= (acc_value + WEIGHT* DIN); . 模擬中出現錯誤“錯誤:數組大小不匹配,左數組有 16 個元素,右數組有 32 個元素”讓我感到困惑,因為對我來說 arrays 都有 16 位(或?) ...
[英]VHDL problem with a counter and its simulation
我做了一個計數器,就像我通常在 VHDL (Modelsim) 上做的那樣,當我用我的測試台模擬我的代碼時,所有的計數器根本不工作。 它們保持在 0。這是計數器的代碼: 這是程序給出的警告:警告:算術操作數中有一個'U'|'X'|'W'|'Z'|'-',結果將為'X'(es)。 我已經閱讀了多個關於 ...