TEL:086-227-0113
info@gopher-tec.jp
TOP page 製品情報 FPGAソース Card Number Checker
Card Number Checker

MOD9とMOD10を使ったサンプルコードで、16桁のクレジットカード番号の正当性をチェック
するものです。
カード番号をBCD表記のまま入力すると、クロックレイテンシ2でチェック結果が出力されます。
MOD9は演算途中の10進数の桁ごとの加算に、MOD10は小計・合計が10で割り切れるかどうかの確認に、
それぞれ使用しています。カード番号奇数桁の前処理をクロック立ち上がり前に実行し、それ以外の
処理をクロック立ち上がり後に実行しています。最終結果をフリップフロップ出力としたため、全体的な
レイテンシは2となっていますが、毎クロック、ストリーム状にカード番号を入力すれば、結果も毎クロック
得ることができます。

Port I/O  Description 
CLK in クロック入力です。本モジュールはこの信号の立ち上がりエッジで動作します。
本モジュールへの入力は、本クロックに同期した信号として下さい。
CNUM_BCD
[63:0]
in 16桁のカード番号入力です。
カード番号の左端の数字がCNUM_BCD[63:60]、右端の数字が同[3:0]となるよう、
各桁を4ビットBCDで入力して下さい。
カード番号が15桁の場合は、左端に0を追加して入力すればチェック可能です。
CHK_OK out チェック結果を表す出力です。
CNUM_BCD[63:0]を入力した後、クロックレイテンシ2で結果が分かります。
アサートされれば正しいカード番号、ネゲートされれば誤ったカード番号となります。
※特に注記のない限り、信号は全て正論理です。
本ソースコードはVerilog版のみとなっております。
詳細は下記の資料ダウンロードをクリックください。
ソースコード自体は当社WEBストアにて販売しております。

Card_Number_Checker
資料ダウンロード