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 「繰り返しループをカウンタで制御したシーケンサ」