很多人用C/C++的方式去寫HDL,但HDL只是一種硬體『描述』語言而已。
HDL的起源在於以前設計硬體,都是用方塊圖表是,為了讓方塊圖能夠以更數位化的方式表示,所以才有HDL,希望能以程式的方式代表那些方塊圖,這和傳統C/C++以程式的方式描述algorithm明顯不同,所以在寫HDL時,一定要先思考出model,然後才去寫HDL,絕對不是埋頭硬寫HDL後,事後再補model。事實上軟體開發也該如此,在軟體工程告訴我們,軟體開發也該先有model在寫程式,而不是先寫程式再補model。除此之外,寫HDL和寫C/C++不同的是,你必須要有hardware sense,而不是如寫C/C++一樣,只求function OK而已,否則合成出來的結果可能速度很慢(賣不出去),或者面積很大(成本很高)。
See Also