190 likes | 271 Views
計算機工学論. QuartusⅡ の簡単な使い方 Combinatorial Logic (組み合わせ論理回路)( P.19 ~ 23 ) ① Implementing Boolean Expressions&Equations (ブール表現とブール式の書き方) ② Declaring Nodes (ノードの宣言) ③ Defining Groups (グループの定義). 修士1年 藤原 洋子. QuartusⅡ の使い方. ① QuartusⅡ を立ち上げると以下のような画面になります。. 新しいプロジェクトを立ち上げる場合.
E N D
計算機工学論 QuartusⅡの簡単な使い方 Combinatorial Logic(組み合わせ論理回路)(P.19~23) ①Implementing Boolean Expressions&Equations (ブール表現とブール式の書き方) ②Declaring Nodes(ノードの宣言) ③Defining Groups(グループの定義) 修士1年 藤原 洋子
QuartusⅡの使い方 ① QuartusⅡを立ち上げると以下のような画面になります。
新しいプロジェクトを立ち上げる場合 ②プログラムを新しく作る場合、新しいプロジェクトを作ります。 まず、日本語ではない場所にフォルダを作成します。このとき、フォルダ名も、日本語では動作しないので、注意してください。 また、フォルダ名はtdfファイルでSUBDESIGNのあとと同じ名前にしなければなりません。 例.C:\user\HDLなど。デスクトップはダメ! ③File…→New Project Wizard…で以下のようなウインドウが開きます。 指示に従ってNEXTで進んでいってください。
④以下のような画面になりましたら、プログラムファイルを保存するためのフォルダを④以下のような画面になりましたら、プログラムファイルを保存するためのフォルダを 選んでください。 ここを押すと、オープンダイアログが開きます。
⑥この画面でデバイスを選択します。デバイスや、ファミリによって細かな機能が異なるので、実際に使用するFPGAを選択してください。⑥この画面でデバイスを選択します。デバイスや、ファミリによって細かな機能が異なるので、実際に使用するFPGAを選択してください。 ⑤すでにあるファイルを追加する場合は、ここでファイルを選んで追加してください。
ファイルを作る File→New…より、 ①tdfファイルを作成する場合は AHDL File ②bdfファイルを作成する場合は Block Diagram/Schematic File ③simファイルを作成する場合は Vector Waveform File を選んでください。 なお、 ①tdfファイルはAHDLのプログラムを書くときに使用します。 ②bdfファイルはtdfファイルで作ったプログラムのシンボルや、論理記号で書けるようなプログラムについて、INPUT、OUTPUTなどを割り当てた、ブロックデザインファイルです。大きなシンボルを実際に線(ノード)でつなげるなどの処理をおこなったり、全体の構成を見ることができます。 ③simファイルはシミュレーションを行うときに使用します。
Combinatorial Logic ブール表現、ブール関数、真理値表、さまざまなマクロファンクションでAHDLに実装される。 Ex.可算器など 組み合わせ論理回路 ・Implementing Boolean Expressions&Equations ・Declaring Nodes ・Defining Groups ・Implementing Conditional Logic ・Creating Decoders ・Using Default Values for Variables ・Implementing Active-Low Logic ・ Implementing Bidirectional Pins
①Implementing Boolean Expressions&Equations ブール表現とブール式の書き方 ブール表現とブール式は、ノード、数字、定数、ブール表現の集合は、演算子や、比較演算子で区切られカッコによってグループ化されます。 演算子、論理演算子、比較演算子については、資料P.80~を参考にしてください。 例(boole1.tdf) この部分とファイルのフォルダ名を同じにしておかなければ、エラーがでるので注意してください。 a1とa0のNOTをとってout1とし、さらにout1とbのORをとったものをout2とします。
例(boole1.bdf) 以下にこのプログラムのbdfファイルを示します。bdf1とbdf2は同じ回路です。 bdf1 bdf2
作成したtdfファイルのbdfファイル上におけるシンボルの作り方作成したtdfファイルのbdfファイル上におけるシンボルの作り方 作成したtdfファイルにカーソルをあわせ、File→Create/Update…→Create Symbol Files for Current File で、tdfで作成したプログラムのbdfファイル上でのシンボルファイルを作成できます。 また、tdfファイルを変更した場合は、シンボルをアップデートしなければなりません。 また、例のように簡単な回路であれば、bdfファイル内のロジックのみでのプログラムも可能です。 bdf1 tdfファイルより作成したシンボルを使用して作成 bdf2 bdfファイルのみで作成
out2 out1 b a0 a1 out1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 シミュレーション例 input output
②Declaring Nodes ノードの宣言 ノードは変数で、Variable以外の場所で宣言されていない信号を示すために使用されます。 例(boole2.tdf) ノードの宣言
a0 a1 a_equals_2 1 1 0 0 1 0 1 0 0 0 1 0 Nodes 回路における信号ラインのようなイメージ この部分が、ノードで宣言されたa_equals_2にあたる。 a_equals_2はa1、a0により以下のように変化する。
③Defining Groups グループの定義 グループは256ビットまでのノードの集合として扱われます。以下に例を示します。 あるグループとあるグループを接続する場合は、両方同じビット数を持っていなければなりません。 この場合、3ビットの信号がd2→q8d1 →q7d0 →q6のように接続されます。 d[2..0] = q[8..6] d[2..0] =n この場合は、すべてのビットがnに接続されます。 VCCや、GNDにセットされた場合はグループのすべてのビットはVCC,GNDに接続されます。 この場合は、すべてVCCに接続されます。 d[2..0] = VCC グループが1にセットされた場合は、最下位ビットがVCCに接続されます。 この場合は、B001となります。 d[2..0] = 1
例(group1.tdf) aは2ビットのインプット、 dは二進数で「10」をaに加算した結果を返す2ビットのアウトプットとなります。 二進数(Binary)で「10」となる
シミュレーション INPUT ① ③ ② ④ OUTPUT INPUT、OUTPUTはそれぞれ、2ビットで定義してあるため、各ビットにおいて値をきめてシミュレーションをかけることができる。 ④ ② ① ③ 00 10 01 10 10 10 a2a1 1 0 11 01 + + + + + 01 11 100 d2d1 110
ここで何を見るかを選択する。 ココをクリックすると左にピンなどがでるので、中央のカーソルにより見たいピンなどを移動させる。 ここをクリック シミュレーション方法 File→New…よりVector Waveform Fileを選んでください。以下のような画面が表示されます。 このあたりをクリック
例 ここの部分にどのような信号を入力させたいかを入力する。 ここは、出力なので、シミュレーションを行わないと表示されません。