Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用]

Similar documents
- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな

Microsoft Word - 実験4_FPGA実験2_2015

Microsoft PowerPoint LC_15.ppt

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor

if clear = 1 then Q <= " "; elsif we = 1 then Q <= D; end rtl; regs.vhdl clk 0 1 rst clear we Write Enable we 1 we 0 if clk 1 Q if rst =

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

Unconventional HDL Programming ( version) 1

VelilogHDL 回路を「言語」で記述する

VHDL

Verilog HDL による回路設計記述

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN

VHDL VHDL VHDL i

論理設計の基礎

スライド 1

TECH_I Vol.25 改訂新版PCIデバイス設計入門

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE

<4D F736F F F696E74202D C190DD B A CB48D65208E DC58F49205B8CDD8AB B83685D>

フリップフロップ

デジタル回路入門

<4D F736F F D2091B28BC68CA48B8695F18D902E646F63>

計数工学実験/システム情報工学実験第一 「ディジタル回路の基礎」

ModelSim-Altera - RTL シミュレーションの方法

PeakVHDL Max+Plus VGA VG

スライド 1

VLSI工学

Microsoft PowerPoint - 01_Vengineer.ppt

電卓の設計 1

<91E63589F161>

Microsoft PowerPoint - 3.3タイミング制御.pptx

COINS 5 2.1

ディジタル回路 第1回 ガイダンス、CMOSの基本回路

Report Template

Handsout3.ppt

ソフトウェア基礎技術研修

Microsoft PowerPoint - 集積回路工学(5)_ pptm

VBI VBI FM FM FM FM FM DARC DARC

HW-Slides-05.ppt


0630-j.ppt

Microsoft Word - 卒業論文.doc

論理回路設計

論理回路設計

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

スライド 1

FPGA と LUPO その1

卒 業 研 究 報 告

論理回路設計

RSA FA FA AND Booth FA FA RSA 3 4 5

スライド 1

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

TULを用いたVisual ScalerとTDCの開発

スライド 1

スライド 1

Microsoft PowerPoint - Chap1 [Compatibility Mode]

Quartus II はじめてガイド - EDA ツールの設定方法

計算機アーキテクチャ

統合的高信頼化設計のためのモデル化と検出 訂正 回復技術 研究代表者安浦寛人九州大学大学院システム情報科学研究院 DVLSI 領域会議 (2011/7/2) DVLSI 安浦チーム 1 研究の目標 さまざまな種類のエラー ( 製造故障 ソフトエラー タイミングエラー 設計誤り 不完全な仕様に基づく誤

. ディジタル回路設計を始める前に 2

スライド 1

< B8CDD8AB B83685D>

Microsoft PowerPoint - 01-VerilogSetup-2018.pptx

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Quartus II はじめてガイド - EDA ツールの設定方法

プログラミング基礎

7-1 Digital IC のライブラリの準備について [ 目的 ] 実験では 74HC00 を使用するので SPICE モデルを入手する [ 方法 ] LTspice User site からライブラリとシンボルを Download します

スライド 1

シフトレジスタ ステートマシン 4. シミュレーション記述 シミュレーションに必要な物 テストベンチ シミュレーション特有の記述 4.1 カウンターのシミュレーション テストする回路 テストベンチ シミュレーション結果 参考文献 以下の文献を参考にさせていただきました 小林優 入門 Verilog-

Report Template

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

ソフトウェア基礎技術研修

CMOS リニアイメージセンサ用駆動回路 C CMOS リニアイメージセンサ S 等用 C は当社製 CMOSリニアイメージセンサ S 等用に開発された駆動回路です USB 2.0インターフェースを用いて C と PCを接続

スライド 1

目次 はじめに 1 第 1 章ゲームの内容 テトリス ルール 2 第 2 章設計方法 設計の概要 FPGA について VHDL について LCD SRAM 設計の流れ 5 第 3 章ゲーム

Microsoft PowerPoint - 33.pptx

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

Microsoft Word - TC4017BP_BF_J_P10_060601_.doc

回路設計 WEBラボ:10ビットのプチDACをRTLで動かしてみる(おまけソースつき)

スライド 1

VHDL

LSI LSI 2

Microsoft PowerPoint - 7.Arithmetic.ppt

HW-Slides-04.ppt

デザインパフォーマンス向上のためのHDLコーディング法

Microsoft PowerPoint - presen3x4an.pptx

新しくシンボルを作成することもできるが ここでは シンボル :opamp2.asy ファイル を回路と同じフォルダにコピーする コピーしたシンボルファイルをダブルクリックで 開く Fig.4 opamp2 のシンボル 変更する前に 内容を確認する メニュー中の Edit の Attributes の

Microsoft PowerPoint - 【5】説明資料_池辺将之

PowerPoint プレゼンテーション

Quartus II クイック・スタートガイド

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

<4D F736F F F696E74202D FEE95F18F88979D8B5A8F702E B93C782DD8EE682E890EA97705D205B8CDD8AB B83685D>

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

スライド 1

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

starc_verilog_hdl pptx

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

オンチップ・メモリ クイック・ガイド for Cyclone III

はじめに : ご提案のポイント

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

スライド 1

Transcription:

2007.11.12 集積回路工学 Matsuzawa Lab 1 集積回路工学 東京工業大学 大学院理工学研究科 電子物理工学専攻

2007.11.12 集積回路工学 Matsuzawa Lab 2 1. 1. ハードウェア記述言語 (VHDL で回路を設計 ) HDL 設計の手順や基本用語を学ぶ RTL とは? Register Transfer Level レジスタ間の転送関係を表現したレベル慣例的に以下のことを行う - 機能を 代入 if, caseなどで表現したもの - 論理合成できる記述 -クロックを意識した記述 ゲートレベルとは? ゲート回路やフリップフロップなどの接続関係を示したものネットリストとも言う

Hardware Description Language : ハードウェア記述言語トップダウン設計を支援するトップダウン設計においては, アナログ部, デジタル部とも抽象度の高い設計が必要となる デジタル部はゲート レベルだけでなく,RTL(register transfer level) や動作レベルで設計する アナログ部はトランジスタ レベルだけではなく, 機能レベルのモデル ( 例えばオペアンプのマクロモデルなど ), 動作レベルのモデル ( 線形方程式や非線形方程式, 信号フロー グラフ, 伝達関数など ) を扱う 見た目はソフトウェアのプログラムに似ているが似て非なるもの Digital Verilog-HDL, VHDL Verilog C 言語 VHDL PASCAL か ADA VHDLは抽象性の高い記述 Verilogは具体的な回路図に近い記述 Analog Verilog-AMS, VHDL AMSなどにより動作記述が行える 2007.11.12 集積回路工学 Matsuzawa Lab 3

2007.11.12 集積回路工学 Matsuzawa Lab 4 なぜ動作記述による設計なの? 接続記述 回路図エントリ 動作記述 HDL 記述 module nand (Q,A,B,CK) inputa,b,ck;output Q... endmodule 1cm 2 程度のシリコンチップ上に 数百万から 1 億のトランジスタを集積している そのため接続情報を記述している回路図エントリでは限界があり 設計者は設計そのものよりも接続間違いによるケアレスミスを修正することに時間がかかる しかし動作記述を用いれば回路の表現に抽象度が与えられ さらに上位の設計を可能とするばかりでなく 設計のスピードが格段に向上する

物理設計 2007.11.12 集積回路工学 Matsuzawa Lab 5 HDL 設計の手順 仕様設計 論理設計 RTL 設計 回路動作を HDL で記述 回路図エントリ HDL 記述 module nand (Q,A,B,CK) inputa,b,ck;output Q... endmodule RTL 検証 テストベンチを HDL で記述 論理合成 OK? 論理合成 ゲートレベル検証 動作確認 HDL からゲートレベルに変換 タイミング ( 遅延 ) 確認 ネットリスト module nand_dff (Q,A,B,CK) inputa,b,ck;output Q... endmodule 論理素子へのゲートの割り当て OK? 物理レイアウト

VHDL 文法体系 VHDL の文法 回路記述 テストベンチ ライブラリ記述 回路記述論理合成に適した記述をする回路の種類ごとに適した記述スタイルがあるテストベンチ文法を満たしていれば どんな記述でもよい記述のテクニックを駆使できる 2007.11.12 集積回路工学 Matsuzawa Lab 6

組み合わせ回路 2007.11.12 集積回路工学 Matsuzawa Lab 7

2007.11.12 集積回路工学 Matsuzawa Lab 8 順序回路 順序回路は必ずクロックで同期させること もし非同期で作ると伝播遅延から予期しないパルス ( ハザード ) が発生する

2007.11.12 集積回路工学 Matsuzawa Lab 9 RTL RTL 設計例 コンポーネント宣言 std_logic のベクタ型 ( ビット幅のあるデータタイプ ) 接続する下位コンポーネントの入出力信号を定義したもの 下位コンポーネントの接続 4 ビット ( ビット 3~ ビット 0)

2007.11.12 集積回路工学 Matsuzawa Lab 10 RTL RTL 設計例 センシティビティリスト ( 基本的に入力信号はすべてここに記述する ) 条件式 if 文はアーキテクチャ内に記述できず process 文内に記述する 定数表現 1ビット 0 複数ビット 0101 バスとワイヤーでは囲む物が違うことに注意すること

2007.11.12 集積回路工学 Matsuzawa Lab 11 4 ビット (16 進 ) 同期式カウンタ Q 0 Q 1 Q 2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q 3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

2007.11.12 集積回路工学 Matsuzawa Lab 12 4 ビット (16 進 ) 同期式カウンタ library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; 算術演算パッケージを呼び出し パッケージの呼び出し パッケージとは? 定数 演算子 データタイプなどの定義をまとめたもの おまじないのようなのであるが これを指定しないとデフォルトの物が設定されてしまうので ここはちゃんと設定すること

2007.11.12 集積回路工学 Matsuzawa Lab 13 4 ビット (16 進 ) 同期式カウンタ ibrary エンティティ宣言 IEEE; エンティティ名ポート宣言 use ( 入出力の定義 IEEE.std_logic_1164.all; ) use IEEE.std_logic_unsigned.all; entity COUNT4 is port ( CLK, RESET : in std_logic; COUNT : out std_logic_vector( 3 downto 0 ) ); end COUNT4; モジュールの入出力ポート及びその属性を定義 方向 データタイプ std_logic のベクタ型 ( ビット幅のあるデータタイプ ) 回路のインターフェース部分を定義 接続する下位コンポーネントの入出力信号を定義したもの

2007.11.12 集積回路工学 Matsuzawa Lab 14 4 ビット (16 進 ) 同期式カウンタ ibrary IEEE; use 同時処理文 IEEE.std_logic_1164.all; アーキテクチャ内に記述する文 use IEEE.std_logic_unsigned.all; 記述の順序に関係なく 同時に処理される entity 順次処理文 COUNT4 is プロセス文やプロシージャ内に記述する文 port ( 記述順に処理される CLK, RESET : in std_logic; COUNT : out std_logic_vector( 3 downto 0 ) ); end COUNT4; architecture RTL of COUNT4 is signal COUNT_IN : std_logic_vector ( 3 downto 0 ); begin COUNT <= COUNT_IN; process ( CLK, RESET ) begin if ( RESET = '1' ) then COUNT_IN <= "0000"; elsif ( CLK'event and CLK = '1' ) then COUNT_IN <= COUNT_IN + '1'; end if; end process; end RTL;

RTL RTL 設計例 architecture ~ of ~ is begin 同時処理文下位コンポーネント接続プロセス文信号代入文条件付き信号代入文 (when~else) プロシージャ呼び出しジェネレート文など end ~; process. begin 順次処理文信号代入文変数代入文 if case wait 文ループ文プロシージャ呼び出しなど end process; 同時処理文 順次処理文 アーキテクチャ内に記述する文記述の順序に関係なく 同時に処理されるプロセス文やプロシージャ内に記述する文記述順に処理される 2007.11.12 集積回路工学 Matsuzawa Lab 15

2007.11.12 集積回路工学 Matsuzawa Lab 16 4 ビット (16 進 ) 同期式カウンタ ibrary IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity アーキティクチャ COUNT4 is アーキテクチャ名 ( 構造 動作の記述 port ( ) CLK, RESET : in std_logic; COUNT : out std_logic_vector( 3 downto 0 ) ); end COUNT4; architecture RTL of COUNT4 is 4ビットは0から3と書く signal COUNT_IN : std_logic_vector ( 3 downto 0 ); ことに注意 begin 内部変数を外部変数に代入 COUNT <= COUNT_IN; process ( CLK, RESET ) begin VHDLでは OUT の属性の信号はエンティ if ( RESET = '1' ) then ティ内部で再びその値を使用できない COUNT_IN <= "0000"; 信号代入文 end if; end process; end RTL; 回路の構造や動作を記述 エンティティ名 elsif ( CLK'event and CLK = '1' ) then COUNT_IN <= COUNT_IN + '1'; 1 つのエンティティに対して 複数のアーキテクチャを定義できる

4 ビット (16 進 ) 同期式カウンタ ibrary IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; entity COUNT4 is port ( CLK, RESET ); end COUNT4; architecture RTL of COUNT4 is signal COUNT_IN : std_logic_vector ( 3 downto 0 ); begin 条件式 COUNT <= COUNT_IN; process ( CLK, RESET ) begin if ( RESET = '1' ) then COUNT_IN <= "0000"; elsif ( CLK'event and CLK = '1' ) then COUNT_IN <= COUNT_IN + '1'; end if; end process; end RTL; process 文 CLKもしくはRESETが変化したときに活性化 : in され記述の上から順に実行される std_logic; COUNT : out std_logic_vector( 3 downto 0 ) センシティビティリスト ( 基本的に入力信号はすべてここに記述する ) 定数表現 1ビット 0 複数ビット 0101 CLK event and CLK= 1 CLK 信号の立ち上がり時を検出 If 文 case 文などの順次処理文はこのプロセス文の中で記述する それに対してプロセス文の外の記述では値が変化すれば 常に再代入されて動作する この回路記述では COUNT_IN が変化すれば COUNT は変化後の値がいつでも再代入される 2007.11.12 集積回路工学 Matsuzawa Lab 17

2007.11.12 集積回路工学 Matsuzawa Lab 18 データ タイプ 信号や定数にはデータタイプ ( 型 ) がある データタイプによって 取り得る値の種類が決まる データタイプが異なる信号や定数間での直接代入は出来ない ( 変換が必要 ) データタイプはパッケージの中で定義されている 3 11 ; A<=3; 11 1011 ; B<= 1011 ; A <= 11 ; A: std_logic B: integer B<=11;

2007.11.12 集積回路工学 Matsuzawa Lab 19 ADDER Full Adder A B CIN Half Adder Half Adder S CO

2007.11.12 集積回路工学 Matsuzawa Lab 20 コンポーネント化 コンポーネント宣言 接続する下位コンポーネントの入出力信号を定義したもの 下位コンポーネントの接続 インスタンス名 : コンポーネント名 port map ( ポートリスト )

2007.11.12 集積回路工学 Matsuzawa Lab 21 下位コンポーネントの接続 順番によるポート接続 名前によるポート接続 名前によるポート接続 : 定義側信号名 => 接続信号名

2007.11.12 集積回路工学 Matsuzawa Lab 22 参考資料 マルチメディア HDL 設計教材 HDL Endeavor 株式会社エッチ ディー ラボ製 桜井至 Verilog-AMS 入門 CQ 出版 利用ツール GHDL (VHDL コンパイラ シミュレーションおよび合成 ) Icarus Verilog ( Verilog HDL コンパイラ シミュレーションおよび合成 ) GTKWave ( 波形表示ツール )