計算機工学特論A   テキスト内容 5.6.

Slides:



Advertisements
Similar presentations
Quartus Ⅱの簡単な使い方 Combinatorial Logic (組み合わせ論理回路)( P.19 ~ 23 ) ① Implementing Boolean Expressions&Equations (ブール表現とブール式の書き方) ② Declaring Nodes (ノードの宣言)
Advertisements

第10章 マイコン機器とマイコンプロ グラム ● マイコン回路とプログラミン グ ● サーボモータ,直流モータ制 御以外のプログラム マイコンでどのようなことができるのか? モータのマイコン制御を使いこなす!
論理回路 第 12 回 TkGate 実習 - 順序回路 38 号館 4 階 N-411 内線 5459
計算機工学特論A 10/17  テキスト内容 1.1~1.4.
VLSI設計論第4回 アキュムレータマシンと 仮遅延シミュレーション
第12回 順序回路の解析方法 瀬戸 順序回路から,以下を導き、解析を行えるようにする タイムチャート 状態遷移関数・出力関数 状態遷移表
第五章 ディジタル変復調の基礎 5・1 ディジタル振幅変調・ASK 5・2 ディジタル周波数変調・FSK 5・3 ディジタル位相変調・PSK
全加算回路 A, Bはそれぞれ0または1をとるとする。 下位桁からの繰り上がりをC1とする。(0または1)
マイコン入門実践教育プロセス説明 第4システム部 ES443 塩島秀樹.
USB2.0対応PICマイコンによる データ取得システムの開発
5.3 各種カウンタ 平木.
Handel-C基礎 および 7セグとマウスのハンドリング
Verilog HDL 12月21日(月).
テープ(メモリ)と状態で何をするか決める
第三章 ディジタル符号変換の基礎 3・1PCMパルス符号変換 3・2符号変換 3・3通信路符号形式 3・4スクランブル.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
Fire Tom Wada IE dept. Univ. of the Ryukyus
4.2.2 4to1セレクタ.
赤外線センサを用いた回路の設計及びそのシミュレーション
第10回 Dフリップフロップ ディジタル回路で特に重要な D-FF 仕組みを理解する タイミング図を読み書きできるようにする 瀬戸
デジタル回路(続き) コンピュータ(ハードウェアを中心に)
基本情報技術概論(第3回) 埼玉大学 理工学研究科 堀山 貴史
8. 順序回路の簡単化,機能的な順序回路 五島 正裕.
2005年11月2日(木) 計算機工学論A 修士1年 No, 堀江準.
計算機工学特論A 第4回 論理合成 山越研究室 増山 知東 2007年11月7日 .
カラーバー 時計(カウンタ) ゲーム GPSクロック
ハードウェア記述言語による 論理回路設計とFPGAへの実装 2
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
第6回 よく使われる組合せ回路 瀬戸 重要な組合せ回路を理解し、設計できるようにする 7セグディスプレイ用デコーダ 加算回路・減算回路
OpenMPハードウェア動作合成システムの検証(Ⅰ)
高速剰余算アルゴリズムとそのハードウェア実装についての研究
1.コンピュータと情報処理 p.18 第1章第1節 2.コンピュータの動作のしくみ CPUと論理回路
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
第3章 演算装置.
音・音楽の設計と表現Ⅱ キーワード : サンプリング(標本化)、周波数、量子化 音は空気を伝わる波 → 音をデジタル(0と1の数値)にする。
ディジタル回路の設計と CADによるシステム設計
計算機構成 第2回 ALUと組み合わせ回路の記述
ICトレーナーの構成 7セグメントLED ブレッドボード XOR OR AND NAND 電源端子 スイッチ端子 LED端子 データLED
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 7 回.
コンピュータアーキテクチャ 第 7 回.
Simulink で NXT を 動かしてみよう Simulink で NXT を動かす 微分値算出とフィルタ処理 ノーマルモード
計算機構成 第3回 データパス:計算をするところ テキスト14‐19、29‐35
計算機構成 第4回 アキュムレータマシン テキスト第3章
VLSI設計論第3回 順序回路の記述と論理合成
ディジタル信号処理 Digital Signal Processing
情報処理 タイマの基礎 R8C タイマの基礎.
ディジタル回路 7. 機能的な組み合わせ回路 五島 正裕.
第11回 よく使われる順序回路 複数のFFを接続した回路を解析する際の考え方を学ぶ カウンタ回路の仕組みを理解し,設計できるようにする 瀬戸.
Fire Tom Wada IE dept. Univ. of the Ryukyus
FINESSE 32ch Multi-Hit TDC
ディジタル回路 9. 演算回路 五島 正裕.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
論理回路 第12回
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
Handel-Cを用いた パックマンの設計
計算機工学特論 スライド 電気電子工学専攻 修士1年 弓仲研究室 河西良介
コンピュータアーキテクチャ 第 10 回.
第2回 標本化と量子化.
マイコンプログラムの実際.
メカトロニクス 12/15 デジタル回路 メカトロニクス 12/15.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
9. 演算回路 五島 正裕.
計算機工学論A P46~P49 クロック、リセット、クロック・イネーブルのセット 状態の出力値の指定 ステート・トランジョンの指定
コンピュータの五大要素 入力装置 データ(プログラム)を取り込む 出力装置 処理結果のデータを外部に取り出す
ILC衝突点ビームモニターのための 読み出し回路の開発
ディジタル回路 8. 機能的な順序回路 五島 正裕.
Molecular Devices Japan
Presentation transcript:

計算機工学特論A   テキスト内容 5.6

ワン・ホット方式ステートマシン 一つの状態に対して1個FFを用いる方式。 例 4つの状態A,B,C,Dに対して4個の1bit FF a,b,c,dが対応する。 FF a FF b FF c FF d 状態A 1 状態B 状態C 状態D ワン・ホット式 FF a FF b 状態A 状態B 1 状態C 状態D デコード式

Always @(cur or SW1 or SW2 or SW3) begin case (cur) リスト5.2 Always @(cur or SW1 or SW2 or SW3) begin case (cur) NORMAL: if(SW2) nxt <= SEC; else nxt <= NORMAL; SEC: if(SW2) nxt <= NORMAL; else if(SW3) nxt <=HOUR; else nxt <= SEC; HOUR: if(SW2) nxt <= NORMAL; else if(SW3) nxt <= MIN; else nxt<= HOUR; MIN: if(SW2) nxt <= NORMAL; else if(SW3) nxt <= SEC; else nxt <= MIN; default: nxt <= NORMAL; endcase end (デコード式) [0][0][1][0] [0][0] [0][0][0][1] [0][0][0][1] [0][0][0][1] [0][1] [0][0][1][0] [1][0][0][0] [0][0][1][0] [0][0][0][1] [1][1] [1][0][0][0] [0][1][0][0] [1][0][0][0] [0][0][0][1] [1][0] [0][1][0][0] [0][0][1][0] [0][1][0][0] [0][0][0][1]

ワン・ホット方式

デコード方式

Verilog-HDL グラフィック合成ほか 修士一年 赤津 実幸

主な説明事項 ・ モジュール同士を結線し、大規模回路をつくるグラフィッ ク合成の仕方を学ぶ ・ 制御信号の作り方 ・ ステートマシンの使い方

赤 計算例: x(1) + y(1) + c(0)⇒ cout(1) + s(0) 簡単な回路のグラフィック合成例 全加算回路(fulladder) 2個の半加算器と1個のOR回路で形成 入力x,y 半加算器 出力s 桁上げ出力cout 半加算器 OR回路 桁上げ入力c 赤 計算例: x(1) + y(1) + c(0)⇒ cout(1) + s(0) 青 計算例: x(1) + y(1) + c(1) ⇒ cout(1) + s(1)

大規模回路を記述するには 機能ごとのモジュールを作り、それぞれを結線して大規模化する

手順1-1 半加算器、OR回路をつくる 1.まず、fulladderをつくるのが目的なのでfulladderというプロジェクトを作成します。 手順1-1 半加算器、OR回路をつくる 1.まず、fulladderをつくるのが目的なのでfulladderというプロジェクトを作成します。 2.次にメニュー「New」欄からverilogファイルを追加し、半加算器のモジュールを作成します。ソースが書けたら、save asで保存し、名前は「halfadder.v」にするといいでしょう。 3.halfadder.vを制作したら、Fileメニュー > Create/_Update > Create Symbol Files for Current Fileを選択すると、グラフィック合成でしようできるシンボルが作成されます。(成功すると下のようなダイアログが表示されます。) 4.NewメニューよりDevice Design Filesタグ内の Block diagram/Schematic Fileを選択し、グラフィックデザイン用ファイル「block1.bpf」を作ります。保存する際に名前をプロジェクト名と同じにする必要があります。今回はプロジェクト名が「fulladder」なので「fulladder.bdf」にします。

手順1-2 5.手順4で作ったhalfadderのシンボルを呼び出します。赤丸部分を選択し、Symbolダイアログを呼び出します。Project内にhaifadderのシンボルが作成されています。これを選択し、OKを押すと先ほどのグラフィックデザインファイルblock1.bdfに追加できるようになります。 6.block1.bdfにhalfadderのシンボルをスタンプできるようになります。やめたいときは右クイックでCancelできます。

手順1-3 6.同じようにOR回路をつくります。今回は名前は「f_or.v」にしました。

手順2-1 結線 1.全加算器は右のような構成になってますのでそのように結線する必要があります。また、全加算器の入出力が必要です。 結線ツールについて バスツール(多ビット用) モジュールのIN、OUTのビット数に応じてワイヤーツールとバスツールを使い分けます。バスツールを使う場合は特殊で、8ビットの入力を作りたい場合、inputシンボルの名前を「 input [7..0] 」のように、名前のあとに何ビットのバスかを明記する必要があります。 ワイヤーツール(1ビット用)

input、outputシンボルについて 手順2-2 入出力 input、outputシンボルについて Symbol内のc:/altera~ > primitive > pinに入出力に必要なピン用シンボルがあります。ワイヤーツール、またはバスツールを用いてモジュールと結線されます。入力はinputピン、出力はoutputピンを使います。 6ビットの入出力バスではa[5..0]のようにpin名を変更します。 例 (下図0) IQ_count_out[5..0] 入力例 出力例1 出力例2

手順2-3 また、4ビットの出力output [3:0]qを作りたい場合、4つのoutputを用いてq[0],q[1],q[2],q[3]としても4ビット出力として認識されます。 下図は4ビット加算器です。入出力とも1ビットの入出力で構成されていますが、ピンの名前によって、4ビット入力 a,b 、 4ビット出力 qになっています。 多ビット入出力例

手順3-1 シミュレーション 1.つくったblock1.bdfをプロジェクト名で保存します。fulladder.bdfはfulladder.vで作成したと同様、コンパイル、シミュレーションが可能です。

胎児モニタリング装置システム 1MHzの超音波を用い、胎児信号を取得する装置(主に胎児心拍、胎児呼吸様運動の信号) 音声回路 検波専用LSI データ転送部 アナログ回路 検波専用LSIの主な役割 超音波1MHz Pulse送波 胎児信号をドプラの原理にて位相情報として取得、受信 受信信号から位相情報を取り出すため直交検波を行い、位相が90度ずれたQI信号を取得する。 3200Hz 312.5us間隔で繰り返す

FPGA 検波回路内部モジュール構成 検波用FPGAの主な機能 ・送波Pulse 送波数、タイミングの制御⇒8パルス送波 FPGA 検波回路内部モジュール構成 検波用FPGAの主な機能 ・送波Pulse 送波数、タイミングの制御⇒8パルス送波 ・受信信号を直交検波し、位相情報を取り出す⇒QI信号の生成 ・FIFO&USB側に検波信号の転送⇒PCにデータ転送

直交検波について 受信信号の位相情報を取り出す 受信信号 :超音波の中心周波数1MHz Q信号の生成 :受信信号の位相情報(胎児信号) これにsin(w0 t)をかけると 第一項を低域通過フィルタを用いて取り除く 位相情報が取り出せた I信号の生成 同じように受信信号にcos(w0t)をかけてやると Q信号とI信号は位相が90度ずれている。 Q信号とI信号をつくることで情報が失われていないため元の受信信号を復元することができる。

FPGA 検波回路内部モジュール構成 controller 10MHz 外部CLK IN PLL 10MHz⇒20MHz controllerモジュール(制御回路) 各モジュールの動作タイミングを制御する制御信号を生成する。外部入力(スタート時のリセット信号、モード変更など)により動作を変更させることができる。

controllerモジュール制御信号 クロック20MHz 1クロック 0.05us 312.5us k_clr リセット信号 count_out controller内部カウンタ transmit transmitモジュール 送波pulse生成&タイミング kernel_en kernel_genモジュール sin波&cos波生成 selecter_1、q_result_save detect_waveモジュール QI信号生成タイミング mult_save マルチプレクサ内のステートマシンの状態移行タイミング

制御信号生成回路 controllerモジュール CLK 各モジュールへ制御信号を出力 モード切替 input 12bit受信信号 一部は外部へ出力 リセット信号 装置スタート時に初期化する

FPGA 検波回路内部モジュール構成 Transmit 10MHz 外部CLK IN PLL 10MHz⇒20MHz transmitモジュール(送波パルス生成) controllerモジュールから制御信号transmitを受け取りONのとき送波pulseを生成する。 外部アナログ回路でなめらかな正弦波に精錬される。

FPGA 検波回路内部モジュール構成 kernel_gen 10M 外部CLK IN PLL 10MHz⇒20MHz kernel_genモジュール(正弦波生成) 受信信号と乗算するための検波用1MHzsin波とcos波を生成する。

FPGA 検波回路内部モジュール構成 sin_convert 10MHz 外部CLK IN PLL 10MHz⇒20MHz sin_convertモジュール(12bit⇒16bit) 外部ADコンバータで12bitデータに出力される。内部で16bitデータとして扱うため、ビット数の変換をしている。

FPGA 検波回路内部モジュール構成 detect_wave 10MHz 外部CLK IN PLL 10MHz⇒20MHz Q信号用 detect_waveモジュール(検波) 位相情報を取り出し、Q信号、I信号を生成する。 kerne_genで生成されたsin波、cos波を受信信号と乗算し、一定時間加算する。低域通過フィルタと同等の効果が得られる。 I信号用

FPGA 検波回路内部モジュール構成 multiplexer 10MHz 外部CLK IN PLL 10MHz⇒20MHz マルチプレクサ(ステートマシン) 10クロック間状態を維持し、次の状態に移行させる。I信号を10クロック(0.5us)間外部に出力し、Q信号を次の10クロック(0.5us)間出力して、controllerで作られたstart_save信号が1のときこれを繰り返す。

マルチプレクサに送る制御信号 mult_save信号 マルチプレクサ内でstart_save信号として扱われる controllerモジュールを分かりやすいように他の出力を切って見やすくした。 また、どのようなタイミングで出力されているか調べるために内部カウンタcounterを出力させた。 このFPGAでは312.5usごとに同じ動作を繰り返している。(内部カウンタを312.5usごとにリセットしている) 内部カウンタcounter 312.5us / 0.05us = 6250回までカウントできる。 クロック20MHz 1クロック 0.05us 312.5us mult_save信号 マルチプレクサ内でstart_save信号として扱われる

ステートマシン 312.5usの間にI信号とQ信号の組を20回生成している。また、 save_start制御信号が立ち上がってる間 1組のQI信号生成し、0.5us間I信号出力、次に0.5us間Q信号を出力する。 クロックは0.05usなので始め10クロック分はI信号、次の10クロック分はQ信号を出力する。 I信号出力モード Q信号出力モード 無出力モード の3通りの状態シフトがある。 クロック20MHz 1クロック 0.05us 312.5us

…..…..TO BE CONTINUED