JP2024066590A - Crc演算回路及び異常監視システム - Google Patents

Crc演算回路及び異常監視システム Download PDF

Info

Publication number
JP2024066590A
JP2024066590A JP2022176042A JP2022176042A JP2024066590A JP 2024066590 A JP2024066590 A JP 2024066590A JP 2022176042 A JP2022176042 A JP 2022176042A JP 2022176042 A JP2022176042 A JP 2022176042A JP 2024066590 A JP2024066590 A JP 2024066590A
Authority
JP
Japan
Prior art keywords
circuit
data
crc
bit
logic circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022176042A
Other languages
English (en)
Inventor
達彦 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rohm Co Ltd filed Critical Rohm Co Ltd
Priority to JP2022176042A priority Critical patent/JP2024066590A/ja
Publication of JP2024066590A publication Critical patent/JP2024066590A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

【課題】大量のデータに関するCRCコードを短時間で作成することができるCRC演算回路を提供する。【解決手段】CRC演算回路(3)は、第1データをXビット単位で複数の第2データに成形するように構成された成形回路(31)と、前記第2データからシリアル処理でCRCコードを算出する演算過程を解析して導き出される所定の演算式に基づいて、前記第2データからパラレル処理で前記CRCコードを算出するように構成された論理回路(32、33)と、前記論理回路のXビット出力を保持するように構成された保持回路(34)と、を備える。前記論理回路がY番目の前記第2データを入力するとき、前記論理回路の初期値は、Y-1番目の前記第2データが入力されたときに前記保持回路によって保持される前記論理回路の前記Xビット出力である。Xは自然数であり、Yは2以上の自然数である。【選択図】図2

Description

本明細書中に開示されている発明は、CRC(Cyclic Redundancy Check)演算回路及び当該CRC演算回路を備える異常監視システムに関する。
電源IC(Integrated Circuit)等の半導体集積回路装置は、レジスタを備える。半導体集積回路装置は、レジスタに記憶される各種の設定に応じて動作する。したがって、レジスタに記憶される各種の設定を変更することで、半導体集積回路装置の動作を変更することができる。
半導体集積回路装置に宇宙線等の放射線が通過又は衝突することにより電子正孔対が生成され、レジスタの保持値が反転することでソフトエラーが発生することがある。
ソフトエラーの発生有無を確認する手法として、レジスタの保持値をCRC演算する手法がある。
図1は、一般的なCRC演算回路の構成を示す図である。図1に示すCRC演算回路は、フリップフロップFF0~FF15と、排他的論理和回路XOR1~XOR3と、を備え、シリアルでデータ処理を実施する。従って、図1に示すCRC演算回路は、例えば1つの16ビットのCRCコードを作成するために16サイクルの時間を必要とする。つまり、図1に示すCRC演算回路は、処理時間が長いという問題を有する。
特開2010-16751号公報
特許文献1には、1サイクルで1つの16ビットのCRCコードを作成することができるCRC演算回路が開示されている。
しかしながら、特許文献1に開示されているCRC演算回路は、入力データが8ビットのデータであるという制約があり、大量のデータに関するCRCコードを作成することができなかった。
本明細書中に開示されているCRC演算回路は、第1データをXビット単位で複数の第2データに成形するように構成された成形回路と、前記第2データからシリアル処理でCRCコードを算出する演算過程を解析して導き出される所定の演算式に基づいて、前記第2データからパラレル処理で前記CRCコードを算出するように構成された論理回路と、前記論理回路のXビット出力を保持するように構成された保持回路と、を備える。前記論理回路がY番目の前記第2データを入力するとき、前記論理回路の初期値は、Y-1番目の前記第2データが入力されたときに前記保持回路によって保持される前記論理回路の前記Xビット出力であり、Xは自然数であり、Yは2以上の自然数である。
本明細書中に開示されている異常監視システムは、上記構成のCRC演算回路を備え、前記第1データは、レジスタに格納されているレジスタ値であり、前記レジスタをさらに備える。
本明細書中に開示されている発明によれば、大量のデータに関するCRCコードを短時間で作成することができる。
図1は、一般的なCRC演算回路の構成を示す図である。 図2は、実施形態に係る異常監視システムの構成を示す図である。
入力数が3以上の排他的論理和回路は、入力される真の個数が奇数か否かを判定している。入力数が3以上の排他的論理和回路は、入力される真の個数が奇数であれば真を出力し、入力される真の個数が零又は偶数であれば偽を出力する。
16ビットのCRCコードは、x16+x12+x+1で表される。当該多項式は、どこの排他的論理和をとるかを示すものである。
図1に示すCRC演算回路におけるデータからシリアル処理でCRC符号を算出する演算過程を1サイクル終了後から順次解析すると、16サイクル終了後のCRCコードは次のようになる。
16サイクル終了後のCRCコードの0ビット目は、入力データの0ビット目と11ビット目と4ビット目と8ビット目と12ビット目との排他的論理和である。
16サイクル終了後のCRCコードの1ビット目は、入力データの1ビット目と12ビット目と5ビット目と9ビット目と13ビット目との排他的論理和である。
16サイクル終了後のCRCコードの2ビット目は、入力データの2ビット目と13ビット目と6ビット目と10ビット目と14ビット目との排他的論理和である。
16サイクル終了後のCRCコードの3ビット目は、入力データの3ビット目と14ビット目と7ビット目と11ビット目と15ビット目との排他的論理和である。
16サイクル終了後のCRCコードの4ビット目は、入力データの4ビット目と15ビット目と8ビット目と12ビット目との排他的論理和である。
16サイクル終了後のCRCコードの5ビット目は、入力データの5ビット目と9ビット目と13ビット目と0ビット目と11ビット目と4ビット目と8ビット目と12ビット目との排他的論理和である。
16サイクル終了後のCRCコードの6ビット目は、入力データの6ビット目と10ビット目と14ビット目と1ビット目と12ビット目と5ビット目と9ビット目と13ビット目との排他的論理和である。
16サイクル終了後のCRCコードの7ビット目は、入力データの7ビット目と11ビット目と15ビット目と2ビット目と13ビット目と6ビット目と10ビット目と14ビット目との排他的論理和である。
16サイクル終了後のCRCコードの8ビット目は、入力データの8ビット目と12ビット目と3ビット目と14ビット目と7ビット目と11ビット目と15ビット目との排他的論理和である。
16サイクル終了後のCRCコードの9ビット目は、入力データの9ビット目と13ビット目と4ビット目と15ビット目と8ビット目と12ビット目との排他的論理和である。
16サイクル終了後のCRCコードの10ビット目は、入力データの10ビット目と14ビット目と5ビット目と9ビット目と13ビット目との排他的論理和である。
16サイクル終了後のCRCコードの11ビット目は、入力データの11ビット目と15ビット目と6ビット目と10ビット目と14ビット目との排他的論理和である。
16サイクル終了後のCRCコードの12ビット目は、入力データの7ビット目と15ビット目と0ビット目と4ビット目と8ビット目との排他的論理和である。
16サイクル終了後のCRCコードの13ビット目は、入力データの8ビット目と1ビット目と5ビット目と9ビット目との排他的論理和である。
16サイクル終了後のCRCコードの14ビット目は、入力データの9ビット目と2ビット目と6ビット目と10ビット目との排他的論理和である。
16サイクル終了後のCRCコードの15ビット目は、入力データの10ビット目と3ビット目と7ビット目と11ビット目との排他的論理和である。
図2は、実施形態に係る異常監視システムの構成を示す図である。異常監視システム1は、レジスタ2と、CRC演算回路3と、を備える。
レジスタ2は、8ビットのレジスタ値を多数記憶している。なお、レジスタ2は、単一のレジスタで構成されてもよく、複数のレジスタで構成されてもよい。
CRC演算回路3は、レジスタ2によって記憶されている複数のレジスタ値の一部又は全部に関するCRCコードを生成する。CRC演算回路3は、上述した解析の結果を利用した回路構成であって、成形回路31と、排他的論理和回路32と、CRCコード生成回路33と、保持回路34と、を備える。
成形回路31は、レジスタ2によって記憶されている複数のレジスタ値の一部又は全部を、16ビット単位で複数のデータに成形し、複数の16ビットのデジタルデータを順次出力する。具体的には、成形回路31は、レジスタ値選択信号に基づき、レジスタ2から任意の2つの8ビットのレジスタ値を選択し、選択した2つの8ビットのレジスタ値を合わせて16ビットのデータを生成して排他的論理和回路32に出力する。
排他的論理和回路32は、成形回路31の出力と保持回路34の出力との排他的論理和を生成してCRCコード生成回路33に出力する。これにより、排他的論理和回路32及びCRCコード生成回路33によって構成される論理回路が成形回路31から供給されるY番目の16ビットのデータを入力するとき、上記の論理回路の初期値は、成形回路31から供給されるY-1番目の16ビットのデータが入力されたときに保持回路34によって保持される上記論理回路の16ビットのデータとなる。なお、上記のYは2以上の自然数である。
上記の論理回路に1番目の16ビットのデータが入力されるとき、上記の論理回路の初期値は、上述した所定の演算式に応じた所定値であればよい。上述した所定の演算式に応じた所定値は、保持回路34がリセットされた後の保持回路34の出力であればよい。
上記の論理回路に含まれるCRCコード生成回路33は、成形回路31の出力である16ビットのデータからシリアル処理でCRCコードを算出する演算過程を解析して導き出される所定の演算式(上記の解析結果)に基づいて、成形回路31の出力である16ビットのデータからパラレル処理で成形回路31の出力である16ビットのデータに関するCRCコードを算出する。
保持回路34は、上記の論理回路から出力される16ビットのデータを保持する。
成形回路31が、レジスタ2によって記憶されている複数のレジスタ値の一部又は全部に対応する複数の16ビットのデジタルデータの順次出力を完了し、上記の論理回路がCRCコードの算出を完了すると、保持回路34は、レジスタ2によって記憶されている複数のレジスタ値の一部又は全部に関するCRCコードを保持することになる。
CRC演算回路3は、成形回路31によって成形される16ビットのデータの個数を増やすことで、大量のデータに関するCRCコードを生成することができる。また、CRC演算回路3は、16ビットのデータに関するCRCコードを1サイクルで算出することができるので、大量のデータに関するCRCコードを短時間で作成することができる。
異常監視システム1では、保持回路34に保持されている「レジスタ2によって記憶されている複数のレジスタ値の一部又は全部に関するCRCコード」が監視されることで、「レジスタ2によって記憶されている複数のレジスタ値の一部又は全部」の異常有無が監視される。
「レジスタ2によって記憶されている複数のレジスタ値の一部又は全部」の異常はいつ発生するか分からないため、異常監視システム1では、「レジスタ2によって記憶されている複数のレジスタ値の一部又は全部に関するCRCコード」がCRC回路1によって定期的に算出されることが望ましい。
<その他>
本開示の実施形態は、特許請求の範囲に示された技術的思想の範囲内において、適宜、種々の変更が可能である。これまでに説明してきた各種の実施形態は、矛盾のない範囲で適宜組み合わせて実施してもよい。以上の実施形態は、あくまでも、本開示の実施形態の例であって、本開示ないし各構成要件の用語の意義は、以上の実施形態に記載されたものに制限されるものではない。
上述した実施形態では、CRCコードの算出方式としてCRC-16方式が採用されているが、CRC-6、CRC-8、CRC-12、CRC32、CRC-CCITTなど、いかなる算出方式が用いられてもよい。つまり、成形回路31における成形のビット単位は16ビット単位に限定されない。成形回路31における成形のビット単位はXビット単位であればよい。なお、上記のXは自然数である。
<付記>
上述の実施形態にて具体的構成例が示された本開示について付記を設ける。
本開示のCRC演算回路(3)は、第1データをXビット単位で複数の第2データに成形するように構成された成形回路(31)と、前記第2データからシリアル処理でCRCコードを算出する演算過程を解析して導き出される所定の演算式に基づいて、前記第2データからパラレル処理で前記CRCコードを算出するように構成された論理回路(32、33)と、前記論理回路のXビット出力を保持するように構成された保持回路(34)と、を備え、前記論理回路がY番目の前記第2データを入力するとき、前記論理回路の初期値は、Y-1番目の前記第2データが入力されたときに前記保持回路によって保持される前記論理回路の前記Xビット出力であり、Xは自然数であり、Yは2以上の自然数である構成(第1の構成)である。
上記第1の構成のCRC演算回路において、1番目の前記第2データが入力されるとき、前記論理回路の初期値は、前記所定の演算式に応じた所定値である構成(第2の構成)であってもよい。
上記第1又は第2の構成のCRC演算回路において、前記論理回路は、前記成形回路の出力と前記保持回路の出力との排他的論理和を生成するように構成された排他的論理和回路(32)を含む構成(第3の構成)であってもよい。
上記第1~第3いずれかの構成の半導体集積回路装置において、前記第1データは、レジスタ(2)に格納されているレジスタ値である構成(第4の構成)であってもよい。
本開示の異常監視システム(1)は、上記第4の構成のCRC演算回路と、前記レジスタと、を備える構成(第5の構成)である。
上記第5の構成の異常監視システムにおいて、前記CRC演算回路は、前記CRCコードを定期的に算出されるように構成されている構成(第6の構成)であってもよい。
1 異常監視システム
2 レジスタ
3 CRC演算回路
31 成形回路
32 排他的論理和回路
33 CRCコード生成回路
34 保持回路
FF0~FF15 フリップフロップ
XOR1~XOR3 排他的論理和回路

Claims (6)

  1. 第1データをXビット単位で複数の第2データに成形するように構成された成形回路と、
    前記第2データからシリアル処理でCRCコードを算出する演算過程を解析して導き出される所定の演算式に基づいて、前記第2データからパラレル処理で前記CRCコードを算出するように構成された論理回路と、
    前記論理回路のXビット出力を保持するように構成された保持回路と、
    を備え、
    前記論理回路がY番目の前記第2データを入力するとき、前記論理回路の初期値は、Y-1番目の前記第2データが入力されたときに前記保持回路によって保持される前記論理回路の前記Xビット出力であり、
    Xは自然数であり、Yは2以上の自然数である、CRC演算回路。
  2. 1番目の前記第2データが入力されるとき、前記論理回路の初期値は、前記所定の演算式に応じた所定値である、請求項1に記載のCRC演算回路。
  3. 前記論理回路は、前記成形回路の出力と前記保持回路の出力との排他的論理和を生成するように構成された排他的論理和回路を含む、請求項1に記載のCRC演算回路。
  4. 前記第1データは、レジスタに格納されているレジスタ値である、請求項1~3のいずれか一項に記載のCRC演算回路。
  5. 請求項4に記載のCRC演算回路と、
    前記レジスタと、
    を備える、異常監視システム。
  6. 前記CRC演算回路は、前記CRCコードを定期的に算出されるように構成されている、請求項5に記載の異常監視システム。
JP2022176042A 2022-11-02 2022-11-02 Crc演算回路及び異常監視システム Pending JP2024066590A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022176042A JP2024066590A (ja) 2022-11-02 2022-11-02 Crc演算回路及び異常監視システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022176042A JP2024066590A (ja) 2022-11-02 2022-11-02 Crc演算回路及び異常監視システム

Publications (1)

Publication Number Publication Date
JP2024066590A true JP2024066590A (ja) 2024-05-16

Family

ID=91067500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022176042A Pending JP2024066590A (ja) 2022-11-02 2022-11-02 Crc演算回路及び異常監視システム

Country Status (1)

Country Link
JP (1) JP2024066590A (ja)

Similar Documents

Publication Publication Date Title
Campobello et al. Parallel CRC realization
US7197686B2 (en) Reconfigurable bit-manipulation node
JP5141910B2 (ja) Sms4暗号アルゴリズムを実現する暗号化および復号化処理方法とそのシステム
CN110413257B (zh) 随机数产生电路
JPH05127934A (ja) 周期的冗長チエツク符号生成の方法および装置
CN101296053A (zh) 计算循环冗余校验码之方法及系统
CN112306741A (zh) 一种crc校验方法及相关装置
KR20010098575A (ko) 씨알씨 연산장치 및 씨알씨 연산방법
US9619206B2 (en) Pseudo-random bit sequence generator
US8909510B2 (en) LFSR emulation
JP2024066590A (ja) Crc演算回路及び異常監視システム
CN113300716A (zh) 循环冗余校验码的生成方法、设备以及计算机可读介质
CN115664849B (zh) Bmc及其加密数据生成系统、方法、设备及存储介质
JP3248098B2 (ja) シンドローム計算装置
Arifin et al. Design and implementation of high performance parallel crc architecture for advanced data communication
JP5101253B2 (ja) ランダムエラー発生装置、m系列発生回路及びその設計方法
Cho et al. Block-interleaving based parallel CRC computation for multi-processor systems
Subbiah et al. Fast BCH syndrome generator using parallel polynomial division algorithm for GPGPUs
Chi et al. VACA: A high-performance variable-length adaptive CRC algorithm
KR20130068213A (ko) 순환반복검사 연산 장치 및 방법
Sheidaeian et al. Parallel Computation of CRC Using Special Generator Polynomials
Taotao et al. The FPGA Test Algorithm Of Large Constraint Length Convolution Code Encoder
JP2012238952A (ja) Crc演算回路及びプロセッサ
Nazeri et al. A novel and fast hardware implementation for Golay Code encoder
CN100392986C (zh) 交叉循环码的编码方法与装置