談談關於硬體的思維

談談關於硬件的思維


讀者如果學習了verilog,並且有了一定的實踐經驗的話應該強烈的感受到,verilog和軟件(諸如C/C++)有著本質且明顯的差別,是一條不可跨越的鴻溝。所以初學者把C和verilog拿來作比較是完全沒用的,甚至會把初學者繞暈,影響學習效率的提高。

雖然verilog比硬件更抽象,但是最終實現的結果就是一堆硬件電路。所以評價一個verilog代碼的好壞不是看代碼量多少,而是看最終實現的功能和性能(有速度和麵積2方面)。假設面積為S,性能為V,定義品質數Q=S/V,Q越小,設計的電路越成功。

評價一個設計者代碼水平較高,只是這個設計由硬件向verilog表現形式轉換更流暢,合理。一個設計最終實現的性能,很大程度上取決於設計的硬件方案是否高效合理。這是兩回事。

談談關於硬件的思維

也因上述2點,verilog設計不刻意追求代碼簡潔,合理的設計方法是首先理解要設計的電路,也就是把需求轉化為數字電路,對此電路的結構和連接十分清晰,然後再用verilog表達出這段電路。也就是說,verilog只是簡化了電路設計的工作量,本質上就是設計數字電路,永遠繞不開電路這點!這也決定了不能憑空去想代碼,因為只有存在的電路才是可實現的,而存在的代碼未必可以變成存在的電路。

大家也應該知道,在沒有verilog這種高級語言之前都是用原理圖設計,必須先構思好整個電路框架,才能去實現。有了verilog以後這種思路並沒有被拋棄,依然需要大家去思考電路結構,只有深入理解了電路本身,才能夠有高效的設計。

談談關於硬件的思維

原文地址:卿萃科技FPGA極客空間 微信公眾號


分享到:


相關文章: