學習資料結構對verilog寫演算法有幫助嗎?

時間 2021-06-02 15:16:49

1樓:

說沒用的人只是因為他們沒用到。演算法不等於算數!!!樓上的例子都太微觀了。如果你做的東西是和演算法高度相關的,CS的東西肯定要熟悉,資料結構非常重要。

2樓:One2zeror

其實對硬體實現確實沒什麼幫助,有幫助的話也是體現在設計思想上,比如我以前用Verilog寫過硬體封包器,裡面用到了環形鍊表,但這只是一種實現方式,說白了,跟Verilog沒關係,你只是用這樣硬體語言去實現了你的設計,而這個設計恰好用到了資料結構中的結構和思想,從這個層面上講是有幫助的

3樓:龔黎明

沒什麼幫助。硬體的執行是並行的,資料結構講的全部都是序列解法。

並行性的挖掘其實要靠自己對演算法進行分析,要分析各個運算元其依賴關係,以及重複的運算符號是否可以在硬體上重用,包括你是需要效能還是需要面積,都會影響你的硬體設計。

舉個栗子: y=(a+b)*c,這麼簡單的東西,按照演算法來說,肯定先算加法,再算乘法。但是硬體裡面可以寫成y=a*c+b*c,兩邊乘法同時算,然後再算加法。

如果是y=a*b*c,那麼你就要考慮乘法器的分時復用,因為兩個乘法不可能同時做,只需要乙個乘法器就行。

再舉個最基本的複數乘法:y=(a+ib)*(c+id)=ac-bd +i(ad+bc)

分別算實部和虛部,實部=ac-bd,虛部=ad+bc,需要四個乘法器;

但是化簡一下:

實部=ac-bd=ac-bd+bc-bc=c(a-b)+b(c-d)

虛部=ad+bc=ad+bc-bd+bd=d(a+b)+b(c-d)

可以看到b(c-d)是公用部分,所以只需要三個乘法器就可以。這些東西,資料結構怎麼可能告訴你?

資料結構是什麼?為什麼資料結構對程式設計很重要。

程式設計其實是用來解決各種問題的,寫出好的程式的乙個比較好的方案是,在理解清楚需求後,抽象出基礎的模組,然後用演算法將這些模組拼合。這些模組就是計算機的資料結構。它其實是現實中各種問題在資料層面的對映,不同的資料結構已不同的方式來儲存資訊,各種資料結構都有其優缺點,選擇了合適的資料結構,能讓問題處理...

怎樣學好資料結構?

taor 怎麼有些人把資料結構和演算法分開了談,書都不敢這麼寫。學好資料結構是先把書學完,然後多面對各種場景和問題,去用書上東西,就是多練。乙個問題用多種方法解決,對比其各自優缺點。 wuzz 雞湯再好也不能變成雞肉。切記切記第一點是動手實踐。建議是網上找付費課程看,極客時間的專欄,跟著學。最差才是...

怎麼學好資料結構?

Tiam 首先要明白資料結構的框架 接下來一點一點往這個框架中填充內容 適合於將很多元素都為0的陣列轉換為規模較小的陣列表示例如 將以上陣列用稀疏陣列表示即為 第一行記錄原陣列一共有幾行幾列,有多少非零數字 隨後每一行記錄乙個有效數字的位置資訊以及數值 digolds 你可以參考以下教程,我列舉了幾...