作者MasterChang (我愛ASM)
看板Electronics
標題Re: [問題]請教各位前輩Verilog在I/O方面的技巧
時間Mon Aug 13 17:36:49 2007
※ 引述《Faberge (就好像 可以擰出淚水一樣)》之銘言:
: 小弟在Verilog方面是菜鳥 目前寫好一個Block而且測試起來都都OK了
: 想在輸入輸出端做些變化檢查一下是否有意料不到的狀況
: 所以想丟一個Sine wave進入Block中 再檢查輸出是否有失真
: 但是小弟不了解的是Sine wave絕對是一個類比訊號
F(x) = sin(2*pi*f*t)
f是你想產生的頻率,t是時間,通常f*t就是你的sin table的
index,不過F(x)會在-1到1間變化,對數位訊號不太匹配。
假設你的數位輸出/入是8 bits,那就把信號調整在0~255間變
化那中心就是127.5
F(x) = 127.5*sin(2*pi*f*t)+127.5 ,用這去建sin table,
得到的值四捨五入變成整數。
: 我們該如何有效將它變成一個數位訊號當作輸入
: 比方決定Sine wave振幅 頻率 以及輸入端取樣頻率
比如說你的table長度是1000點,每次輸出的時間間隔是1us,
那一個波的週期就是1ms,頻率就是1K ,這個應該用心算就算
了出來了...XD
: 這中間該用什麼程式或指令進行轉換的工作
我是用Excel這類幫你算,聽說有些IDE很厲害有這類建表的工具...
: 同時想請教客位前輩是否有軟體可以提供我的輸入對時間與輸出對時間的圖形?
: 這樣能夠更清楚的看出輸出波形有無失真以及輸入波形是否正確
: 還麻煩各位前輩不吝指教! 感恩啊!!
1.這要看你用的模擬軟體。
2.如果你是用FPGA,最好直接在硬體上驗證。
--
不要問我從哪來,我只是一個退隱的工程師....
※ 編輯: MasterChang 來自: 59.104.148.144 (08/13 17:37)
1F:推 Faberge:感謝前輩指點!! 08/13 22:49
2F:推 mouein:受教了!! 感恩 m(_ _)m 08/14 05:19