国产精品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>

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

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

      發(fā)明內(nèi)容
      本發(fā)明的目的在于提供一種并行CRC算法Verilog HDL代碼自動生成器及其方法,其解決了背景技術中并行CRC算法Verilog HDL代碼生成復雜的技術問題。本發(fā)明的技術解決方案是一種并行CRC算法Verilog HDL代碼自動生成器,其特殊之處在于提供系數(shù)產(chǎn)生 電路拓撲結構,其包括基于modelsim仿真平臺上系數(shù)產(chǎn)生電路代碼原型,所述系數(shù)產(chǎn)生電 路代碼CG. ν在modelsim仿真平臺上運行產(chǎn)生的系數(shù)文件C. txt,所述Verilog代碼產(chǎn)生文 件VG. ν在modelsim仿真平臺上再運行,并自動調(diào)用CG. ν生成的系數(shù)文件C. txt產(chǎn)生得到 并行CRC電路Verilog代碼文件F. txt。上述系數(shù)產(chǎn)生電路包括產(chǎn)生代表輸入數(shù)據(jù)的二進制代碼D[2N_1:0]的2N-1位移 位寄存器組(DFFS),產(chǎn)生時鐘(elk)、復位(reset)以及M個elk時鐘長度的使能信號(en_ Μ)的控制信號發(fā)生器(CSG)和產(chǎn)生并行CRC計算公式的系數(shù)的系數(shù)產(chǎn)生模塊(CGB)。上述系數(shù)產(chǎn)生模塊(CGB)包括反饋環(huán)路(FL),串行模塊(SB)和產(chǎn)生復位時Q端的 初值的復位值(RV)電路。一種并行CRC算法Verilog HDL代碼自動生成方法,其特殊之處在于,該方法包 括1)提取設計參數(shù)N,M,A,INT,得到并行CRC算法系數(shù)產(chǎn)生電路的一般表達式CRCN_ DM_A_INT ;所述并行CRC算法系數(shù)產(chǎn)生電路的一般表達式CRCN_DM_A_INT的邏輯電路用公 式2表不,<formula>formula see original document page 5</formula><formula>formula see original document page 5</formula>2)把設計參數(shù)N,Μ, A, INT按照系數(shù)產(chǎn)生電路設計步驟得到并行CRC算法系數(shù)產(chǎn) 生電路;3)將系數(shù)產(chǎn)生電路用verilog代碼表示為CG. ν ;4)在modelsim上運行CG. ν得到系數(shù)文件C. txt ;5)在modelsim上運行VG. ν得到并行CRC電路Verilog代碼F. txt。上述設計參數(shù)提取方法為1)根據(jù)串行CRC電路結構得到公式一
      k^NG(X) = J^(AkXk)(其中 Ak = O或 1) (O < k<N)(公式 1)和 CRCN—A—INT,
      fc=02) N的值等于k的最大值,即N ;3) A為N+1位二進制數(shù),Ak為一位二進制數(shù),取值只能為O或1,在verilogHDL代 碼中可以表示為 Α[Ν:0] = {An,An_i; . . . , A0};4) INT為串行CRC電路中觸發(fā)器DFFtl至DFF1^1中Q端的初值,DFFi (O彡i彡N-1) 的值可以用Ci (O彡i彡N-1)來表示,此Ci就是公式2中的Ci, Ci為一位二進制數(shù),取值只 能為 O 或 1 ;在 verilog HDL 代碼中可以表示為 INT[N_1:0] = IC1^1,CN_2,. . .,C。}。上述設計參數(shù)提取方法還可為若并行CRC的數(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ù)產(chǎn)生電路設計步驟包括1)提供一個產(chǎn)生代表輸入數(shù)據(jù)的二進制代碼D[2N_1:0]的2N_1位移位寄存器組 (DFFS);2)提供一個產(chǎn)生時鐘(elk)、復位(reset)以及M個elk時鐘長度的使能信號(en_ Μ)的控制信號發(fā)生器(CSG)
      3)提供一個產(chǎn)生并行CRC計算公式的系數(shù)的系數(shù)產(chǎn)生模塊(CGB)。上述系數(shù)產(chǎn)生模塊(CGB)中的串行模塊(SB)由N-I個模塊組成,其中任意一個模 塊j (1 <= j <=n-l)對應的電路結構都是反饋異或電路(FXOR)或無反饋電路(NF)中 的一種。上述A的二進制表示為An. · .A1Atl, Al到AN表示為A [1:N_1];當^為0時,(1彡j彡N-1)模塊j對應的電路結構為反饋異或電路(FXOR)。當Aj為1時,(1彡j彡N-1)模塊j對應的電路結構為無反饋電路(NF)。本發(fā)明的優(yōu)點在于并行CRC算法Verilog HDL代碼生成迅速,且直接可以使用。


      圖1為本發(fā)明設計流程示意圖;圖2為CRCN_DM_A_INT并行算法系數(shù)產(chǎn)生電路;圖3為系數(shù)產(chǎn)生模塊(CGB);圖4為反饋環(huán)路(FL);圖5為串行模塊(SB);圖6為反饋異或電路(FXOR);圖7為無反饋電路(NF)。
      具體實施例方式本發(fā)明是將串行CRC電路轉(zhuǎn)化為并行CRC電路,即根據(jù)串行CRC電路的結構或者 表達式(公式一),得到并行CRC電路。并行CRC電路可以用Verilog代碼(F.txt)表示; 其一般形式用公式2表示,具體的代碼將會產(chǎn)生在文件F. txt中;公式2中的核心問題是各項的系數(shù)Qj[i],具體的系數(shù)會產(chǎn)生在文件C. txt中;文件C. txt可以在modelsim中運行CG. ν產(chǎn)生;CG. ν是并行CRC系數(shù)產(chǎn)生電路CRCN_DM_A_INT的veriIogHDL代碼表示方法;CRC 系數(shù)產(chǎn)生電路是本專利保護的核心,其設計方式由系數(shù)產(chǎn)生電路設計步驟(附件三)給 出;設計步驟要用到的參數(shù)為N,M,A,INT參數(shù)N,A,INT可由公式1得到,具體方法見設計參數(shù)提取方法一(附件一);參數(shù)M為并行CRC數(shù)據(jù)data的寬度,具體方法見設計參數(shù)提取方法二(附件二);因此本發(fā)明的設計流程概要為見圖11 按附件一,二提取設計參數(shù) N,M,A,INT,得到 CRCN_DM_A_INT ;2 把設計參數(shù)N,M,A,INT按照附件二中所提供的系數(shù)產(chǎn)生電路設計步驟得到圖--;3 將圖二用verilog代碼表示為CG. ν ;4 在modelsim上運行CG. ν得到系數(shù)文件C. txt ;5 在 modelsim 上運行 VG. ν 得到并行 CRC 電路 Verilog 代碼(F. txt)附件一設計參數(shù)提取方法一1 根據(jù)串行CRC電路結構得到公式一
      k-NG(X) = Yu (AkXk)(其中 Ak = O 或 1) (O 彡 k 彡 N)(公式 1)和 CRCN_A_INT,2 =N的值等于k的最大值,即N ;3 =A為N+1位二進制數(shù),Ak為一位二進制數(shù),取值只能為0或1,在verilogHDL代 碼中可以表示為 Α[Ν:0] = {An,An_i; . . . , A0};4 :INT為串行CRC電路中觸發(fā)器DFFtl至DFF1^1中Q端的初值,DFFi (0彡i彡N-1) 的值可以用Ci (0彡i彡N-1)來表示,此Ci就是公式2中的Ci, Ci為一位二進制數(shù),取值只 能為 0 或 1 ;在 verilogHDL 代碼中可以表示為 INT[N_1:0] = (Cn^1 , CN_2,· · ·,Cj ;附件二 設計參數(shù)提取方法二1 若并行CRC的數(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ù)產(chǎn)生電路設計步驟電路結構由圖(2-7)和步驟(1-9)來闡述步驟1 :CRCN_DM_A_INT并行算法系數(shù)產(chǎn)生電路(圖2)主要由三個部分組成2N_1 位移位寄存器組(DFFS)、控制信號發(fā)生器(CSG)、系數(shù)產(chǎn)生模塊(CGB)(圖3);步驟2 =DFFS的作用是產(chǎn)生代表輸入數(shù)據(jù)的二進制代碼D [2N-1 0];步驟3 =CSG的作用是產(chǎn)生時鐘(elk)、復位(reset)、M個elk時鐘長度的使能信 號(en_M);步驟4 =CGB的作用是產(chǎn)生并行CRC計算公式的系數(shù),其由反饋環(huán)路(FL)(圖4), 串行模塊(SB)(圖5)和復位值(RV)電路組成;步驟5 :SB由N-I個模塊組成,其中任意一個模塊j (1 < = j < = n-1)對應的電 路結構都是反饋異或電路(FXOR)或無反饋電路(NF)中的一種,具體對應方式由7、8說明;步驟6:A的二進制表示為AN…A1A(1,Al到AN表示為A[l:N-l];步驟7 ^.為0時,(l^j ^N-I)模塊j對應的電路結構為反饋異或電路(FX0R(圖 6);步驟8 -.Aj為1時,(1彡j彡N-1)模塊j對應的電路結構為無反饋電路(NF)(圖 7);步驟9 復位值(RV)電路是產(chǎn)生復位時Q端的初值。
      權利要求
      一種并行CRC算法Verilog HDL代碼自動生成器,其特征在于包括基于modelsim仿真平臺上系數(shù)產(chǎn)生電路,所述系數(shù)產(chǎn)生電路在modelsim仿真平臺上運行產(chǎn)生的系數(shù)文件C.txt,所述系數(shù)產(chǎn)生電路在modelsim仿真平臺上再運行,并自動調(diào)用用verilog代碼表示為CG.v的系數(shù)文件C.txt產(chǎn)生得到并行CRC電路Verilog代碼文件F.txt。
      2.根據(jù)權利要求1所述并行CRC算法VerilogHDL代碼自動生成器,其特征在于所 述系數(shù)產(chǎn)生電路包括產(chǎn)生代表輸入數(shù)據(jù)的二進制代碼D[2N-1:0]的2N-1位移位寄存器組 (DFFS),產(chǎn)生時鐘(elk)、復位(reset)以及M個elk時鐘長度的使能信號(en_M)的控制信 號發(fā)生器(CSG)和產(chǎn)生并行CRC計算公式的系數(shù)的系數(shù)產(chǎn)生模塊(CGB)。
      3.根據(jù)權利要求2所述并行CRC算法VerilogHDL代碼自動生成器,其特征在于所 述系數(shù)產(chǎn)生模塊(CGB)包括反饋環(huán)路(FL),串行模塊(SB)和產(chǎn)生復位時Q端的初值的復位 值(RV)電路。
      4.一種并行CRC算法Verilog HDL代碼自動生成方法,其特征在于,該方法包括1)提取設計參數(shù)N,M,A,INT,得到并行CRC算法系數(shù)產(chǎn)生電路的一般表達式CRCN_DM_ A_INT ;所述并行CRC算法系數(shù)產(chǎn)生電路的一般表達式CRCN_DM_A_INT的邏輯電路用公式2 表不,<formula>formula see original document page 2</formula>2)把設計參數(shù)N,Μ,A, INT按照系數(shù)產(chǎn)生電路設計步驟得到并行CRC算法系數(shù)產(chǎn)生電路;3)將系數(shù)文件C.txt用verilog代碼表示為CG. ν ;4)在modelsim上運行CG.ν得到系數(shù)文件C. txt ;5)在modelsim上運行VG.ν得到并行CRC電路Verilog代碼F. txt。
      5.根據(jù)權利要求4所述并行CRC算法VerilogHDL代碼自動生成方法,其特征在于 所述設計參數(shù)提取方法為1)根據(jù)串行CRC電路結構得到公式一<formula>formula see original document page 2</formula>2)N的值等于k的最大值,即N;3)A為N+1位二進制數(shù),Ak為一位二進制數(shù),取值只能為O或1,在verilogHDL代碼中 可以表示為 Α[Ν:0] = {An,An_1 · · ·,AJ ;4)INT為串行CRC電路中觸發(fā)器DFFtl至DFF1^1中Q端的初值,DFFi (O彡i彡N-1)的值 可以用Ci(C)彡i彡N-1)來表示,此Ci就是公式2中的CpCi為一位二進制數(shù),取值只能為 O 或 1 ;在 verilog HDL 代碼中可以表示為 INT[N_1:0] = (Cn^1 , CN_2,· · ·,C0}。
      6.根據(jù)權利要求4所述并行CRC算法VerilogHDL代碼自動生成方法,其特征在于 所述設計參數(shù)提取方法還可為若并行CRC的數(shù)據(jù)輸入端D的位寬為M,在verilogHDL代碼 中可以表示為D[M-1:0] = {Dn_1 Dn_2, ... , D0} ;Df(0^ f ^M-D為串行CRC運算中第f此 輸入的數(shù)據(jù),此Df就是公式2中的Df。
      7.根據(jù)權利要求4 6所述并行CRC算法VerilogHDL代碼自動生成方法,其特征在 于所述按照系數(shù)產(chǎn)生電路設計步驟包括1)提供一個產(chǎn)生代表輸入數(shù)據(jù)的二進制代碼D[2N-1:0]的2N-1位移位寄存器組 (DFFS);2)提供一個產(chǎn)生時鐘(elk)、復位(reset)以及M個elk時鐘長度的使能信號(en_M) 的控制信號發(fā)生器(CSG);3)提供一個產(chǎn)生并行CRC計算公式的系數(shù)的系數(shù)產(chǎn)生模塊(CGB)。
      8.根據(jù)權利要求7所述并行CRC算法VerilogHDL代碼自動生成方法,其特征在于所 述系數(shù)產(chǎn)生模塊(CGB)中的串行模塊(SB)由N-I個模塊組成,其中任意一個模塊j(l < = j <= n-1)對應的電路結構都是反饋異或電路(FXOR)或無反饋電路(NF)中的一種。
      9.根據(jù)權利要求8所述并行CRC算法VerilogHDL代碼自動生成方法,其特征在于 所述A的二進制表示為AN. .. A1Atl, Al到AN表示為A [1: N-1];當^為O時,(1≤j≤N-1)模塊j對應的電路結構為反饋異或電路(FXOR)。
      10.根據(jù)權利要求8所述并行CRC算法VerilogHDL代碼自動生成方法,其特征在于 所述A的二進制表示為AN. .. A1Atl, Al到AN表示為A [1: N-1];當Aj為1時,(1≤j≤N-1)模塊j對應的電路結構為無反饋電路(NF)。
      全文摘要
      一種并行CRC算法Verilog HDL代碼自動生成器及其方法,其生成器包括基于modelsim仿真平臺上系數(shù)產(chǎn)生電路,系數(shù)產(chǎn)生電路代碼CG.v運行產(chǎn)生的系數(shù)文件C.txt,Verilog代碼產(chǎn)生文件VG.v再運行,產(chǎn)生得到Verilog代碼文件F.txt;其方法包括1)提取設計參數(shù)N,M,A,INT;2)把設計參數(shù)N,M,A,INT按照系數(shù)產(chǎn)生電路設計步驟得到系數(shù)產(chǎn)生電路;3)將系數(shù)產(chǎn)生電路用verilog代碼表示為CG.v;4)運行CG.v得到系數(shù)文件C.txt;5)運行VG.v得到并行CRC電路Verilog代碼F.txt。本發(fā)明將并行CRC算法Verilog HDL代碼生成簡單化。
      文檔編號G06F9/44GK101826011SQ20091021935
      公開日2010年9月8日 申請日期2009年12月7日 優(yōu)先權日2009年12月7日
      發(fā)明者黨君禮, 劉升 申請人:西安奇維測控科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1