更新日:2016年 9月 7日
VHDLの初歩サンプル
Plotel DXP にて実現した物です、ダウンロードして解凍後、必ずデータベースから開いてください(???.PrjFpg)、後はシュミレートボタンで波形確認が出来ます。
このサンプルはトランジスタ技術スペシャル No.79 初歩のHDL設計学習帳を参考にしました、トランジスタ技術スペシャル No.80 VHDLによる設計演習帳も出版されているのでお勧め致します、又、トランジスタ技術1997年12月号に特集でも掲載されています。
Protel DXP 用 VHDL データーベース (シュミレーションのみ)
ダウンロード
注意、実現するにはデバイスメーカーのコンパイラーが別途必要。
注意、先頭の文字送りは全角スペースで埋めています。
○3章
andLogic.vhd : 表3-1/表3-2 「ANDゲートの記述」
circuit1.vhd : 図3-5 「EX-ORゲートの記述」
○4章
faT.vhd : リスト4-1 「真理値表をもとにしたフルアダー回路」
sel2.vhd : リスト4-2 「(2入力)データセレクタ」
sel2_vec.vhd : リスト4-3 「(2入力)データセレクタ(ベクタ信号の選択)」
sel4_A.vhd : リスト4-4 「4-to-1 データ・セレクタ(with ~ select文による記述)」
sel4_B.vhd : リスト4-5 「4-to-1 データ・セレクタ(多条件when ~ else文による記述)」
fa.vhd : リスト4-6 「フルアダー」
ha.vhd : リスト4-7 「ハーフアダー」
dec3_A.vhd : リスト4-8 「3-to-8デコーダ(論理演算子による記述)」
dec3_B.vhd : リスト4-9 「3-to-8デコーダ(when ~ else文による記述)」
dec3_C.vhd : リスト4-10 「3-to-8デコーダ(with ~ select文による記述)」
dec7Seg.vhd : リスト4-11 「7セグメント・デコーダ(カソード・コモンLED用)」
pEnc2.vhd : リスト4-12 「4入力のプライオリティ・エンコーダ」
romSq.vhd : リスト4-13 「2乗テーブルROM」
○5章
df.vhd : 図5-8 「非同期リセット付きDフリップフロップ」
tf.vhd : リスト5-1 「非同期リセット付きTフリップフロップ」
jkf_A.vhd : リスト5-2 「J-Kフリップフロップ(論理演算子による記述)」
jkf_B.vhd : リスト5-3 「J-Kフリップフロップ(if ~ then ~ else文による記述)」
dfe.vhd : リスト5-4 「同期イネーブル付きDフリップフロップ」
rsf.vhd : リスト5-5 「同期リセット/セット・フリップフロップ」
srf.vhd : リスト5-6 「同期セット/リセット・フリップフロップ」
cf.vhd : リスト5-7 「同期トグル・フリップフロップ」
dfe8.vhd : リスト5-8 「8ビット 同期イネーブル付きDレジスタ」
latch.vhd : リスト5-9 「Dラッチ」
○6章
adder3.vhd : リスト6-1 「3ビット加算器(コンポーネントを用いた階層記述の例)」
adder5f.vhd : リスト6-5 「5ビット加算器(for ~ generate文により、複数のコンポーネントを発生させた場合)」
adder5f_exp.vhd : リスト6-6 「5ビット加算器(リスト6-5の記述をfor ~ generate文を使わず、展開して書いた場合)」
adder5lf.vhd : リスト6-7 「5ビット加算器(for ~ generate文により、複数の論理演算子を用いた代入文を発生させた場合)」
adder5lf_exp.vhd : リスト6-8 「5ビット加算器(リスト6-7の記述をfor ~ generate文を使わず、展開して書いた場合)」
regFF.vhd : リスト6-9 「DフリップフロップとDレジスタ(それぞれについて別個のプロセス文を記述した場合)」
regFF_frame.vhd : リスト6-10 「DフリップフロップとDレジスタ(1つのプロセス文にまとめて記述した場合)」
○7章
libIncF.vhd : リスト7-3 「インクリメントファンクション(increment5f)を含んだライブラリ・パッケージlibIncF」
inc5_func.vhd : リスト7-4 「increment5ファンクションを用いた5ビット・インクリメンタ」
count5_func.vhd : リスト7-5 「increment5ファンクションを用いた5ビット・カウンタ」
dec8c_func.vhd : リスト7-6 「decrement8ファンクションを用いた制御入力付き8ビット・デクリメンタ」
count8de_func.vhd : リスト7-7 「decrement8ファンクションを用いたイネーブル付き8ビット・ダウン・カウンタ」
adder8_func.vhd : リスト7-8 「adc8ファンクションを用いた8ビット加算器」
count10_4var_func.vhd : リスト7-9 「add4ファンクションを用いた+nカウンタ」
comp8_func.vhd : リスト7-10 「fEq8/fGtb8ファンクションを用いたコンパレータ」
○8章
sr4.vhd : リスト8-1 「4ビットSIPOシフトレジスタ」
sr4e.vhd : リスト8-2 「4ビット同期イネーブル付きSIPOシフトレジスタ」
sr4le.vhd : リスト8-3 「4ビット(同期)パラレル・データ・ロード機能付きシフトレジスタ」
sr4pe.vhd : リスト8-4 「4ビット非同期パラレル・データ・プリセット機能付きシフトレジスタ」
sr4_bidir.vhd : リスト8-5 「4ビット双方向シフトレジスタ」
countJ5.vhd : リスト8-6 「5ビット・ジョンソン・カウンタ」
countJ5st9.vhd : リスト8-7 「5ビット9状態ジョンソン・カウンタ」
lfsr6a.vhd : リスト8-8 「6ビットLFSR」
grayCount5.vhd : リスト8-9 「5ビット・グレイ・コード・カウンタ」
grayCount7.vhd : リスト8-10 「7ビット・グレイ・コード・カウンタ」
sqA.vhd : リスト8-11 「4ステート・ストレート・シーケンサ」
sqB.vhd : リスト8-12 「分岐と合流を含むシーケンサ」
sqWaitA.vhd : リスト8-13 「ウェイト・ステートを含むシーケンサ」
sqWaitB.vhd : リスト8-14 「ウェイト・ステートをタイマ制御したシーケンサ」
sqLoopA.vhd : リスト8-15 「繰り返しループを含むシーケンサ」
sqLoopB.vhd : リスト8-16 「繰り返しループをカウンタで制御したシーケンサ」