• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
88
0
0

読み込み中.... (全文を見る)

全文

(1)

1

論理回路設計の基礎と演習

(2)
(3)

3

1.1 ディジタルとは

ひとことで言うなら・・・  アナログ ー連続的な動き 再現が難しい  ディジタルー断続的な動き        再現しやすい  例.)アナログ ー坂道     ディジタルー階段 最初に居た位置に正確に 戻るには階段のほうが 再現しやすい!

(4)

1.2 ディジタルにするメリット

再現性が高い 

ノイズに強い

(5)

5

1.3 ディジタル回路を実現するには

 ディジタル回路、したがってコンピュータも、ディジタルデータ を処理します。しかし電子回路は、電圧で動作しており、電圧 そのものはアナログです。  そのアナログ電圧に、一定の基準電圧 ( スレッショホールド 電圧 )を設けて、その基準電圧よりも電圧が高いか低いかで、 2 進数の0か 1 かを判定するようにしたものが、ディジタル回 路 です。

(6)

1.4 2進数,8進数,10進数,16進数

b(バイナリ) 2進数 h(ヘキサ) 16進数 d(デシマル) 10進数 O(オクト) 8進数 単位 コンピュータが2 進数を   使用しているのは、ハード  ウェア、すなわち電子回路  が簡単になり、安くできる  からです。 データ伝送も、ハードウェ   ア上は、2 進数をベースに   しています。

(7)

7

1.4 2進数,8進数,10進数,16進数

7 7 0111 7 6 6 0110 6 5 5 0101 5 4 4 0100 4 3 3 0011 3 2 2 0010 2 1 1 0001 1 0 0 0000 0 16進 8進 2進 10進 F 17 1111 15 E 16 1110 14 D 15 1101 13 C 14 1100 12 B 13 1011 11 A 12 1010 10 9 11 1001 9 8 10 1000 8 16進 8進 2進 10進 2進数・8進数・10進数・16進数 対応表

(8)
(9)

9

2.1 AND,OR,NOT

組み合わせ回路

 ・同じ入力に対しては必ず同じ出力が

  出る回路

 ・基本的に時間の概念がない

・基本論理素子

(AND,OR,NOT)で構成さ

れる

(10)

2.1 AND,OR,NOT

AND (かつ)   論理式:C=A&B 両方条件が整った時に成立 C=0 A=0,B=1 C=0 A=0,B=0 C=0 A=1,B=0 C=1 A=1,B=1 結果 条件 論理記号 C A B

(11)

11

2.1 AND,OR,NOT

OR (または)  論理式:C=A|B どちらかの条件が整った 時に成立 A=0,B=1 C=1 C=0 A=0,B=0 C=1 A=1,B=0 C=1 A=1,B=1 結果 条件 B C A 論理記号

(12)

2.1 AND,OR,NOT

NOT (でない)  論理式:C=^A 結果を反転させる A=0 C=1 C=0 A=1 結果 条件 C A 論理記号

(13)

13

2.1 AND,OR,NOT

論理記号一覧表 *:記号の○印は負論理(Lアクティブ)を   示す。 記号 NOT = A X A X A X L H H L 真理値表 A B X L L L L H L H L L H H H A B X L L H L H H H L H H H L A B X = A B X A B X = A B X verilog-HDL X = ~A X = A & B AND NAND X = ~ (A & B) A B X = A B X A B X = A B X A B X L L L L H H H L H H H H A B X L L H L H L H L L H H L 記号 真理値表 verilog-HDL X = A | B X = ~ (A | B) OR NOR X = ~ (~A | ~B) X = ~A | ~B X = ~ (~A &~ B) X = ~A &~ B

(14)

2.2 組み合わせ回路

A B 0 1 2 3 A B 0 1 2 3 L L H L L L L H L H L L H L L L H L H H L L L H 組み合わせ回路の例(デコーダ回路)

(15)

15

2.2 組み合わせ回路

論理遅延

  ・入力が変化してから出力に変化するまで

 の遅れの時間があること

  ・論理ゲートを信号が通るのにかかる時間

   のこと

(16)

練習①

<問題> 次のような条件の回路図/真理値表を作成してみよう

SW1が‘1’の時→ LED1 点灯・LED2 消灯

SW1が‘0’の時→ LED1 消灯・LED2 点灯

(LEDは‘1’の時 点灯、 ‘0’の時 消灯とする)

(17)

17

練習①

解答例 SW1 LED1 LED2 SW1 LED1 LED2 1 1 0 1 0 0

(18)

練習②

<問題> 次のような条件の回路図/真理値表を作成してみよう ・SW1

が ‘

1’の時でAが‘1’の時→LED1が点灯

・SW1

が ‘

0’の時でBが‘1’の時→LED2が点灯

(LEDは‘1’の時 点灯、 ‘0’の時 消灯とする)

(19)

19

練習②

解答例 SW1 LED1 LED2 A B SW1 A B LED1 0 LED2 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0

(20)

練習③

<問題> 次のような条件の回路図/真理値表を作成してみよう ・SW1が‘1’の時、Aの状態によりLED1を点灯/消灯 を行う ・SW1が‘0’の時、Bの状態によりLED1を点灯/消灯 を行う

(21)

21

練習③

ヒント 真理値表 SW1 A B LED1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0

(22)

練習③

解答例 SW1 LED1 A B SW1 A B LED1 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0

(23)

23

2.3 順序回路

 ・回路内に記憶素子を含んでいて、クロックと呼ばれ る基準信号と入力によって出力がきまる回路 ・クロックという時間の概念存在する ・基本論理素子と記憶素子で構成されている ・順序回路の例としては、フリップフロップやカウンタ などがある

(24)

クロック

・ディジタル回路において順序回路を動作させるため の基準信号のことであり、一定の周期でH=>L=> H・・・・を繰り返す信号 クロック信号 周期:T[sec] 周波数:f [Hz] = 1/T H L H L L L H H

(25)

25

フリップフロップ(

FLIP FLOP)

・フリップフロップとは、シーソーの働きの意味。

・回路の働きが文字通りシーソーの働きに似

(26)

入 力 クロック リセット 出 力 D CLK RESET Q CLK D Q 入力(D)の変化がクロック(CLK)の立ち上がり、又は 立下りにより出力(Q)に伝わる 通常、リセット(RESET)はクロック(CLK)とは非同期

フリップフロップ(

FLIP FLOP)

(27)

27

カウンタの例(2ビットカウンタ)

カウンタではクロックの数を数える回路を構成することができる CLK Q1 Q0 RESET 0  1 2  3  0 1 RESET D Q Q RESET D Q Q RESET CLK Q0 Q1 CLK CLK

(28)
(29)

29

3.1.1デジタル時計の構成を考えよう

発 振 器 1 kH Z 1000回 カ ウ ン ト 6 0 回 カ ウ ン ト 6 0 回 カ ウ ン ト 1 秒 に な る 1 分 に な る 1 時 間 に な る 表 示 表 示 表 示 ▲発振器は、電圧を与えるとクロックを発生させる ▲発振周波数(発生させるクロックの周波数)が1kHZとした場合       ・・・1秒間に1000クロックが繰り返される

(30)

3.1.2デジタル時計にどのような回路が必要か

①秒、分、時間のカウンタ回路が必要

   ・秒のための

1000回カウント

   ・分のための60回カウント

   ・時間のための60回カウント

(31)

31

3.1.2デジタル時計にどのような回路が必要か

②液晶やLEDなどに表示するためのデコーダ回路が必要  (例)7SEG LEDに表示する場合(点灯=1、消灯=0) a b c h g d f e 2を 表 示 0を 表 示

0

1

0

1

1

0

1

1

0

0

1

1

1

1

1

1

h

g

f

e

d

c

b

a

a b c h g d f e

(32)

3.1.2デジタル時計にどのような回路が必要か

②液晶やLEDなどに表示するためのデコーダ回路が必要  (例)7SEG LEDに表示する場合(点灯=1、消灯=0) a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e

(33)

33

(34)
(35)

35

4.1 どのような設計手法があるか

Verilogとは

  ▶ シミュレーション用の言語として生まれる

 ▶ その後、論理合成にも使えるようになる

 ▶ 1995年に

IEEE標準

となる

 ▶ 現在、

多くの

CADツールがサポート

している

 ▶

C言語に似た

平易で表現力の高い記述言語

(36)

よく使う順序処理分

4.1 どのような回路設計があるか

・if文

・case文

・for文

・while文

・repeat文

・wait文

・disable文

・force文/release文

(37)

37

HDL設計のメリット/デメリット

▶メリット 設計の効率化         ・半導体ベンダにとらわれない (ベンダ・フリー)設計が可能      ・論理合成による設計期間短縮      ・設計資産の活用     検証精度の向上      ・設計の途中で検証できる      ・入力の印加、出力の観測・比較が容易      ・システム・レベルの検証が行える (シミュレーション・モデル)

4.1.1 回路図設計

(38)

HDL設計のメリット/デメリット

  

▶デメリット    ・現状の論理合成は単相同期回路向き    ・ツール類が高価    ・ASICでは論理合成できない回路もある

4.1.1 回路図設計

(39)

39

4.1.2 HDL設計(VHDL、Verilog)

Verilog-HDL:Cadence社の論理シミュレータ用言 語から派生 VHDL:回路仕様を書くことを目的に、標準化 Verilog-HDL:    −抽象度が低い    −回路的    −電気系向き VHDL:    −抽象度が高い    −プログラム的    −情報系向き

(40)

4.2 設計手順

回路要求仕様 外部設計 詳細設計 ・Verilog-HDL/VHDL ・グラフィカルエントリー(VisualElite) ・回路図入力 等 機能検証 論理合成 配置配線 HDL設計 (デザインエントリー) ・ModelSim ・NC-Verilog 等 ・DesignCompiler ・Synplify 等 ・QuartusII ・ISE Foundation 等 外部仕様書 内部仕様書 ソースファイル (*.v、*.vhd) テストベンチ (*.v、*.vhd) ネットリスト (*.edif、*.v、*.vhd) コンフィギュレーションファイル (*sof、*.pof)

(41)

41

4.3 Verilog記述の規則

▶ 拡張子は「*****.v」とする ▶ 全角文字は使えない ▶ 大文字と小文字を識別する ▶ 識別子の名付け規則    ① 英数字とアンダースコア(_)とドル記号($)が使用可能    ② 文字列の先頭には英字とアンダースコア(_)のみ使用可能    ③ 予約語を識別子として使用することはできない    ④ 長さは1024文字以内(後段ツールの制約も考慮しなくてはならない) ▶ コメント記述    1行コメント  :「//」から文末までをコメントとみなす    複数行コメント:複数にまたがるコメントは「/*」と「 */」で囲む

(42)

module module_name (port_list) endmodule Verilogのモジュール基本構造 ▼モジュール宣言 Verilogでは各宣言及び回路記述をキーワー ドmodule ~ endmoduleで囲まれたモジュール内 に定義する ▼ポート宣言 ポート宣言に入力(input)、出力(outoput)、入出力 (inout)のいずれかのモードを指定する 同時に信号がベクタの場合は[msb:lsb]のようにベ クタ幅も宣言する ▼データタイプ宣言 モジュール内部で用いる信号を ネット宣言(ネット型)、レジスタ宣言(レジスタ型) で定義し同時に信号がベクタの場合は[msb:lsb] のようにベクタ幅も宣言する ▼回路記述 ポート宣言 データタイプ宣言 (ネット/レジスタ宣言など) 回路記述 assign文(組合せ回路の記述) always文(順序回路の記述) 下位モジュール呼び出し など

4.3 Verilog記述の規則

(43)

43

5.1 Verilogによる記述

moduleの構成要素

module module_name ( port_name1,

port_name2, … );   <ポート宣言>           <レジスタ型宣言>          <ネット宣言>           <パラメータ宣言>         <イベント宣言>          <プリミティブ・ゲート宣言>   <下位モジュール呼び出し>     <always文>            <initial文>            <function定義>          <task定義>            <継続的代入>         endmodule

(44)

5.1.1 Verilogによる回路記述⇔回路図

回路記述の4スタイル 論理合成を前提とした場合、Verilogによる回路記述の スタイルは、次の4種類がある 組み合せ回路をalwaysで記述することも可能だが、制約がある   ・ 出力をreg宣言する   ・ always文の@以降(イベント式)にすべての入力を記述する   ・ always文の中に動作(出力に対する代入文)を記述する また、論理合成時に不必要なラッチを生成することがあったり、可読性が 悪くなる。 ▶ assignによる組み合せ回路 ▶ functionによる組み合せ回路 ▶ alwaysによる順序回路 ▶ 下位モジュールの呼び出し

(45)

45

5.1.1.1 AND、OR

AND

//AND module test(a,b,c); input a,b; output c; assign c = a & b; endmodule

OR

//OR module test(a,b,c); input a,b; output c; assign c = a | b; endmodule a b c a b c

(46)

5.1.1.2 組合せ回路

//Test回路 module test(A,B,C,D,E,F); input A,B; output C,D,E,F; assign C = ~A & ~B; assign D = ~A & B; assign E = A & ~B; assign F = A & B; endmodule A B C D E F L L H L L L L H L H L L H L L L H L H H L L L H 《組合せ回路》・・・入力の変化が、すぐに出力に伝搬する回路 値を保持しない         A B C D E F

(47)

47

5.1.1.3 順序回路

(例)4ビット・バイナリ・カウンタ 〈バイナリ・カウンタの仕様〉 入力:クロックCLK、リセットRESET、 出力:Q(4ビット) 動作:クロックCLKの立ち上がりでカウントアップ     リセットRESETが1なら、クロックCLKとは無関係 に(非同期に)出力Qが0となる Q CLK RESET 《順序回路》・・・フリップフロップやラッチなどの記憶素子を含んだ回路       値を保持する 4

(48)

5.1.1.3 カウンタ

//加算演算子による4ビット・カウンタ module counter(CLK,RESET,Q); input CLK,RESET; output [3:0] Q; reg  [3:0] Q;

always @ (posedge CLK or posedge RESET) begin if (RESET==1’b1) Q <= 4’h0; else Q <= Q + 4’h1; end Posedgeは立ち上がり (positive edge)の意味で CLKの立ち上がりまたは RESETの立ち上がりで、常 にbegin以降が実行される Q CLK RESET 4

(49)

49

5.2 ツール(QuartusⅡ)の使い方

(50)

5.3 Verilogによるテストベンチ記述

//************************************* // CLK TestBench // File Name = tb_clk.v // Date 2006/02/16 //************************************* `timescale 1 ps / 1 ps module tb_clk; parameter dly = 3; reg RESET; reg CLK10M; reg SW1; wire [7:0] LED_H; //---// TEST PAT START

//---initial begin CLK10M= 1'b0; forever begin #1CLK10M= ~CLK10M; #1; end end //---// TASK //---initial begin RESET= 1'b0; SW1= 1'b0; repeat (8) @(posedge CLK10M); #(dly) RESET= 1'b1; repeat (3) @(posedge CLK10M); #(dly) SW1= 1'b1; repeat (10000) @(posedge CLK10M); end clk1a clk1a ( .SW1(SW1), .RESET(RESET), .CLK(CLK10M), .LED_H(LED_H) ); endmodule

(51)

51

5.3.1 記述方法

Modelsim記述方法

(52)

5.3.2 Modelsimの使い方

Modelsim SE 5.7gの使い方

(53)

53 < ビット幅>’ <基数 > <数値 >

数値表現

6.1 Verilog回路設計復習

基数に応じた定数の値を示す b,B:2進数  o,O:8進数 d,D:10進数 h,H:16進数 10進数で表す

(54)

演算子

6.1 Verilog回路設計復習

条件演算 連接演算 ?: { } その他 左シフト 右シフト << >> シフト演算 関係演算 リダクション演算 符号演算 ビット演算 論理否定 論理AND 論理OR ! && || 加算、プラス符号 減算、マイナス符号 乗算 除算 剰余 + − * / % 論理演算 算術演算 小 小または等しい 大 大または等しい 等しい 等しくない 等しい(X,Zも比較) 等しくない(X、Zも比較) AND NAND OR NOR EX−OR EX−NOR NOT AND OR EX−OR EX−NOR < <= > >= & ∼ & | ∼ | ^ ∼ ^ == != === !== ∼ & | ^ ∼ ^ 演算子優先順位 ! & ~& | ~| ^ ~^ + -* / % + -<< >> < <= > >= == != === !== & ^ ~^ | && || ?: 高 低 最上位の優先順にある演算子は、すべて単項演算子(各項の頭につける演算子)である

(55)

55

6.2MU200-EC6Sを使用した

(56)

練習④

〈問題〉

  

SW1が‘0’の時、LEDA0が点灯する

   ・ 7

SEG LEDに表示する場合

(57)

57

練習④

解答例

//LED module LED(SW1,LEDA0); input SW1; output LEDA0; assign LEDA0=~SW1; endmodule 1 0 1 0 LED_A0 SW1 SW1 LEDA0

(58)

練習⑤

<問題> 次のような条件の回路図を作成してみよう ・SW1が‘1’の時→ LED1 点灯・LED2 消灯 ・SW1が‘0’の時→ LED1 消灯・LED2 点灯 (LEDは‘1’の時 点灯、 ‘0’の時 消灯とする)

(59)

59

練習⑤

解答例

SW1 LED1

(60)

練習⑤

設計した回路をQuartusⅡでコンパイル、シミュレー ション、MU200-EC6Sで実機確認を行おう。    実機動作では、 SW1はSW_A0 LED1はLED0、LED2はLED7に割り当てることとする。 (ピンアサインはMU200-EC6Sピンアサイン表1.1.xls参照すること。)  練習⑤ 操作手順例QuartusⅡで回路設計参照

(61)

61

練習⑤

MU200-EC6Sで実機確認を行おう。   (注意:MU200-EC6Sのテンキーは負論理(押された時が‘0’、押されていない時‘1’))    SW_A0  LED0 (SW_A0押下時消灯)  LED7 (SW_A0押下時点灯) 

(62)

練習⑥

〈問題〉

7SEGLEDに学籍番号を点灯しよう!

  ・

SW1が‘0’の時、学籍番号が点灯する 

 ように

Verilog HDLで設計しよう。

(63)

63

練習⑥

ヒント 学籍番号「00000000」の場合  7SEGLEDは下図のように表示 a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e a b c h g d f e

LED_A LED_B LED_C LED_D LED_E LED_F LED_G LED_H

解答例(gakuseki.vファイル参照)

(64)

//7SEGLED module gakuseki(SW1,LED_A,LED_B,LED_C,LED_D,LED_E,LED_F,LED_G,LED_H); input SW1; output [7:0] LED_A,LED_B,LED_C,LED_D,LED_E,LED_F,LED_G,LED_H; reg [7:0] LED_A,LED_B,LED_C,LED_D,LED_E,LED_F,LED_G,LED_H; always@(SW1) case(SW1) 1'b0:begin LED_A<=8'hFC; LED_B<=8'hFC; LED_C<=8'hFC; LED_D<=8'hFC; LED_E<=8'hFC; LED_F<=8'hFC; LED_G<=8'hFC; LED_H<=8'hFC; end default:begin LED_A<=8'h00; LED_B<=8'h00; LED_C<=8'h00; LED_D<=8'h00; LED_E<=8'h00; LED_F<=8'h00; LED_G<=8'h00; LED_H<=8'h00; end endcase モジュール宣言 レジスタ宣言 SW1を押す LED_A∼Hまで学籍番号「0」を表示 それ以外 LED_A∼Hまで何も表示しない

(65)

65

練習⑥

設計したVerilog HDLソースをQuartusⅡでコンパ イル、シミュレーション、MU200-EC6Sで実機確認 を行おう。     

(66)

《File》→《New…》を選択します。

NEWはDeviseDesignFilesタブでVerilog HDL Fileを選択してOK

(67)

67

(68)

ファイルの保存

(69)

69

7. MU200-EC6Sを使用した

(70)

7.1 練習⑦

〈問題〉  ・下記フリップフロップをVerilog HDLで記述し、 QuartusⅡでコンパイル、シミュレーション、実機 確認を行おう。 D CLK RESET Q a b clk rst

(71)

71 実機動作では、   aはSW_A0 (2番ピン) 、bはLED0(47番ピン)、   clkはOSC(28番ピン)、rstはRESET(240番ピン)   に割り当てることとする。 (ピンアサインはMU200-EC6Sピンアサイン表1.1.xls参照すること。)  練習⑦ Verilog HDL解答例  コンパイル、シミュレーションは、    練習⑤ 操作手順例QuartusⅡで回路設計参照  を参照して行うこと。 

(72)

練習⑦

MU200-EC6Sで実機確認を行おう。   (注意:MU200-EC6Sのテンキーは負論理(押された時が‘0’、押されていない時‘1’))    SW_A0  LED0 CK_DIV設定をFとする (CLK_SW押下毎に1クロック発生する)  CLK_SW ・SW_A0を開放状態で   CLK_SWを1回押すとLED点灯 ・SW_A0を押下状態で CLK_SWを1回押すとLED消灯 することを確認する。

(73)

73

7.2 練習⑧

〈問題〉    ・スイッチを押して10秒後に学籍番号     を点灯しよう!     尚、入力されるクロックは10MHzとする。      (MU200-EC SW27 CK_DIVは「2」とする。)

(74)

練習⑧

SW1 RESET CLK LED_A LED_B LED_C LED_D LED_E LED_F LED_G LED_H start CLK RESET SW1 data X 0 X 1X 2 X 3 X 4X 5 X 6 X7 X 8 9 ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ X X start・・・SW1を押した時だけ dataを動かす信号 data・・・10秒数えるための 信号 解答例(count解答例.docファイル参照)

(75)

75

7.2 練習⑨

〈問題〉 下記回路を設計、コンパイルして実機確認を行おう。  ①RESETを押す  ②7SEGLEDのHに「0」を点灯  ③SW1を押す  ④7SEGLEDのHの表示が1秒毎に       0→1→2・・・8→9→0と繰り返す 尚、入力されるクロックは10MHzとする。     (MU200-EC SW27 CK_DIVは「2」とする。)

(76)

練習⑨

解答例(clk-kaitourei.docファイル参照)   SW1 RESET CLK sec_clk SW1 RESET CLK sec_cont RESET CLK LED_H 1秒を数えるsec_clk信号 を作るためのカウンタ回路 sec_clk信号を数えるsec_cont信 号を作るためのカウンタ回路 sec_cont信号をLED_Hに 表示するためのデコーダ回路 CLK RESET SW1 sec_clk sec_cont X 0 1 2 8 9 ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ ・・・・・・・・・・・・・ 1秒 1秒 1秒 1秒 1秒 X X X X・・・・・・・・・・・・・ X X 0

(77)

77

8. MU200-EC6Sを使用した

(78)
(79)

79

8.1.1 シフト回路仕様説明

CLK発振部 RST回路部 MU200-EC6S 7SEG A B C D E F G H 数字表示 FPGA LED PSW 10MHZ 〈1〉機能概要  ①RESETを押す  ②7SEGLEDのHに「0」 を表示する  ③SW1を押す  ④7SEGLEDの表示を 1秒毎に変える   (8.1.2図1参照) SW1

(80)

8.1.1 シフト回路仕様説明

〈2〉トップモジュールブロック図 mask_g mask_f mask_e mask_d mask_c mask_b mask_a dec SW1 RESET CLK sec_clk RESET CLK sec_clk sec_count LED_H LED_G LED_F LED_E LED_D LED_C LED_B LED_A st_h RESET CLK 4 sec_count FPGA 8 8 8 8 8 8 8 8

(81)

81

8.1.1 シフト回路仕様説明

3〉仕様

sec_countを表示するためのもの dec 表示が出るまでマスク信号発生回路 mask sec_clkを数えるための回路 sec_count 1秒数えるためのカウンタ sec_clk 概略仕様 ブロック名

(82)

8.1.2 Verilogによる設計

〈問題〉  ①RESETを押す  ②7SEGLEDのHに「0」 を表示する  ③SW1を押す  ④7SEGLEDの表示を1 秒毎に変える   (図1参照) 0 H G F E D C B A 1 0 1秒(1秒後) 2 1 0 1秒(2秒後) 3 2 1 0 1秒(3秒後) 4 3 2 1 0 1秒(4秒後) 5 4 3 2 1 0 1秒(5秒後) 6 5 4 3 2 1 0 1秒(6秒後) 7 6 5 4 3 2 1 0 1秒(7秒後) 8 7 6 5 4 3 2 1 1秒(8秒後) 9 8 7 6 5 4 3 2 1秒(9秒後) 0 9 8 7 6 5 4 3 1秒(10秒後) 図1

(83)

83

8.1.2 Verilogによる設計

解答例(clkseg解答例.docファイル参照) X X0 1X 2X X3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 CLK RESET SW1 count (sec_clk内の カウンタ値) sec_clk sec_count X 0 X 1 X 2 X 3 X ヒント1.sec_clkの入力と出力信号

(84)

8.1.2 Verilogによる設計

X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 sec_count ∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼∼ RESET CLK st_h sec_clk ヒント3.maskの入力と出力の信号 st_hは(図1の7秒後の参照) 7SEGLEDが全て表示される までをマスクする信号 maskは1秒ずつずれて数字 を表示するための信号 mask_g mask_f mask_e mask_d mask_c mask_b 1秒後 2秒後 3秒後 4秒後 5秒後 6秒後 X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 sec_count ヒント2.sec_countの入力と出力の信号

(85)

85

8.1.2 Verilogによる設計

ヒント4.7SEGLEDの入力と出力の信号 X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X DA X F2 X 66 X 00 X 00 X 00 X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X DA X F2 X 00 X 00 X 00 X 00 X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X 00 X 00 X 00 X 00 X 00 X 00 LED_E LED_D LED_B X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X DA X F2 X 66 X B6 X 3E X E4 LED_H X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X DA X F2 X 66 X B6 X 00 X 00 LED_F X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X DA X F2 X 66 X B6 X 3E X 00 LED_G X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FCX 60 X DA X 00 X 00 X 00 X 00 X 00 LED_C X FC X 60 X DA X F2 X 66 X B6 X 3E X E4 X FE X E6 X FC X 00 X 00 X 00 X 00 X 00 X 00 X 00 LED_A mask信号を7SEGLEDに表示 (「00」は表示無し) sec_clk

(86)
(87)

87

9.MU200−EC6Sを使用した

      自由課題 

(88)

参考 

MU200-ECマニュアル添付

CLK24、BEEP回路

参照

関連したドキュメント

前項で把握した実態は,国際海上コンテナ車の流

平成 27 年 2 月 17 日に開催した第 4 回では,図-3 の基 本計画案を提案し了承を得た上で,敷地 1 の整備計画に

  まず適当に道を書いてみて( guess )、それ がオイラー回路になっているかどうか確かめ る( check

2012年「スタートアップ都市宣言」以降、スタートアップカフェやFukuoka Growth

WMS 計量モジュールには RS232 インターフェイスおよび RS422 インターフェイスが装備されてい

限られた空間の中に日本人の自然観を凝縮したこの庭では、池を回遊する園路の随所で自然 の造形美に出会

米大統領選で再選を決めた民 主党のバラク・オバマ大統領 は、7日未明、地元の中西部 イリノイ州シカゴで支持者を

□ ゼミに関することですが、ゼ ミシンポの説明ではプレゼ ンの練習を主にするとのこ とで、教授もプレゼンの練習