国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      并行SCRAMBLE算法VerilogHDL代碼自動生成器及方法

      文檔序號:6583493閱讀:813來源:國知局
      專利名稱:并行SCRAMBLE算法 Verilog HDL代碼自動生成器及方法
      技術領域
      本發(fā)明涉及一種代碼自動生成器及其方法,具體涉及一種并行SCRAMBLE算法 Verilog HDL代碼自動生成器及其方法。
      背景技術
      由于在速度方面優(yōu)于串行SCRAMBLE算法,并行SCRAMBLE算法被廣泛地應用在數(shù) 據(jù)傳輸、存儲、通信、加密和解密等領域中,在用專用集成電路和FPGA實現(xiàn)其算法時,先要 得到SCRAMBLE算法Verilog HDL代碼,由此代碼進一步通過綜合工具得到SCRAMBLE算法 網表,從而得到SCRAMBLE算法的硬件拓撲結構。串行SCRAMBLE電路結構簡單,運算速度慢;并行SCRAMBLE電路結構復雜,運算速度快;串行SCRAMBLE電路中,如果確定了 G⑴的表達式公式1和電路的初值INT,就可 以確定其電路結構,具體電路用SN_A_INT表示;G(X) = ^ (Axk)(其中 Ak = O 或 1) (O 彡 k 彡 N)(公式 1)
      “0并行電路中,如果確定了 G(X)的表達式和電路的初值INT和并行數(shù)據(jù)寬度M,就可 以確定并行SCRAMBLE電路結構,具體電路用SN_DM_A_INT就可以表示,并行SCRAMBLE電路 的核心是邏輯電路,邏輯電路可以用公式2表示,
      i=N_\ j=N-\二 Σ (β/'W·^)(公式 2)
      ;=0 J=O(0 ^ j ^ N-1,0 ^ i ^ N-l)公式中的核心部分是表達式中各項的系數(shù)Qj [i],在現(xiàn)有技術中,如果要得到并行SCRAMBLE算法Verilog HDL代碼,需要技術人員 熟悉并行SCRAMBLE算法,并能推導出并行SCRAMBLE算法的一般表達式,進而人工將表達式 轉化為并行SCRAMBLE算法Verilog HDL代碼。此方法的缺點如下1)需要技術人員完全理解并行SCRAMBLE算法;2)需要技術人員會推導并行SCRAMBLE算法一般表達式;3)需要技術人員人工將并行SCRAMBLE —般表達式轉化為并行SCRAMBLE算法 Verilog HDL 代碼;4)需要技術人員輸入SCRAMBLE代碼,輸入時由于相似項繁多,手動輸入費時費 力,容易出錯。

      發(fā)明內容
      本發(fā)明的目的在于提供一種并行SCRAMBLE算法Verilog HDL代碼自動生成器及 其方法,其解決了背景技術中并行SCRAMBLE算法Verilog HDL代碼生成復雜的技術問題。
      本發(fā)明的技術解決方案是一種并行SCRAMBLE算法Verilog HDL代碼自動生成器,其特殊之處在于包括基 于modelsim仿真平臺上系數(shù)產生電路和代碼產生模塊,所述系數(shù)產生電路在modelsim仿 真平臺上運行產生的系數(shù)文件C. txt,所述代碼產生模塊VG. ν在modelsim仿真平臺上再運 行,并自動調用用CG. ν生成的系數(shù)文件C. txt產生并行算法的表達式F. txt,這些表達式可 以直接復制后,貼入verilog代碼便可直接使用。上述系數(shù)產生電路包括與狀態(tài)機電路分別連接的矩陣產生電路、矩陣轉置電路以 及矩陣乘法電路,所述矩陣產生電路又分別與矩陣轉置電路和矩陣乘法電路連接,所述矩 陣轉置電路與矩陣乘法電路連接,所述矩陣乘法電路包括一輸出端C,所述狀態(tài)機電路控制 和協(xié)調矩陣產生電路,所述矩陣轉置電路和矩陣乘法電路完成相應的操作,系數(shù)將會出現(xiàn) 在輸出端C上。一種并行SCRAMBLE算法Verilog HDL代碼自動生成方法,其特殊之處在于,該方 法包括1)提取設計參數(shù)N,M,A,INT,得到并行SCRAMBLE算法系數(shù) 產生電路的一般表達 式SN_DM_A_INT ;所述并行SCRAMBLE算法系數(shù)產生電路的一般表達式SN_DM_A_INT的邏輯 電路用公式2表示,
      J=W-I J=N-ICRCMU] = Yd (Qj[i] · )(公式 2)
      =0 J-O(O ^ j ^ N-1,0 ^ i ^ N-l)2)把設計參數(shù)N,Μ, A, INT按照系數(shù)產生電路設計步驟得到并行CRC算法系數(shù)產 生電路;3)在modelsim上運行CG. ν得到系數(shù)文件C. txt ;4)在modelsim上運行VG. ν得到并行CRC電路Verilog代碼F. txt。上述設計參數(shù)提取方法為1)根據(jù)串行SCRAMBLE電路結構得到公式一
      k=NG(X) = Σ (Af)(其中 4 = 0 或 1)(0 S Λ0 (其中 Ak = O 或 1) (O 彡 k 彡 N)(公
      k=0
      式 1)和 SN_A_INT,2) N的值等于k的最大值,即N ;3) A為N+1位二進制數(shù),Ak為一位二進制數(shù),取值只能為O或1,在verilogHDL代 碼中可以表示為 Α[Ν:0] = {An,An_i; . . . , A0};4) INT為串行SCRAMBLE電路中觸發(fā)器DFFtl至DFF1^1中Q端的初值, DFFi (O彡i彡N-1)的值可以用Ci(C)彡i彡N-1)來表示,此Ci就是公式2中的C^Ci為一 位二進制數(shù),取值只能為O或1 ;在verilog HDL代碼中可以表示為INT [N_l 0] = IC1^1, Cn-2,· · ·,CqI ;上述設計參數(shù)提取方法還包括若并行SCRAMBLE的數(shù)據(jù)輸入端D的位寬為M,在verilogHDL代碼中可以表示為 D[M-1:0] = {DN_i,Dn_2,...,Dq} ;Df(0 ^ f ^M-I)為串行 CRC 運算中第 f 此輸入的數(shù)據(jù),此Dr就是公式2中的Df。上述并行SCRAMBLE算法系數(shù)產生電路進行以下步驟1)矩陣產生電路在狀態(tài)機電路的控制下,依次將A循環(huán)移位,并將結果依次存入 觸發(fā)器· MRO, MRl-MRN-I就是矩陣M第0行,第1行…第N-I行的值;2)矩陣轉置電路將矩陣產生電路的輸出在狀態(tài)機電路的控制下,將MRO,MRl, MRN-I的第0位,第1位,第N-I位在選擇控制信號S3和S4的配合下,將矩陣M第一列的數(shù) 轉為第一行,依次執(zhí)行,直到將其轉置完成,轉置矩陣M_T的第1行,第2行,第N-I行依次 出現(xiàn)在觸發(fā)器的Q端;3)轉置矩陣在執(zhí)行的過程中只將初次的產生矩陣做轉置,其后將保持不變;4)矩陣乘法電路將矩陣M第i行和轉置矩陣M_T的第j行的每一位相與然后相異 或,得到乘法矩陣匪的第i行,第j列的值;5)算出每一行后,如果K < N,復制回路在狀態(tài)機的控制下通過矩陣產生電路中的 多路選擇器,將乘法矩陣MM逐行復制到產生矩陣M中,以供下次使用。若K = N,將矩陣MM 打印到C. txt中,以供VG. ν使用。6)在 modeIsim 中運行 VG. ν 調用 C. txt 生成 F. txt。本發(fā)明的優(yōu)點在于并行SCRAMBLE算法Verilog HDL代碼生成迅速,且準確率高。


      圖1為本發(fā)明設計流程示意圖;圖2為矩陣產生原理框圖;圖3為矩陣產生電路示意圖;圖4為矩陣轉置電路示意圖;圖5為矩陣乘法電路示意圖。
      具體實施例方式本發(fā)明是將串行SCRAMBLE電路轉化為并行SCRAMBLE電路,即根據(jù)串行SCRAMBLE 電路的結構或者表達式(公式一),得到并行SCRAMBLE電路。并行SCRAMBLE電路可以用 Verilog代碼(F. txt)表示;其一般形式用公式2表示,具體的代碼將會產生在文件F. txt 中;公式2中的核心問題是各項的系數(shù)Qj[i],具體的系數(shù)會產生在文件C. txt中;文件C. txt可以在modelsim中運行CG. ν產生; CG. ν是并行SCRAMBLE系數(shù)產生模塊SN_DM_A_INT的veriIogHDL代碼表示方法;SCRAMBLE系數(shù)產生模塊是本專利保護的核心,其設計方案由系數(shù)產生模塊(附件 三)給出;(1)設計步驟要用到的參數(shù)為N,M,A,INT(2)參數(shù)N,A,INT可由公式1得到,具體方法見設計參數(shù)提取方法一(附件一);(3)參數(shù)M為并行SCRAMBLE數(shù)據(jù)data的寬度,具體方法見設計參數(shù)提取方法二 (附件二);因此本發(fā)明的設計流程概要為見圖1
      本設計通過SCRAMBLE并行算法系數(shù)產生模塊產生系數(shù)文件C.txt,然后在 modelsim平臺上運行VG. ν文件生成并行算法的表達式F. txt,這些表達式可以直接復制 后,貼入verilog代碼便可直接使用。本發(fā)明系數(shù)產生模塊的工作方式如下在接到Start信號后,整個電路進 行復位,復位完成后狀態(tài)機控制矩陣產生電路 求出矩陣M來,此M矩陣可以在modelsim平臺下打印到M. TXT文件中,具體電路結構參看 圖3.矩陣M生成后,狀態(tài)機控制矩陣轉置電路將其轉置為矩陣MT,矩陣轉置電路具體 結構參看圖4 ;然后矩陣乘法電路將矩陣M和MT相乘,結果放入矩陣匪中。途中的N是控 制相乘的次數(shù),相當于矩陣M的冪,當K < M時(此M為并行數(shù)據(jù)的寬度),這時將矩陣匪 復制到矩陣M中,然后將新的矩陣M與剛才產生的轉置矩陣MT相乘,需要注意的是,矩陣轉 置電路只執(zhí)行一次。直到K = M時,通過modelsim平臺將矩陣MM打印到文件C. txt中。然 后按前文所述方法產生verilog代碼了。附件一設計參數(shù)提取方法一1 根據(jù)串行SCRAMBLE電路結構得到公式一
      k=NG(X) = ^(其中 Ak = 0 或 1) (0 彡 k 彡 N)(公式 1)和 SN_A_INT,2 =N的值等于k的最大值,即N ;3 =A為N+1位二進制數(shù),Ak為一位二進制數(shù),取值只能為0或1,在verilogHDL代 碼中可以表示為 Α[Ν:0] = {An,An_i; . . . , A0};4 :INT為串行SCRAMBLE電路中觸發(fā)器DFFtl至DFF1^1中Q端的初值, DFFi (0 ^ i ^ N-1)的值可以用Ci(C)彡i ^ N-1)來表示,此Ci就是公式2中的Ci, Ci為 一位二進制數(shù),取值只能為0或1;在verilogHDL代碼中可以表示為INT[N_1:0] = IC1^1, Cn-2,· · ·,CqI ;附件二 設計參數(shù)提取方法二1 若并行SCRAMBLE的數(shù)據(jù)輸入端D的位寬為M,在verilogHDL代碼中可以表示為 D[M-1:0] = {DN_i,Dn_2,...,Dq} ;Df(0 ^ f ^M-I)為串行 CRC 運算中第 f 此輸入的數(shù)據(jù),此 0〃就是公式2中的Df。附件三系數(shù)產生模塊電路結構由圖(2-4)來闡述SCRAMBLE并行算法系數(shù)產生電路由狀態(tài)機,矩陣產生,矩陣轉置,矩陣乘法四部分 電路組成,其簡要連接如圖2所述,狀態(tài)機控制和協(xié)調矩陣產生,轉置和乘法電路的動作, 完成相應的操作,在操作完成后,系數(shù)將會出現(xiàn)在輸出端C上。矩陣產生電路在狀態(tài)機的控制下,依次將A循環(huán)移位,并將結果依次存入觸發(fā) 器.MR0,MRl...MRN-I就是矩陣M第0行,第1行…第N-1行的值。轉置電路將矩陣產生電路的輸出在狀態(tài)機的控制下,將MR0,MR1,MRN_1的第0位, 第1位,第N-I位在選擇控制信號S3和S4的配合下,將矩陣M第一列的數(shù)轉為第一行,依 次執(zhí)行,直到將其轉置完成,轉置矩陣M_T的第1行,第2行,第N-I行依次出現(xiàn)在觸發(fā)器的 Q端。
      轉置矩陣在執(zhí)行的過程中只將初次的產生矩陣做轉置,其后將保持不變。矩陣乘法電路將矩陣M第i行和轉置矩陣M_T的第j行的每一位相與然后相異或, 得到乘法矩陣匪的第i行,第j列的值。算出每一行后,復制回路在狀態(tài)機的控制下通過矩陣產生電路中的多路選擇器, 將乘法矩陣MM逐行復制到產生矩陣M中,以供下次使用。
      權利要求
      一種并行SCRAMBLE算法Verilog HDL代碼自動生成器,其特征在于包括基于modelsim仿真平臺上系數(shù)產生電路,所述系數(shù)產生電路在modelsim仿真平臺上運行產生的系數(shù)文件C.txt,所述代碼產生模塊在modelsim仿真平臺上再運行,并自動調用CG.v產生的系數(shù)文件C.txt產生并行算法的表達式F.txt,這些表達式可以直接復制后,貼入verilog代碼便可直接使用。
      2.根據(jù)權利要求1所述并行SCRAMBLE算法VerilogHDL代碼自動生成器,其特征在 于所述系數(shù)產生電路包括與狀態(tài)機電路分別連接的矩陣產生電路、矩陣轉置電路以及矩 陣乘法電路,所述矩陣產生電路又分別與矩陣轉置電路和矩陣乘法電路連接,所述矩陣轉 置電路與矩陣乘法電路連接,所述矩陣乘法電路包括一輸出端C,所述狀態(tài)機電路控制和協(xié) 調矩陣產生電路,所述矩陣轉置電路和矩陣乘法電路完成相應的操作,系數(shù)將會出現(xiàn)在輸 出端C上。
      3.一種并行SCRAMBLE算法Verilog HDL代碼自動生成方法,其特征在于,該方法包括1)提取設計參數(shù)N,M,A,INT,得到并行SCRAMBLE算法系數(shù)產生電路的一般表達式SN_ DM_A_INT ;所述并行SCRAMBLE算法系數(shù)產生電路的一般表達式SN_DM_A_INT的邏輯電路用 公式2表示, <formula>formula see original document page 2</formula>2)把設計參數(shù)N,Μ,A, INT按照系數(shù)產生電路設計步驟得到并行CRC算法系數(shù)產生電路;3)在modelsim上運行VG.ν得到系數(shù)文件C. txt ;4)在modelsim上運行VG.ν得到并行CRC電路Verilog代碼F. txt。
      4.根據(jù)權利要求3所述并行SCRAMBLE算法VerilogHDL代碼自動生成方法,其特征在 于所述設計參數(shù)提取方法為1)根據(jù)串行SCRAMBLE電路結構得到公式一G(X)=^(AkXk)(其中 Ak = O 或 1) (O ≤ k ≤ N)(公式 1)和 SN_A_INT, k=02)N的值等于k的最大值,即N;3)A為N+1位二進制數(shù),Ak為一位二進制數(shù),取值只能為O或1,在verilogHDL代碼中 可以表示為 Α[Ν:0] = {An,An_1 · · ·,AJ ;4)INT為串行SCRAMBLE電路中觸發(fā)器DFFtl至DFF1^1中Q端的初值,DFFi (O彡i彡N-1) 的值可以用Ci (O彡i彡N-1)來表示,此Ci就是公式2中的Ci, Ci為一位二進制數(shù),取值只 能為 O 或 1 ;在 verilogHDL 代碼中可以表示為 INT[N_1:0] = (Cn^1 , CN_2,· · ·,Cj ;
      5.根據(jù)權利要求3所述并行SCRAMBLE算法VerilogHDL代碼自動生成方法,其特征在 于所述設計參數(shù)提取方法還可為若并行SCRAMBLE的數(shù)據(jù)輸入端D的位寬為M,在veri IogHDL代碼中可以表示為 D[M-1:0] = {DN_i,Dn_2,...,Dq} ;Df(0 ^ f ^M-I)為串行 CRC 運算中第 f 此輸入的數(shù)據(jù),此0〃就是公式2中的Df。
      6.根據(jù)權利要求3 5所述并行SCRAMBLE算法Verilog HDL代碼自動生成方法,其特 征在于,所述并行SCRAMBLE算法系數(shù)產生電路進行以下步驟1)矩陣產生電路在狀態(tài)機電路的控制下,依次將A循環(huán)移位,并將結果依次存入觸發(fā) 器.MRO,MRl...MRN-I就是矩陣M第O行,第1行…第N-1行的值;2)矩陣轉置電路將矩陣產生電路的輸出在狀態(tài)機電路的控制下,將MR0,MR1,MRN-1的 第O位,第1位,第N-I位在選擇控制信號S3和S4的配合下,將矩陣M第一列的數(shù)轉為第 一行,依次執(zhí)行,直到將其轉置完成,轉置矩陣M_T的第1行,第2行,第N-I行依次出現(xiàn)在 觸發(fā)器的Q端;3)轉置矩陣在執(zhí)行的過程中只將初次的產生矩陣做轉置,其后將保持不變;4)矩陣乘法電路將矩陣M第i行和轉置矩陣M_T的第j行的每一位相與然后相異或, 得到乘法矩陣匪的第i行,第j列的值;5)算出每一行后,如果K< N,復制回路在狀態(tài)機的控制下通過矩陣產生電路中的多路 選擇器,將乘法矩陣匪逐行復制到產生矩陣M中,以供下次使用。若K = N,將矩陣匪打印 到C. txt中,以供VG. ν使用。6)在modeIsim 中運行 VG. ν 調用 C. txt 生成 F. txt。
      全文摘要
      一種并行SCRAMBLE算法Verilog HDL代碼自動生成器及方法,其生成器包括基于modelsim仿真平臺上系數(shù)產生電路和代碼產生模塊,系數(shù)產生電路運行產生的系數(shù)文件C.txt,代碼產生模塊VG.v再運行,并自動調用用CG.v生成的系數(shù)文件C.txt產生并行算法的表達式F.txt,這些表達式可以直接復制后,貼入verilog代碼便可直接使用;其方法包括1)提取設計參數(shù)N,M,A,INT,得到系數(shù)產生電路的一般表達式;2)把設計參數(shù)N,M,A,INT按照系數(shù)產生電路設計步驟得到系數(shù)產生電路;3)運行CG.v得到系數(shù)文件C.txt;4)運行VG.v得到并行CRC電路Verilog代碼F.txt。本發(fā)明使并行SCRAMBLE算法Verilog HDL代碼生成簡單化。
      文檔編號G06F9/44GK101814025SQ20091021935
      公開日2010年8月25日 申請日期2009年12月7日 優(yōu)先權日2009年12月7日
      發(fā)明者黨君禮, 劉升 申請人:西安奇維測控科技有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1