TEL:086-227-0113
info@gopher-tec.jp
TOP page 製品情報 FPGAソース
サンプルソースコード
弊社ゴフェルテックの設計スタッフが、日頃デザインしているFPGA/CPLD/ソフトウェアのコードの中から、同じくコーディングを行っておられる皆様の参考になると思われる箇所を切り出し、サンプルソースコードとして販売致します。

どれも小ぶりなもので、何かしらモジュールをデザインする際の部分品・小ネタとして使用されるものばかりですが、実際にコーディングする際に、ハテ?と手が止まってしまうような箇所を補うべくチョイスされており、きっとデザイナ諸氏のお役に立てるはず。

FPGA/CPLDのコードに関しては一部の例外を除き、シミュレーション・論理合成ともに可能なRTL記述のソースコードのみでの販売です。 解説書の類は付属しませんが、そのどれもが小ぶりな記述につき、ソースを読んで内容を理解頂けるはずと考えています。

ライセンスについては、購入された個人様に限り、何度でも無償でご使用頂ける形態とさせて頂きます。 これはつまり、購入された方がご自身でコーディングされたコードと同じ扱いということ。
内容を理解し、自己責任でお使い頂く分には、追加の料金や弊社への連絡等、一切不要です。

ただ1点だけ、SNSへのアップロード等による内容公開・情報流布については禁止事項とさせて頂きますこと、ご理解とご了承の程、お願い致します。 WEBストアはこちら(外部サイト)
タイトル 言語  機能概要 
New!
Transmitter Block for UART
Velirog UARTのデータ送信部分のサンプルコードです。16段のFIFOとシフトレジスタ、そしてステートマシンで構成されます。
New!
Baud Rate Generator for UART
Velirog UART用ボーレートジェネレータ(BRG)のサンプルコードです。
New!
JAN/EAN/UPC Code Checker
Velirog 商品バーコードで使われるJAN/EAN/UPCコードの正当性をチェックするサンプルです。
New!
CRC-16-CCITT-False Gen & Chk
Velirog CRC-16-X25の変形であるCRC-16-CCITT-Falseを、パラレルデータから生成・チェックするサンプルです。
New!
CRC-16-X25 Gen & Chk
Velirog X.25等で使用されるCRC-16-X25(CRC-16-CCITT)を、パラレルデータから生成・チェックするサンプルです。
New!
Card Number Checker
Velirog MOD9とMOD10を使ったサンプルコードで、16桁のクレジットカード番号の正当性をチェックするものです。
CRC-16-USB Gen & Chk Velirog USBのデータパケットで使用されるCRC-16-USBを、パラレルデータから生成・チェックするサンプルです。
CRC-5-USB Gen & Chk Velirog USBのトークンパケットで使用されるCRC-5-USBを、パラレルデータから生成・チェックするサンプルです。
Counter for Rotary Encoder VHDL/Velirog ロータリエンコーダのA/B相パルス入力を計数する、バイナリカウンタとグレイコードカウンタのセットです。
Asynchronous Arbiter VHDL/Velirog 4つの非同期リクエスト入力を非同期信号のまま調停するアービタモジュールです。
DFF1 w SyncWarn Velirog 非同期信号を同期化する際のガイド役として SIM警告機能を付加した、1ビットDフリップフロップのVerilogサンプルコードです。
DFF4 w SyncWarn Velirog 非同期ベクター信号を同期化する際のガイド役として SIM警告機能を付加した、4ビットDフリップフロップのVerilogサンプルコードです。
SimVisFSM Velirog Verilogのコードでありながら、SIM波形中にステート名がアスキー表示されるステートマシンのサンプルです。少々トリッキーです。
Moving Average Calculator VHDL 符号付き16ビットデータの移動平均の計算モジュールです。
TinySemaphore148 VHDL/Velirog 最小限の機能で構成した2値型セマフォです。複数のプロセスがリソースを共有する場合の、使用中・解放中を示す制御レジスタとして機能します。
Counter File 32bit x 256 VHDL/Velirog デュアルポートメモリ上に構成するカウンタファイルです。
BusAcc_LevelMeter VHDL/Velirog PCI等のバスの使用率を5%刻みでLED表示するレベルメータです。
BusSSO_Reducer VHDL/Velirog バスのトグルビット数がバス幅の半分を超えた場合に全て反転出力とする、同時スイッチング出力低減器です。
Ethernet MII FCS Checker VHDL/Verilog イーサネットの受信データ列に含まれるFCS(Frame Check Sequence)をチェックするためのモジュールです。
PCIe PIPE 16bit Descrambler Verilog PCI Expressのデスクランブラ・モジュールです。
FIFO_32x16 Verilog 汎用のDPRAMとリード・ライトポインタで構成したFIFOモジュールです。
PWM Controller VHDL 汎用的なPWNコントローラです。High/Lowのパルス幅を320ns単位で設定可能です。
RoundRobin Arbiter VHDL/Verilog 8つのリクエストをラウンドロビン方式で調停するアービタ(=調停回路)モジュールです。
Heartbeat LED PWM Verilog PWMによるLEDハートビート点灯を実現したサンプルです。
AES-128 cipher module Verilog AES-128暗号化機能搭載モジュールです。
Watchdog Timer VHDL ウォッチドッグのタイムアウト時間を1~255秒の間から1秒単位で設定することが出来るウォッチドッグタイマー(WDT)のコントローラです。
Ethernet MDIO Master Verilog イーサネットPHYのレジスタをアクセスするためのMDIOマスタロジックです。
Binary Counter with Re-Sync-Out VHDL/Verilog カウンタ動作クロックとは異なるクロックに同期した出力を併せ持つ16ビットバイナリカウンタです。
Reset Generator VHDL デバイス内部PLLのステータス信号と外部入力リセット信号からリセット信号を生成します。
DI Cleaner VHDL/Verilog デジタル入力信号(DI、フラグ信号等)の耐ノイズ性を上げ、誤動作を防ぐ受信回路です。
Registers with AXI4-Lite interface VHDL/Verilog AXI4-Liteインタフェース接続のレジスタサンプルです。
Synchronizers (Pulse/Vector) VHDL/Verilog 異クロック間でパルス信号/ベクタ信号を同期化します。
Intel Port80 Decode VHDL Intel LPC Busに出力されるBIOS Post Codeをデコードします。
Ethernet MII FCS Generator VHDL/Verilog MII送信データからイーサネット用FCSを生成します。
Intel LPC Bus I/O Access VHDL/Verilog Intel LPC BusのI/Oアクセスによってリードライト可能なレジスタです。



タイトル 言語  機能概要 
Buddy Memory Allocator C メモリ管理アルゴリズム Buddy memory allocation のC言語による実装です。
Skeleton code for Scratch2 extensions C Scratch2用のHTTP拡張プログラムです。
Physical Memory Driver C ARMプロセッサ用デバイスドライバのサンプルプログラムです。Linux上でユーザ空間から連続した物理メモリ領域を確保し、物理アドレスにキャッシュ無効状態でアクセスします。

WEBストアはこちら(外部サイト)