硬體設計的MBD實踐 DDS

2021-10-09 05:25:39 字數 1730 閱讀 4623

dds(直接數字頻率合成器)在訊號源、測量和通訊中有著非常廣泛的應用,也是硬體設計方法學最喜歡用來演示的例子。

使用mbd(基於模型設計)方法來設計dds是非常簡單的,從模型庫中拽出三個模型:乙個加法器,乙個延時單元,乙個matlab的自定義函式,連線好連線。

編輯matlab自定義函式為計算正弦值

設定乙個頻率輸入值,輸出連線到示波器,執行**,檢視波形正確。

這裡體現了mbd方法學的乙個價值:continuous test and verification。 在早期就能做**驗證,盡可能早地發現錯誤。測試和驗證將貫穿設計的全過程,不將錯誤留到最後階段才處理。越是早期的錯誤越到後期就越難定位解決。

在做定點設計之前,先將dds建立為子系統(sub system),這樣頂層就是dds的**驗證平台,子系統是dds設計,做到層次分明。

首先是輸入訊號的定點化,這裡使用了輸入埠模型,它除了定點化處理功能外,還為rtl**生成指明埠名稱為freq。定點屬性設定為』<24,0,u>』,表示總位寬為24位元,整數字寬為0位元,無符號位。定點化處理後面再專題講解,這裡略過。

相位累積的加法器之後使用定點化處理模型,這裡的定點屬性設定為與freq埠相同。上溢位設定為wrap方式,將相位限制在歸一化的[0.0,1.0)範圍內。

正弦波計算在硬體中用查詢表(lut)來實現,正弦波計算模型的之前和之後各使用乙個專門的模型。前置模型只是rtl**生成的需要,對資料來說是直通的;後置模型會對資料進行定點化處理。

lut之前使用定點化處理模型,以限定lut的位址位寬。

最後是輸出埠模型,輸出埠前放置乙個暫存器(單位延遲器),是rtl編碼規範的常規要求。

做完定點設計後再做**,這時不僅要看輸出波形,還需要對dds輸出做頻譜分析,評估諧波效能和訊雜比效能。方法是用「to workspace」模型將dds的輸出匯入到matlab的workspace中,用m語言程式設計做頻譜分析。

dds的電路規模主要由lut的容量決定,簡單的計算公式是:

size=(2^addr_bw)*data_bw

addr_bw是位址位寬,直接影響dds輸出的諧波效能; data_bw是資料位寬,直接影響dds輸出的雜訊基底。電路規模和效能是相互矛盾的,需要妥協和折衷。

可以很容易修改設計中lut的輸入訊號的定點屬性和輸出訊號的定點屬性,通過**獲得不同addr_bw和data_bw設定下的dds輸出頻譜效能。

模型設計環境中的除錯手段遠比rtl**除錯豐富,更容易分析排查錯誤:

這裡展現的mbd方法學價值:design with simulation。 設計過程中的**,探索各種可能性,找到電路規模與效能的最佳平衡。

硬體設計的準則

硬體設計的準則 職務 硬體及通訊系統設計 專家觀點 硬體開發的基本準則 1充分了解各方的設計需求,確定合適的解決方案 啟動乙個硬體開發專案,原始的推動力會來自於很多方面,比如市場的需要,基於整個系統架構的需要,應用軟體部門的功能實現需要,提高系統某方面能力的需要等等,所以作為乙個硬體系統的設計者,要...

什麼是硬體設計? 成功的硬體設計需要什麼?

硬體設計就是根據產品經理的需求prs product requirement specification 在cogs cost of goods sale 的要求下,利用目前業界成熟的 晶元方案或者技術,在規定時間內完成符合prs功能 function 效能 performance 電源設計 pow...

linux驅動設計的硬體基礎

一。處理器 微處理器 mpu 通常代表乙個cpu,而微控制器 mcu 則強調把 處理器 儲存器,和外圍電路整合在乙個晶元中 cpld 複雜可程式設計邏輯器件 fpga 現場可程式設計門列陣 二。儲存器 flash的程式設計原理都是只能將 1 寫成 0 三。介面和匯流排 串列埠 cpu ab,db,c...