《verilog演算法入門》只是介紹一些寫**時的基本思路,但是,一上來就寫**的,往往很難寫出來。
接下來,介紹一下較為正規的流程。
做演算法時,一般包含以下幾個步驟。
需求分析、快速原型驗證、編排框架、編寫**、演算法驗證、演算法優化、保護智財權、撰寫文件。
這些步驟不一定要遵守,在實際的工程當中,可以視具體情況使用。
一、需求分析。
二、快速原型驗證。
使用altera的dsp builder和xilinx的system generator可以快速驗證演算法原型。
只需要在matlab的simulink下點點滑鼠,即可生成複雜的演算法,還能生成hdl檔案。
但是,利用這兩個工具自動生成的hdl**,有一定的優化空間。所以,工具不能取代人工編寫的hdl。
三、編排框架。
四、編寫**。
如果前面幾步的功夫做足,那麼這裡的**是很容易寫的。
所有的介面、功能全部安排好,寫**就是體力勞動。
五、演算法驗證。
在小公司的話,會使用testbench來驗證前一步的**,是否實現需求。
在大公司的話,特別是ic驗證的公司,會使用system verilog來驗證**。
六、演算法優化。
七、保護智財權。
說白了,就是不讓別人拿到你的**,或者就算拿到了,也用不了。
1、使用廠家的工具加密fpga的**。
2、使用加密晶元。
3、磨掉晶元上的絲印。去專業的雷射打磨工廠打磨就可以了。
4、與其它晶元(如:微控制器),按照一定的協議進行通訊加密,最好用非標準協議。
八、撰寫文件。
不同於**中的注釋,文件更規範、可讀性更強。
可以使用doxygen來生成vhdl的文件。
Verilog演算法入門
一 什麼是演算法?演算法就是按步就班地解決問題,也就是解決問題的辦法。演算法是個很泛的概念,並不是一定得包含高深的數學公式。二 用verilog語言實現的演算法跟c語言實現的演算法有何區別?verilog是完全可以自主地設計硬體,而c語言則是依賴於cpu,依賴於現成的硬體。verilog做出來的演算...
演算法 高階演算法
三數之和 3sum 第十一章 33 給出乙個有 n 個整數的陣列 s,在 s 中找到三個整數 a,b,c,找到所有使得 a b c 0 的三元組。注意事項 在三元組 a,b,c 要求 a b c,結果不能包含重複的三元組。樣例 如 s 你需要返回的三元組集合的是 1,0,1 1,1,2 an hig...
其他高階演算法
1.普里姆演算法 prim 演算法 圖論中的一種演算法,可在加權連通圖里搜尋最小生成樹。意即由此演算法搜尋到的邊子集所構成的樹中,不但包括了連通圖里的所有頂點 英語 vertex graph theory 且其所有邊的權值之和亦為最小。2 克魯斯卡爾演算法 求加權連通圖 的最小生成樹的演算法 kru...