亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? crcgen.pl

?? crc校驗
?? PL
字號:
#!/usr/local/bin/perl5################################################################################        Author: Chris Borrelli#  Contributors: Nick Price, Mike Peattie# Last Modified: 02/26/2001, Chris Borrelli#       Version: 1.6##    Disclaimer: THESE DESIGNS ARE PROVIDED "AS IS" WITH NO WARRANTY #                WHATSOEVER AND XILINX SPECIFICALLY DISCLAIMS ANY #                IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR#                A PARTICULAR PURPOSE, OR AGAINST INFRINGEMENT.##  Copyright (c) 2001 Xilinx, Inc.  All rights reserved.################################################################################use strict;use Getopt::Long;################################################################################ Default CRC parameters###############################################################################my $modulename  = "crc32";my $input_width = 8;my $crc_width   = 32;my $filename    = "crc" . $crc_width . "_" . $input_width . ".v";my @polynomial  = (1, 1, 1, 0, 1, 1, 0, 1,                   1, 0, 1, 1, 1, 0, 0, 0,                   1, 0, 0, 0, 0, 0, 1, 1,                   0, 0, 1, 0, 0, 0, 0, 0, 1);my $reg_init    = "F";################################################################################ Defines###############################################################################my $input_msb_index = $input_width - 1;my $crc_msb_index   = $crc_width - 1;my $usage =    "\nUsage: crcgen.pl [-crcwidth <width:8,12,16,32>] " .   "[-inputwidth <width:1...32>]\n [-poly <polynomial>] " .   "[-crcinit <init:preset,reset>] " .   "<outfile>\n\n";################################################################################ Command-line Parsing###############################################################################my $help;my $crcwidth_opt;my $inputwidth_opt;my $poly_opt;my $crcinit_opt;if ( @ARGV > 0) {   GetOptions( 'crcwidth=i' => \$crcwidth_opt,               'inputwidth=i' => \$inputwidth_opt,               'poly=s' => \$poly_opt,               'crcinit=s' => \$crcinit_opt,               'help' => \$help)      or die $usage;}if ($help > 0) {die $usage;}if ($crcwidth_opt) {   if ($crcwidth_opt == 8 or $crcwidth_opt == 12 or        $crcwidth_opt == 16 or $crcwidth_opt == 32)   {      $crc_width = $crcwidth_opt;   }   else {die "\nERROR: Invalid CRC Width.\n" . $usage;}}if ($inputwidth_opt) {   if ($inputwidth_opt > 0 and $inputwidth_opt < 33) {      $input_width = $inputwidth_opt;   }   else {die "\nERROR: Invalid Input Width.\n" . $usage;}}if ($poly_opt) {   @polynomial = reverse(split //, $poly_opt);   if ($poly_opt =~ /[^0-1]/) {      die "\nERROR: Invalid Polynomial: $poly_opt.\n" . $usage;   } }if ($crcinit_opt) {   if ($crcinit_opt eq "preset") {      $reg_init = "F";   }   elsif ($crcinit_opt eq "reset") {      $reg_init = "0";   }   else { die "\nERROR: Invalid crcinit option: $crcinit_opt.\n" . $usage; }}if (@ARGV > 0) {   $filename    = $ARGV[0];} else {$filename = "crc" . $crc_width . "_" . $input_width . ".v";}open (OUTFILE, "> $filename") or die "Couldn't open file $filename: $!\n\n";################################################################################ Check validity of parameters###############################################################################if (@polynomial != ($crc_width + 1)) {   die "\nERROR: Invalid Polynomial length for CRC Width of $crc_width.\n" .        $usage;}if ( ($crc_width % $input_width) != 0) {   die "\nERROR: CRC Width must be evenly divisible by Input Width.\n" .        $usage;}################################################################################ Generate xor equations###############################################################################my $i;my $j;my @crc;my @ncrc;for ($i = 0; $i < $crc_width; $i++) {   $crc[$i] = "crc_reg[${i}]";}for ($i = 0; $i < $input_width; $i++) {   $ncrc[0] =  $crc[$crc_width-1] . " d[${i}]";   for ($j = 1; $j < $crc_width; $j++) {      if ($polynomial[$j] == 1) {         $ncrc[$j] = $crc[$j - 1] . " $crc[$crc_width-1] d[${i}]";      }      else {         $ncrc[$j] = $crc[$j -1];      }   }   @crc = @ncrc;}  ################################################################################ Optimize xor Equations###############################################################################my @crc_temp;my %crc_opt_hash;my $hash_key;my $hash_val;my @crc_opt;for ($i = 0; $i < $crc_width; $i++) {   @crc_temp = split(' ', $crc[$i]);   for ($j = 0; $j < ($#crc_temp+1); $j++){      if (defined ($crc_opt_hash{$crc_temp[$j]})) {         $crc_opt_hash{$crc_temp[$j]} =            $crc_opt_hash{$crc_temp[$j]} + 1;      }      else {$crc_opt_hash{$crc_temp[$j]} = 1;}   }   while ( ($hash_key, $hash_val)=each %crc_opt_hash) {      if ($hash_val % 2 != 0) {         if (length($crc_opt[$i]) > 0) {            $crc_opt[$i] .= " ^ $hash_key";         }         else {            $crc_opt[$i] = "$hash_key";         }      }   }   ###############################   # clear hash for next iteration   while ( ($hash_key, $hash_val)=each %crc_opt_hash) {      delete $crc_opt_hash{$hash_key};   }}################################################################################ Generate Verilog source for Module statement and I/O definitions###############################################################################print OUTFILE <<END_OF_MODULE_DECLARATION;////////////////////////////////////////////////////////////////////////////////// crc calculation// This VERILOG code was generated using CRCGEN.PL version 1.6// Last Modified: 02/26/2001// Options Used://    Module Name = $modulename//      CRC Width = $crc_width//     Data Width = $input_width//     CRC Init   = $reg_init//     Polynomial = [0 -> $crc_width]//        @polynomial//// Disclaimer: THESE DESIGNS ARE PROVIDED "AS IS" WITH NO WARRANTY //             WHATSOEVER AND XILINX SPECIFICALLY DISCLAIMS ANY //             IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR//             A PARTICULAR PURPOSE, OR AGAINST INFRINGEMENT.//// Copyright (c) 2001 Xilinx, Inc.  All rights reserved.//////////////////////////////////////////////////////////////////////////////////module $modulename (   crc_reg,    crc,   d,   calc,   init,   d_valid,   clk,   reset   );output [$crc_msb_index:0] crc_reg;output [$input_msb_index:0]  crc;input  [$input_msb_index:0]  d;input         calc;input         init;input         d_valid;input         clk;input         reset;reg    [$crc_msb_index:0] crc_reg;reg    [$input_msb_index:0]  crc;//////////////////////////////////////////////////////////////////////////////// Internal Signals//////////////////////////////////////////////////////////////////////////////wire   [$crc_msb_index:0] next_crc;END_OF_MODULE_DECLARATION################################################################################ Generate Internal Perl Strings for Later Verilog source output###############################################################################$i = 0;my $crc_out1 = "";my $crc_out2 = "";my $a;for ($a=$crc_width-$input_width;$a<$crc_width;$a++) {   $crc_out1 = $crc_out1 . "next_crc[$a]";   $crc_out2 = $crc_out2 . "crc_reg[" . sprintf("%d", $a-$input_width) . "]";   $i = $i + 1;      if ($a < ($crc_width-1) ) {      $crc_out1 = $crc_out1 . ",";      $crc_out2 = $crc_out2 . ",";            if ($i == 4) {         $crc_out1 = $crc_out1 . "\n                   ";         $crc_out2 = $crc_out2 . "\n                   ";         $i = 0;      }      else {         $crc_out1 = $crc_out1 . " ";         $crc_out2 = $crc_out2 . " ";      }   }   }my $crc_reg_init = "";my $crc_init = "";for ($a=0;$a<($crc_width/4);$a++) {$crc_reg_init = $crc_reg_init . $reg_init;}for ($a=0;$a<($input_width/4);$a++) {$crc_init = $crc_init . $reg_init;}my $crc_reg_shift_index = $crc_width - $input_width - 1;################################################################################ Generate Verilog source for Registers and Control Logic###############################################################################print OUTFILE <<END_OF_REGISTERS;//////////////////////////////////////////////////////////////////////////////// Infer CRC-$crc_width registers// // The crc_reg register stores the CRC-$crc_width value.// The crc register is the most significant $input_width bits of the // CRC-$crc_width value.//// Truth Table:// -----+---------+----------+----------------------------------------------// calc | d_valid | crc_reg  | crc // -----+---------+----------+----------------------------------------------//  0   |     0   | crc_reg  | crc //  0   |     1   |  shift   | bit-swapped, complimented msbyte of crc_reg//  1   |     0   | crc_reg  | crc //  1   |     1   | next_crc | bit-swapped, complimented msbyte of next_crc// -----+---------+----------+----------------------------------------------// ////////////////////////////////////////////////////////////////////////////// always @ (posedge clk or posedge reset)begin   if (reset) begin      crc_reg <= ${crc_width}'h$crc_reg_init;      crc     <= ${input_width}'h$crc_init;   end      else if (init) begin      crc_reg <= ${crc_width}'h$crc_reg_init;      crc     <=  ${input_width}'h$crc_init;   end   else if (calc & d_valid) begin      crc_reg <= next_crc;      crc     <= ~{$crc_out1};   end      else if (~calc & d_valid) begin      crc_reg <=  {crc_reg[$crc_reg_shift_index:0], ${input_width}'h$crc_init};      crc     <= ~{$crc_out2};   endendEND_OF_REGISTERS################################################################################ Generate Verilog source from optimized xor equations###############################################################################print OUTFILE <<END_OF_XOR_COMMENTS;//////////////////////////////////////////////////////////////////////////////// CRC XOR equations//////////////////////////////////////////////////////////////////////////////END_OF_XOR_COMMENTSfor ($i = 0; $ i < $crc_width; $i++){  print OUTFILE "assign next_crc[${i}] = $crc_opt[$i];\n";}################################################################################ Generate Verilog source for endmodule statement###############################################################################print OUTFILE "endmodule\n";close (OUTFILE);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99riav一区二区三区| 亚洲美女淫视频| 一区二区三区在线视频免费| 日日夜夜精品免费视频| 93久久精品日日躁夜夜躁欧美| 日韩精品一区二区三区在线| 一区二区三区色| 成人91在线观看| 精品伦理精品一区| 午夜精品久久久久久久99水蜜桃| 国产精品自拍毛片| 欧美成人在线直播| 日韩综合一区二区| 91久久一区二区| 欧美激情在线免费观看| 九色综合狠狠综合久久| 欧美一区二区三区婷婷月色| 亚洲精品日产精品乱码不卡| 成人性视频网站| 久久天堂av综合合色蜜桃网| 亚洲超碰97人人做人人爱| av亚洲精华国产精华| 久久久久久亚洲综合| 精品一区二区三区视频| 亚洲午夜一区二区| av电影一区二区| 国产精品毛片a∨一区二区三区| 国产精品自在在线| 久久久久久久精| 国产成人精品一区二| 久久蜜桃香蕉精品一区二区三区| 六月丁香综合在线视频| 日韩午夜激情av| 久久国产精品第一页| 精品国产凹凸成av人网站| 六月丁香婷婷久久| 国产日韩欧美精品在线| 国产成人av福利| 欧美国产激情一区二区三区蜜月| 国产高清亚洲一区| 中文字幕在线免费不卡| 成人精品一区二区三区中文字幕| 国产色爱av资源综合区| 国产成人av电影在线| 国产精品久久久久久久浪潮网站| 成人丝袜视频网| 一区二区三区在线播| 欧美高清性hdvideosex| 日韩国产精品久久久久久亚洲| 欧美va亚洲va国产综合| 国产精品资源在线观看| 欧美经典一区二区| 91官网在线免费观看| 免费欧美日韩国产三级电影| 欧美成人欧美edvon| 国产精品1区2区3区在线观看| 亚洲国产精品二十页| 日本一区二区三区四区| 91麻豆精品一区二区三区| 亚洲香蕉伊在人在线观| 日韩午夜激情av| av亚洲精华国产精华精| 日韩精品电影一区亚洲| 国产亚洲精品久| 欧美日韩一区二区三区在线| 精久久久久久久久久久| 亚洲激情五月婷婷| 亚洲精品在线网站| 欧洲一区在线观看| 国产寡妇亲子伦一区二区| 亚洲国产另类av| 中文字幕精品一区二区三区精品| 欧美性色黄大片| 国产91在线观看丝袜| 亚洲成人综合网站| 国产日韩欧美精品在线| 91精品国产综合久久福利软件| 国产精品一区二区在线播放 | 成人动漫在线一区| 日本视频中文字幕一区二区三区| 国产亚洲欧洲997久久综合| 欧洲一区在线观看| 成人a级免费电影| 美女国产一区二区三区| 亚洲精品成人在线| 欧美激情在线看| 亚洲精品一区在线观看| 欧美视频一区在线| 99久久99久久精品免费看蜜桃| 美女视频网站久久| 亚洲一区二区偷拍精品| 国产女人18水真多18精品一级做| 7777精品伊人久久久大香线蕉经典版下载| av中文字幕亚洲| 国产成人精品亚洲日本在线桃色| 免费在线观看视频一区| 一区二区三区高清在线| 中文字幕五月欧美| 国产精品久久久久久久久晋中| 2017欧美狠狠色| 欧美大片一区二区三区| 欧美日韩视频专区在线播放| 91视频在线观看免费| 成人美女视频在线观看18| 国产精品亚洲专一区二区三区 | 国产精品久久久久久久久图文区| 日韩欧美一区在线观看| 欧美日韩在线免费视频| 91视视频在线观看入口直接观看www| 国产高清在线观看免费不卡| 国产精品中文字幕日韩精品| 久久99久久99小草精品免视看| 日韩中文字幕区一区有砖一区 | 国产麻豆精品theporn| 美女视频黄久久| 九九国产精品视频| 久久精品国产在热久久| 九九精品视频在线看| 国产乱码字幕精品高清av| 国产乱子轮精品视频| 国产在线日韩欧美| 国产福利不卡视频| 不卡在线视频中文字幕| 91在线视频免费91| 欧美亚洲国产怡红院影院| 在线亚洲精品福利网址导航| 欧洲另类一二三四区| 3d成人h动漫网站入口| 日韩一级二级三级| 欧美成人r级一区二区三区| 精品国产99国产精品| 国产色一区二区| 一区二区三区在线免费观看| 午夜不卡av在线| 狠狠v欧美v日韩v亚洲ⅴ| 岛国精品在线观看| 色一区在线观看| 欧美久久一二三四区| 精品国产电影一区二区| 国产精品麻豆网站| 婷婷久久综合九色综合绿巨人 | 精品国产123| 国产精品超碰97尤物18| 亚洲一线二线三线久久久| 日韩成人免费电影| 粉嫩一区二区三区性色av| 色老头久久综合| 精品国内二区三区| 亚洲色图另类专区| 老司机精品视频线观看86| 成人午夜电影久久影院| 欧美日韩国产首页| 欧美激情一区三区| 亚洲成人动漫在线观看| 粉嫩欧美一区二区三区高清影视| 91久久线看在观草草青青| 欧美精品在线观看播放| 中文在线免费一区三区高中清不卡| 亚洲精品乱码久久久久久日本蜜臀| 奇米色一区二区| 91捆绑美女网站| 精品国产三级a在线观看| 亚洲欧洲av在线| 九色综合狠狠综合久久| 欧美日韩国产综合久久| 国产日产欧美一区二区视频| 亚洲va欧美va国产va天堂影院| 国产又粗又猛又爽又黄91精品| 在线亚洲+欧美+日本专区| 国产亚洲欧美在线| 天天色综合天天| 在线一区二区三区| 久久久www免费人成精品| 天天影视色香欲综合网老头| 北条麻妃一区二区三区| 精品动漫一区二区三区在线观看| 亚洲精品欧美二区三区中文字幕| 国产精品一级在线| 日韩欧美高清一区| 亚洲不卡av一区二区三区| 成人禁用看黄a在线| 日韩免费观看2025年上映的电影| 一区二区三区小说| 99久久精品免费看国产 | 一区二区欧美在线观看| 成人黄色网址在线观看| 久久日韩精品一区二区五区| 日本在线不卡视频| 欧美一区二区视频网站| 亚洲综合视频在线| 欧美主播一区二区三区| 一区二区三区在线观看国产| 99久久久国产精品免费蜜臀| 国产日本欧美一区二区| 国产精品亚洲第一区在线暖暖韩国| 欧美日本国产一区| 丝袜亚洲精品中文字幕一区| 欧美日韩mp4| 日本不卡高清视频| 日韩片之四级片|