“你們搞熵編碼做什麼,通訊要這個幹什麼?”

“我們現在帶寬不夠用,光纖都不行,需要個數據壓縮算法,軍品項目又不能用現成的標準,東拚西湊搞出來一個,包括數據壓縮和數據加密,兩個部分基本是獨立的,我負責數據壓縮,小波變換加上熵編碼,小波變換很規則的,熵編碼就不行了,參數特別多,亂的一遝糊塗。”

“5-3小波,JPEG2000的?”可璡又想著工作。

“恩。”

“接著用算術編碼一套的不就行了,哎,5-3是變換2維的,你們的數據應該是一維的,不對吧。”

“這個就不用管了,二維的也是一維一維做,不是說不能用現成的標準嗎,全一樣,一下就解出來了,所以用Huffman碼表,采數據統計出來的,碼表自己定的,參數特別多,碼表有幾十頁,別人想解也解不出來,我現在關鍵是怎麼把這些碼表組成碼流輸出,這都是變長的,想不出好辦法組合。”boss楊直到可璡寫過專利和論文的。

“用huffman一出錯這根碼流就掛掉了,軍品還能忍受這個?換成指數哥倫布,計算起來還省事,出錯還好檢查。”

“不是討論這個,什麼碼流出錯都是掛,我們中間有同步,指數哥倫布太容易被破解,不能用那個,你就說這個怎麼編就行了。”

可璡聳聳肩。”最大的碼字多少比特?”

“大概70幾。”

“你看這個原理這這樣的,說先要有一個緩衝寄存器,長度是最大碼字的兩倍,一個緩衝區比特數的寄存器保存當前比特數,複位的時候指向緩衝的最高位,輸入的數據是編碼的數據和長度,有效數據左對齊,邏輯左移到指針的位置,和緩衝相或,然後指針減去當前長度,如果當前寫入位置小於緩衝區的一半,將當前碼流輸出,同時指針加最大碼字寬度,緩衝區的後半部分折回到緩衝區開始,碼流對齊輸出,同時這個cycle還要和輸入的數據相或,大概就是這樣循環。”

楊陸思考了一下,”應該可以。”

“放心吧,我很久以前的時候就已經做過了,包您滿意。”可璡打包票。

“我們的參數實在太多,狀態機都寫了2,3千行,我想不行用CPU寫個程序控製。”

“CPU性能怎麼可能夠,中斷處理數據很容易溢出。”可璡思考了一下,”你可以把狀態機拆開,分成幾個。”

“我們的參數也太多了,分在幾十個模塊,光接口就幾千行,現在仿真還是經常出錯。”

可璡陷入了思考。

楊陸抱怨,”這個東西太難搞了,又是自己搞的,沒有可以參考的代碼,bug特別多。”

“可以這樣,編碼是串行的過程,這幾十個模塊裏麵的編碼參數你可以當做RAM,在case裏麵給他們分配地址,如果時序不好可以多寄存幾拍,狀態機直接編碼地址,或者就用狀態去尋址,這樣接口和狀態機都省事了。我沒有試過,你可以試試。”

兩人都陷入了沉思,抬頭互相肯定了一下。”回去試試。”

“你搞的那個spark是做什麼用的?”boss楊有點好奇。

可璡有點含糊,”是一套EDA係統,自動化處理flow,把所有的流程連接起來,裏麵用了某些生物和進化的概念來做分類和處理,所以看起來有點複雜。”

“你就是喜歡搞些稀奇古怪的東西。”boss楊感歎,”哎,你說那個,王老他們的。”

可璡給了他一個卡的手勢,”你什麼時候這麼八卦了,要不要我再發掘一下你的secret?”

“我哪有秘密。”楊陸抻起被子。

“每個人都有秘密,你尤其多,需要我深度挖掘一下不?”

話題發散開去信馬由韁,兩個人一直聊到一點,楊陸支不住睡去,可璡重新打開筆記本,構思下個項目需要用到的東西,一直到深夜三點多,深深的倦意襲來,可璡才趴在床位上睡下。