電卓の設計 1

Size: px
Start display at page:

Download "電卓の設計 1"

Transcription

1 電卓の設計 1

2 FPGA Express と MAXPLUS2 に よる FPGA 設計 FPGA EXPRESS RTL circuit.edf circuit.acf RTL MAXPLUS2 FPGA circuit.acf circuit.sof, ttf, pof SRAM 2

3 どうして電卓なの? その場で 10 キーを使って動かせる プロセッサだと プログラムを考えたり メモリとのインタフェースが必要 ただし 入力が非同期に入るので 同期変換しないといけない 簡単なようで奥が深い 3

4 BCD と 2 進数 計算機は 2 進数だが 人間は 10 進数 BCD: 10 進数を2 進数であらわす 94 = 101_ 進数の場合 1001(9)_0100(4) BCD の場合! BCD で計算することも可能だが 面倒! 入力で BCD を 2 進数に変換し 出力を再び 2 進数に変換する 2 進数で計算できる 4

5 FPGA 回路 ( ボード ) の仕様 7 LED LED CLK ( 0 1) FPGA RST 7 LED 2 3 LED 7 LED

6 BCD2 桁入力 2 進記憶回路 10 キーを 2 回押して 2 桁の 10 進数を入力する回路を設計 6

7 BCD2 桁入力 2 進記憶回路 プッシュスイッチから与えられたBCDを2 進数に変換して保存する module binshiftreg decimal[9:0] 10 decimal[0] 0, decimal[9] 9. CE CLK, RST out[6:0] 2. binled. 7

8 8 BCD2 桁入力 2 進記憶回路 dectobin REGA *10 + syncro CE binshiftreg syncro binshifttop 7 out[6:0] d[3:0] in out push[9:0] CE decimal[9:0] binled ledh[6:0] ledl[6:0] count[1:0] CLK or negedge RST) 2 BCD +LED assign function CLK RST CLK RST 10 1 pushout[9:0] CEout 1 1 always ブロックブロックブロックブロック assign 文 3

9 処理の流れ キーの入力を 2 進数に変換 (dectobin) " function 文で実現 2. 2 進数をレジスタに入力 " 前の入力に10をかけて現在の入力を入れる 入力 2,1 表示 21 " alwaysブロック 進数に変換して出力 " assign 文 + 外付け回路 (binled) 9

10 入出力ポートの定義 module binshiftreg(out,decimal,clk,rst,ce); // output [6:0] out; input [9:0] decimal input CLK,RST,CE; // input, output endmodule 10

11 function と assign による組み合わせ論理回路 function decimal[9:0] d[3:0] dectobin "9 decimal[9] 1 "decimal[x] x module binshiftreg(out,decimal,clk,rst,ce); output [6:0] out; input [9:0] decimal; input CLK,RST,CE; wire [3:0] d; // 1 wire. assign d=dectobin(decimal); // function dectobin d function [3:0] dectobin; // [3:0] input [9:0] in; // function if(in[9]) // function if, case dectobin = 9; else if(in[8]) dectobin = 8; else if(in[7]) dectobin = 7; else if(in[0]) dectobin = 0; // else endfunction endmodule 11

12 always によるレジスタ記述 assign による出力ポート接続 reg [1:0] count; 10 reg [6:0] REGA; BCD 2 assign d=dectobin(decimal); function [3:0] dectobin; endfunction CLK or negedge RST) if(!rst) begin REGA<=0;count<=0; end else if((decimal!= 0) && (count < 2)) begin decimal 0 ( ), count 2 REGA<=(REGA*10)+d; REGA 10 d, REGA count<=count+1; count 1. end else if(ce) begin REGA<=0;count<=0; CE end 12

13 非同期リセットと同期リセットの混在 CLK or negedge RST) begin if(!rst CE). begin REGA<=0; count<=0; end 非同期リセットと同期リセットの混在は合成不可 現実の FF では不可能だから 非同期リセットは電源投入時 誤動作時の初期化にのみ用いる 状態の初期化は同期的に行う 13

14 同期化回路 非同期入力をそのまま同期回路に入れると 誤動作を起こす 入力は 1 クロックのみアクティブなほうが回路が書きやすい CLK) if(in==0) 0 である. else if(in==1) if( その前が 0 だったら ) カウントアップ 同期化回路なし CLK) if(in==1) カウントアップ 同期化回路あり 14

15 同期化回路 RST in q0 q1 q2 DFF DFF DFF out CLK CLK in q0 q1 q2 out 15

16 binshiftop( 最上位回路 ) の設計 構成要素 同期化回路 binshiftreg 出力変換回路 (binled)»2 進出力を 10 進に変換し さらに LED への出力に変換 構成要素をインスタンスとして階層的に記述する インスタンス : 回路の中のサブ回路 適切な階層分割が回路の可読性を高める 16

17 binshifttop の設計 module binshifttop (push,ledl,ledh,clk,ce,rst); input [9:0] push;// 10. input CLK,RST,CE; output [6:0] ledl, ledh; wire [6:0] out; wire [9:0] pushout; // syncro #(1) I3(.in(CE),.out(CEout),.CLK(CLK),.RST(RST)); // CEout, 1 wire syncro #(10) I2(.in(push),.out(pushout),. binled I1(.in(out),.ledl(ledl),.ledh(ledh)); binshiftreg I0(.decimal(pushout),.CLK(CLK),.RST(RST),.CE(CEout),.out(out)); // binshiftreg decimal, syncro out // pushout. endmodule push[9:0] CE CLK RST ledh[6:0] ledl[6:0] binled I2 I1 in out decimal[9:0] pushout[9:0] syncro binshiftreg I3 syncro CE CEout CLK RST binshifttop out[6:0] I0 17

18 階層記述 binshiftreg I0(.decimal(pushout),.CLK(CLK),.RST(RST),.CE(CEout),.out(out));! binshiftreg: module! I0:!.decimal:!(pushout): LowerModule InstName(.LowerModulePin(UpperModuleNet),..); 18

19 階層記述の概念図 module (binshifttop) I2 out pushout decimal I0 CE CEout CLK CLK CLK out out syncro RST RST RST binshiftreg module syncro #(10) I2(.in(push),.out(pushout),.CLK(CLK),.RST(RST); binshiftreg I0(.decimal(decimal),.CLK(CLK),.RST(RST),.CE(CEout),.out(out)); 19

20 シミュレーションによる動作確認 あらかじめ テストフィクスチャを用意 WEB よりダウンロード verilog に必要なファイルをすべて引数で与える Verilog.log および vcd ファイルで確認 verilog binshiftsim.v binshifttop.v binshiftreg.v other.v 20

21 演算回路の実現 加算機能を付加します 21

22 演算回路の実現 10+25= が実現できるようにする REGA のほかにもうひとつ REGB を用意 手順 REGA 15 REGB REGA 10 1,5 + REGB REGA REGB = REGA 10 2,4 REGB

23 23 dectobin pushout[9:0] *10 + syncro CE enzan syncro syncro syncro enzantop selector out[6:0] d[3:0] CEout plusout equalout in out push[9:0] CE plus equal plus equal decimal[9:0] binled 10 1 ledh[6:0] ledl[6:0] count[1:0] equal_reg CLK or negedge RST) assign REGA REGB 7 7 演算回路ブロック図 REGB

24 演算回路の Verilog-HDL 記述 先ほどの binshiftreg を改造する module enzan(decimal,plus,equal,clk,rst,ce,out); input [9:0] decimal; input CLK,CE,RST,plus,equal; endmodule 24

25 + キーに対する動作追加 reg [6:0] REGA,REGB; CLK or negedge RST) begin if(!rst) begin REGA<=0; REGB<=0; REGB count<=0; end else if((decimal!=0) && (count < 2)) begin REGA<=REGA*10+d;count<=count+1; end else if(plus) + begin count<=0;rega<=0; REGB<=REGA; REGA REGB end REGA REGB REGB 25

26 = キーに対する動作の追加 26

27 出力 out の論理 = が入力されたら REGB で それまでは REGA を out に出力する = が入力されたことを覚えておくレジスタが必要 equal_reg REGA 15 REGB REGA 10 1,5 + : REGB REGA REGB = REGA 10 2,4 REGB

28 出力 out の論理 28

29 enzantop の設計 binshifttop.v を改造する RST を押さなくても 演算が再びはじめられるように改造しても面白い 29

30 演算回路のシミュレーション シミュレーションはインタラクティブに テストフィクスチャでは動作がわかりにくい シミュレーション法 perl enzansim enzansim.v enzantop.v enzan.v other.v キーを押してリターン c r CE RST f, q シミュレーションの終了 の数字 +,= +,= キー 30

31 電卓の設計 演算回路を電卓にします 31

32 減算および負の数の取り扱い 負の数は2の補数で取り扱う 2の補数 =ビット反転 +1 正の数を表すのに必要なビット数 +1で表す C 言語では»char 符号付 8ビット 128~127まで» unsigned char 符号なし8ビット 0~255まで 最上位ビットは符号ビット =0001_ _ _

33 負の数の取り扱い 33

34 負の数の取り扱い 34

35 負の数 負の数を正しく表示するには最上位ビットの値で判断する ただし オーバーフローしたら駄目 オーバーフローしないようにビット幅を決める 35

36 36 dectobin pushout[9:0] REGA REGB *10 + count[1:0] syncro CE calc syncro syncro syncro calctop 7 9 syncro selector 2 REGB[8] add_or_sub HALT OPE DECIMAL overflow out[6:0] d[3:0] CEout plusout minusout equalout in out push[9:0] CE plus minus equal plus minus equal decimal[9:0] binled sign 10 1 LED sign ledh[6:0] ledl[6:0] overflow 電卓のブロック図

37 電卓の動作 = = 25 演算回路では 加算は = を押した時点しか行っていない 電卓では次の値を入力するまで 前の値を表示する 37

38 電卓の設計 -99 から 99 までの値を取り扱う 加算と減算が可能である 演算は +, ー,= キーを押した時点で行い,10 キーから次に入力があるまで, 現在の入力もしくは演算結果を LED に表示する 加減算の結果が -99 より小さいか,99 を超える場合, オーバーフロー LED を点灯させて, 動作を停止する 累算ができる 38

39 REGB<=REGB-REGA; 電卓の動作 REGA と REGB をうまく制御する REGA REGB REGB<=REGB+REGA; REGB<=REGB+REGA; = LED 39

40 電卓の動作 10 キーからの入力を REGA に格納する. REGA を LED に出力 +, - キーが来たら, 前回入力された +, - キーにしたがって, REGA, REGB の演算を実行して, REGB に格納する. REGB を LED に出力する. 10 キーからの入力があった時点で, LED への出力を REGA にする. +, -, = キーで, REGA と REGB の演算を実行して, REGB に格納する. 40

41 設計手順 module 部の記述を行う 状態遷移機械を記述する 状態遷移をリセットの次に記述 各状態での動作を記述する 状態と入力によるレジスタの動作 その後の状態遷移 出力の部分の論理を記述する 41

42 module 部の設計 必要なレジスタの決定 REGA: 入力用 0~99 まで 7 ビット REGB: 計算結果格納演算結果は =-198, 99+99=198 まで 9 ビット add_or_sub: 演算が加算か減算か覚えておく 1 ビット 1 REGA REGB LED =

43 状態を作る ( 状態遷移機械 ) 表示する値にあわせて 状態を作成する LED (REGA) DECIMAL +,, = (REGB) OPE (overflow) LED HALT HALT DECIMAL OPE 43

44 状態の記述 `define 文を使って 状態を名前で定義する! 状態遷移による条件分岐をリセットの次に高い条件とする `define DECIMAL 0 `define OPE 1 `define HALT 2.. reg [1:0] state; 2 if(!rst) begin. end else begin case(state) `DECIMAL:.. `OPE: 44

45 各状態での動作の決定 REGA<-0 REGB<=0 count<=0 add_or_sub<=0 CE REGA<=0 count<=0 HALT CE DECIMAL 10 REGA<-99 or REGA>99 +,-,= REGA<=REGA*10+d count<=count+1 OPE REGA<=alu_out +: add_or_sub<=0 -: add_or_sub<=1 +,-,= CE 10 REGA<=d REGB<=REGA count<=1 45

46 リソースシェアリング ( 資源の共有 ) 同時に使用しない演算器を共有する 記述の仕方によって 共有されたりされなかったりする REGB<=(add_or_sub==0)?REGB+REGA:REGB-REGA; #add_or_sub # 46

47 リソースシェアリング if(add_or_sub==0) REGB<=(add_or_sub==0)? REGB+REGA:REGB-REGA; REGB<=REGB+REGA; else if(add_or_sub==1) REGB<=REGB-REGA; REGA REGB REGA REGB selector add_or_sub add_or_sub (a) 2 (b) 47

48 負の数による条件判断 Verilog は型に対して 制限がゆるい 違う型への代入がそのままできる 例 : reg 型 <=integer 型 integer 型は負の数をーで表現し reg 型は2の補数で表現する integer 型をreg 型に代入すると2の補数に変換される reg 型に対して -による条件判断はできない 2の補数表現に直した正の数で判断する 48

49 負の数による条件判断 (2) module test; reg [7:0] a;integer b; initial begin a<=5; b=5; if(a>-11) $display("a>-11"); else $display( a<=-11 ); if(b>-11) $display("b>-11"); else $display("b<=-11"); end endmodule 49

50 負の数による条件判断 (3) REGB(9 ビット ) のオーバーフロー判定 -99より小さいか 99より大きい $-99 if(regb < -99) -99=1_1001_1101=413, -100=412 REGB[8]=1 REGB<413 if(regb[8]&&(regb<413)) $99 if((regb[8]==0)&&(regb>99)) 50

51 最後に 動作をよく考えて 電卓を作ってみよう 市販の電卓とまったく同じ動作のものを作るのは結構大変 がんばって回路を小さくしてみる 掛け算を加えるとか 自分なりに改造する ただし 除算は組み合わせ回路で実現することが難しいために 合成できない 51

52 演習を会社や大学で行うには? 本演習は, Windows の PC が 1 台あれば, 評価用のライセンスを入手して, 実際の設計までの流れを実習して頂くことが可能である. 1. 評価用のVerilogシミュレータとしては, SilosIIIが有名である FPGA EXPRESSの情報は, まで. 3. MAX+PLUSII の情報は, まで. 4. Verilog-XL, FPGA EXPRESSは, 大学の場合, VDECから提供してもらえる. 5. MAX+PLUSIIは AlteraのUniversityプログラムにより, 無償提供して頂ける. 詳しくは, まで. 52

53 Parameter による可変長回路 同じ記述で ビット幅が異なる回路を実現可能 書式 : parameter 名前 = 初期値 ; 53

54 上位回路でのパラメータの指定 Verilog では, 上位 module から下位 module の parameter を与える方法が 2 種類存在する. defparam 文を使用する #(param1, param2,...) で指定する パラメータは, module 内で parameter 文で宣言した順番となる module binshifttop (push,ledl,ledh,clk,ce,rst); defparam binshifttop.i2.width=10; defparam binshifttop.i3.width=1; syncro I3(.in(CE),.out(CEout),. CLK(CLK),.RST(RST)); syncro I2(.in(push),.out(pushout),. endmodule defparam module binshifttop (push,ledl,ledh,clk,ce,rst); syncro #(1) I3(.in(CE),.out(CEout),. CLK(CLK),.RST(RST)); syncro #(10) I2(.in(push),.out(pushout),. endmodule #(param1, param2) 54

, FPGA Verilog-HDL

, FPGA Verilog-HDL Kazutoshi Kobayashi (kobayasi@kuee.kyoto-u.ac.jp) 2007 12 19-20 1 1 1.1...................................... 1 1.2,................................. 1 2 2 2.1 FPGA......................... 2 2.2 Verilog-HDL.............................

More information

Kazutoshi Kobayashi (kobayasi kit.ac.jp)

Kazutoshi Kobayashi (kobayasi kit.ac.jp) Kazutoshi Kobayashi (kobayasi kit.ac.jp) 2009 11 24-25 1 1 1.1.................................. 1 1.2,............................ 1 2 2 2.1 FPGA.................... 2 2.2 Verilog-HDL........................

More information

VLD Kazutoshi Kobayashi

VLD Kazutoshi Kobayashi VLD Kazutoshi Kobayashi (kobayasi@kuee.kyoto-u.ac.jp) 2005 8 26-29 1, Verilog-HDL, Verilog-HDL. Verilog-HDL,, FPGA,, HDL,. 1.1, 1. (a) (b) (c) FPGA (d). 2. 10,, Verilog-HDL, FPGA,. 1.2,,,, html. % netscape

More information

1, Verilog-HDL, Verilog-HDL Verilog-HDL,, FPGA,, HDL, 11, 1 (a) (b) (c) FPGA (d) 2 10,, Verilog-HDL, FPGA, 12,,,, html % netscape file://home/users11/

1, Verilog-HDL, Verilog-HDL Verilog-HDL,, FPGA,, HDL, 11, 1 (a) (b) (c) FPGA (d) 2 10,, Verilog-HDL, FPGA, 12,,,, html % netscape file://home/users11/ 1 Kazutoshi Kobayashi kobayasi@ieeeorg 2002 12 10-11 1, Verilog-HDL, Verilog-HDL Verilog-HDL,, FPGA,, HDL, 11, 1 (a) (b) (c) FPGA (d) 2 10,, Verilog-HDL, FPGA, 12,,,, html % netscape file://home/users11/kobayasi/kobayasi/refresh/indexhtml,,

More information

Verilog HDL による回路設計記述

Verilog HDL による回路設計記述 Verilog HDL 3 2019 4 1 / 24 ( ) (RTL) (HDL) RTL HDL アルゴリズム 動作合成 論理合成 論理回路 配置 配線 ハードウェア記述言語 シミュレーション レイアウト 2 / 24 HDL VHDL: IEEE Std 1076-1987 Ada IEEE Std 1164-1991 Verilog HDL: 1984 IEEE Std 1364-1995

More information

main.dvi

main.dvi CAD 2001 12 1 1, Verilog-HDL, Verilog-HDL. Verilog-HDL,, FPGA,, HDL,. 1.1, 1. (a) (b) (c) FPGA (d). 2. 10,, Verilog-HDL, FPGA,. 1.2,,,, html. % netscape ref0177/html/index.html.,, View Encoding Japanese

More information

PLDとFPGA

PLDとFPGA PLDFPGA 2002/12 PLDFPGA PLD:Programmable Logic Device FPGA:Field Programmable Gate Array Field: Gate Array: LSI MPGA:Mask Programmable Gate Array» FPGA:»» 2 FPGA FPGALSI FPGA FPGA Altera, Xilinx FPGA DVD

More information

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

VelilogHDL 回路を「言語」で記述する 2. ソースを書く 数値表現 数値表現形式 : ss'fnn...n ss は, 定数のビット幅を 10 進数で表します f は, 基数を表します b が 2 進,o が 8 進,d が 10 進,h が 16 進 nn...n は, 定数値を表します 各基数で許される値を書くこ Verilog ビット幅 基数 2 進表現 1'b0 1 2 進 0 4'b0100 4 2 進 0100 4'd4 4

More information

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx 2019 年 4 月 26 日ハードウエア設計論 :3 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~ 種々の記述 ~ ALU の実装とタイミングに関して always @(A or B or C) Ubuntu を起動し verilog が実行できる状態にしておいてください 79 演習 4: 簡単な演算器 1 入力 A:8 ビット 入力 B:8 ビット 出力 O:8

More information

Microsoft PowerPoint - FPGA

Microsoft PowerPoint - FPGA PLD と FPGA VLD 講習会 京都大学小林和淑 1 PLD FPGA って何 PLD: Programmable Logic Device プログラム可能な論理素子 FPGA: Field Programmable Gate Array 野外でプログラム可能な門の隊列? Field: 設計現場 Gate Array: 論理ゲートをアレイ上に敷き詰めたLSI MPGA: Mask Programmable

More information

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

2ALU 以下はデータ幅 4ビットの ALU の例 加算, 減算,AND,OR の4つの演算を実行する 実際のプロセッサの ALU は, もっと多種類の演算が可能 リスト 7-2 ALU の VHDL 記述 M use IEEE.STD_LOGIC_1164.ALL; 00 : 加算 use IEE 差し替え版 第 7 回マイクロプロセッサの VHDL 記述 マイクロプロセッサ全体および主要な内部ユニットの,VHDL 記述の例を示す. 1)MPU(Micro Processor Uit) Module 1MPU のエンティティ記述とコントローラの例以下は, 簡単な MPU の VHDL 記述の例である ただし, アーキテクチャ部分は, 命令読み込みと実行の状態遷移のみを実現したステートマシンである

More information

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

ソフトウェア基礎技術研修 算術論理演算ユニットの設計 ( 教科書 4.5 節 ) yi = fi (x, x2, x3,..., xm) (for i n) 基本的な組合せ論理回路 : インバータ,AND ゲート,OR ゲート, y n 組合せ論理回路 ( 復習 ) 組合せ論理回路 : 出力値が入力値のみの関数となっている論理回路. 論理関数 f: {, } m {, } n を実現.( フィードバック ループや記憶回路を含まない

More information

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

Microsoft PowerPoint - 集積回路工学_ ppt[読み取り専用] 2007.11.12 集積回路工学 Matsuzawa Lab 1 集積回路工学 東京工業大学 大学院理工学研究科 電子物理工学専攻 2007.11.12 集積回路工学 Matsuzawa Lab 2 1. 1. ハードウェア記述言語 (VHDL で回路を設計 ) HDL 設計の手順や基本用語を学ぶ RTL とは? Register Transfer Level レジスタ間の転送関係を表現したレベル慣例的に以下のことを行う

More information

Microsoft PowerPoint - 7.Arithmetic.ppt

Microsoft PowerPoint - 7.Arithmetic.ppt 第 7 章デジタル演算回路 1 デジタル信号処理音声, 音楽, 通信信号 信号 = 符号付き 2 進データ 負の数値の表現方法 2 2 進数 n ビット n-1 =Σb i 2 i 0 2 の補数 +=2 n n-1 n-1 2 n =1+Σb i 2 i +Σb i 2 i 0 0 n-1 =2 n ー =1+Σb i 2 i 0 3 2 進数の補数 2 の補数 各桁のビットを反転した後で最下位に

More information

Microsoft Word - 実験4_FPGA実験2_2015

Microsoft Word - 実験4_FPGA実験2_2015 FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(

More information

ディジタル電子回路 設計演習課題

ディジタル電子回路 設計演習課題 Arch 研究室スキルアップ講座 NEXYS4 による 24 時間時計 仕様書および設計例 1 実験ボード (NEXYS4) 外観 ダウンロード (USB) ケーブル接続端子 FPGA:Xilinx 社製 Artix7 XC7A100T-CSG324 7 セグメント LED8 個 LED16 個 リセット SW スライドスイッチ (16 個 ) 押しボタンスイッチ (5 個 ) 2 実験ボードブロック図

More information

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

問 2. タイミングチャート以下に示す VHDL コードで記述されている回路に関するタイミングチャートを完成させよ ) レジスタの動作 use IEEE.std_logic_64.all; entity RegN is generic (N : integer := 8 port ( CLK, EN 第 8 回中間試験前の演習 問.VHDL ソースコードを読む () 次の VHDL のソースコードが記述しているゲート回路の回路図を示せ. use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Logic is port ( A : in std_logic_vector(3

More information

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

ディジタル回路 第1回 ガイダンス、CMOSの基本回路 POCO の 1 サイクルマイクロアーキテクチャ POCO は 作りながら学ぶコンピュータアーキテクチャ ( 倍風館 ) で使っている教育用の 16 ビット RISC である www.am.ics.keio.ac.jp/parthenon/pocobook/ も参照のこと POCO の構成 1 + + ext func[2:0] 2:0 THB ADD 00 01 10 comsel com S A

More information

untitled

untitled Verilog HDL Verilog HDL VerilogHDL veriloghdl / CPLD , 1bit 2 MUX 5 D,E) always) module MUX(out, a, b, sel); output out; input a, b, sel; A) IF module MUX(out, a, b, sel); output out; input a, b, sel;

More information

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

ディジタル回路 第1回 ガイダンス、CMOSの基本回路 1 前回教育用の RISC POCO を導入しました 今日はその Verilog 記述を紹介します まず この復習をやっておきましょう 2 最も重要な点は メモリの読み書きで レジスタ間接指定の理解です これはポインタと一緒なので 間違えないように修得してください 3 RISC なので 基本の演算はレジスタ同士でしかできません MV はレジスタ間のデータ移動なので気をつけてください 4 イミーディエイト命令は

More information

FPGAによる24時間時計回路

FPGAによる24時間時計回路 の設計 通信処理ネットワーク研究室 10ec062 志村貴大 1. まえがき今回 24 時間時計回路の設計を行った理由は FPGA を用いた論理回路設計の基礎を学ぶにあたり ハード及びソフト双方の基本技術を一度に習得できる題材であると推測したためである 24 時間時計を構成するモジュールの設計を終えた今 その推測は正しかったものと自負している 本レポートは 復習を兼ねた制作記録としてだけではなく 自分と同じ回路設計初心者が学習の参考にできるものにしたいと考えている

More information

スライド 1

スライド 1 FPGA/HDLを活用したソフトウェア並列処理の構築 goyoki @ 並列プログラミングカンファレンス 自己紹介 goyoki(hatena/twitter) 千里霧中 http://d.hatena.ne.jp/goyoki/ 組込みエンジニア Doxygen 日本語メンテナ 主にテスト関連コミュニティで情報発信 yomite.swtest xunit Test Patterns 読書会等 概要

More information

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

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ 第 4 回 VHDL 演習 2 プロセス文とステートマシン プロセス文を用いるステートマシンの記述について学ぶ 回路 6 バイナリカウンタ (Fig.4-1) バイナリカウンタを設計し, クロック信号に同期して動作する同期式回路の動作を学ぶ ⅰ) リスト 4-1 のコードを理解してから, コンパイル, ダウンロードする ⅱ) 実験基板上のディップスイッチを用いて, 発生するクロック周波数を 1Hz

More information

Microsoft PowerPoint - 01-VerilogSetup-2018.pptx

Microsoft PowerPoint - 01-VerilogSetup-2018.pptx 2018 年 4 月 13 日ハードウエア設計論 :2 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~ 状態遷移と順序機械 ~ TA2 名 : 古賀 杉山が担当します Ubuntu を起動し verilog が実行できる状態にしておいてください http://www.mos.t.u-tokyo.ac.jp/~ikeda/hwdesign/ 38 VerilogHDL

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd

More information

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

エンティティ : インタフェースを定義 entity HLFDD is port (, : in std_logic ;, : out std_logic ) ; end HLFDD ; アーキテクチャ : エンティティの実現 architecture RH1 of HLFDD is <= xor VHDL を使った PLD 設計のすすめ PLD 利用のメリット 小型化 高集積化 回路の修正が容易 VHDL 設計のメリット 汎用の設計になる ( どこのデバイスにも搭載可能 ) 1/16 2001/7/13 大久保弘崇 http://www.aichi-pu.ac.jp/ist/~ohkubo/ 2/16 設計の再利用が促進 MIL 記号の D での設計との比較 Verilog-HDL などでも別に同じ

More information

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

- VHDL 演習 ( 組み合せ論理回路 ) 回路 半加算器 (half adder,fig.-) 全加算器を構成する要素である半加算器を作成する i) リスト - のコードを理解してから, コンパイル, ダウンロードする ii) 実験基板上のスイッチ W, が, の入力,LED, が, の出力とな 第 回 VHDL 演習組み合せ論理回路 VHDL に関する演習を行う 今回は, 組み合せ論理回路の記述について学ぶ - 論理回路の VHDL 記述の基本 同時処理文を並べることで記述できる 部品の接続関係を記述 順番は関係ない process 文の内部では, 順次処理文を使う process 文 つで, つの同時処理文になる順次処理文は, 回路の動作を 逐次処理的 に ( 手続き処理型プログラム言語のように

More information

デジタル回路入門

デジタル回路入門 Open-It FPGA トレーニングコース ( 初級編 ) 第 9 版 2. 組み合わせ回路入門 2.2. 実習 Verilog-HDL 記述 2013 年 5 月 10 日修正 デジタル回路の構成要素 O=A&B; O=~I; INV O=A B; 全てのデジタル回路はこの 4 つの要素 ( 回路 ) のみで構成されている 4 要素の HDL 記述を知っていれば最低限の知識としては十分 2 HDL:

More information

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

Microsoft PowerPoint - LogicCircuits11note.ppt [互換モード] 論理回路 第 回多状態順序回路の設計 http://www.info.kindai.ac.jp/lc 38 号館 4 階 N4 内線 5459 takasii@info.kindai.ac.jp 不完全指定論理関数と完全指定論理関数 2 n 個の状態を持つ (n 個の FF を持つ ) 論理関数に対して 定義 3. ( 不完全指定論理関数 ) ある状態に対する状態遷移関数, 出力関数が定義されていない論理関数

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

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

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

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

Microsoft PowerPoint - vlsi4.ppt [互換モード] (4) 工学部講義 坂井 修一 東京大学大学院情報理工学系研究科電子情報学専攻 東京大学工学部電子情報工学科 / 電気工学科 はじめに CPU の設計 (3) はじめに 本講義の目的 の基本を学ぶ : 機能 VLSI 対象者 : 工学部 4 年生以上 担当者 坂井修一 プロセッサ VLSI 池田誠 アルゴリズム VLSI 時間 場所 水曜日 8:30-10:15 工学部 2 号館 243 前提となる知識

More information

2.5. Verilog 19 Z= X + Y - Z A+B LD ADD SUB ST (X<<1)+(Y<<1) X 1 2 LD SL ST 2 10

2.5. Verilog 19 Z= X + Y - Z A+B LD ADD SUB ST (X<<1)+(Y<<1) X 1 2 LD SL ST 2 10 2.5. Verilog 19 Z= X + Y - Z A+B LD 0 0001 0000 ADD 1 0110 0001 SUB 2 0111 0010 ST 2 1000 0010 (X

More information

Microsoft PowerPoint - slide

Microsoft PowerPoint - slide ディジタル回路設計の基礎 京都大学情報学研究科小林和淑 kobayasi@i.kyoto-u.ac.jp 内容 単相クロック完全同期回路 構成要素 D フリップフロップ 同期回路の性能 ハードウエア設計手法 論理設計手法の歴史 ハードウエア記述言語 RTL 設計 LSI の設計フロー セルベース設計とゲートアレイ PLD と FPGA 2 単相クロック完全同期回路 同期回路とは? 時間方向を同期パルス

More information

1: ITT-2 DDR2 1.8V,.V(F) Config. Mem. JTAG XCFPV048 LEDs SWs Clock (VariClock) DDR2 DDR2 DDR2 FPGA XC5VFX0T General-Purpose LEDs SWs XTAL (2.68kHz) MC

1: ITT-2 DDR2 1.8V,.V(F) Config. Mem. JTAG XCFPV048 LEDs SWs Clock (VariClock) DDR2 DDR2 DDR2 FPGA XC5VFX0T General-Purpose LEDs SWs XTAL (2.68kHz) MC 2009 ZEAL-C01 1 ZEAL ZEAL-C01 2 ITT-2 2 [1] 2 ITT-2 Bluetooth ZEAL-C01 ZEAL-S01 ITT-2 ZEAL IC FPGA (Field Programmable Gate Array) MCU (Microcontroller Unit) FPGA Xilinx Virtex-5 (XC5VFX0T) MCU Texas Instruments

More information

untitled

untitled 13 Verilog HDL 16 CPU CPU IP 16 1023 2 reg[ msb: lsb] [ ]; reg [15:0] MEM [0:1023]; //16 1024 16 1 16 2 FF 1 address 8 64 `resetall `timescale 1ns/10ps module mem8(address, readdata,writedata, write, read);

More information

解答編 第 9 章文字データの取り扱い 演習問題 9.1 文法事項 1 ) コンピュータにおける 文字データの取り扱いについて説明しなさい コンピュータでは 文字に整数の番号を割り当てて ( コード化して ) 文字コードとして扱います 実際に用いられる文字コードとして ASCII コード EUC コ

解答編 第 9 章文字データの取り扱い 演習問題 9.1 文法事項 1 ) コンピュータにおける 文字データの取り扱いについて説明しなさい コンピュータでは 文字に整数の番号を割り当てて ( コード化して ) 文字コードとして扱います 実際に用いられる文字コードとして ASCII コード EUC コ 解答編 第 9 章文字データの取り扱い 演習問題 9.1 文法事項 1 ) コンピュータにおける 文字データの取り扱いについて説明しなさい コンピュータでは 文字に整数の番号を割り当てて ( コード化して ) 文字コードとして扱います 実際に用いられる文字コードとして ASCII コード EUC コード JIS コード SJIS コードなど 様々な規格が存在します 2 ) C 言語の文字型は整数型の一種と考えられるが

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

Microsoft PowerPoint LC_15.ppt

Microsoft PowerPoint LC_15.ppt ( 第 15 回 ) 鹿間信介摂南大学理工学部電気電子工学科 特別講義 : 言語を使った設計 (2) 2.1 HDL 設計入門 2.2 FPGA ボードの設計デモ配布資料 VHDL の言語構造と基本文法 2.1 HDL 設計入門 EDAツール : メンター社製品が有名 FPGAベンダーのSW 1 1 仕様設計 にも簡易機能あり 2 3 2 HDLコード記述 3 論理シミュレーション 4 4 論理合成

More information

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

シフトレジスタ ステートマシン 4. シミュレーション記述 シミュレーションに必要な物 テストベンチ シミュレーション特有の記述 4.1 カウンターのシミュレーション テストする回路 テストベンチ シミュレーション結果 参考文献 以下の文献を参考にさせていただきました 小林優 入門 Verilog- Verilog-HDL 入門 2014 年 12 月 1 日修正 : 2010 年 8 月 3 日公開 内田智久 E-sys, IPNS, KEK はじめに 回路設計未経験者向けに必要最低限の Verilog-HDL 文法を解説した入門書です 専門家向けに書かれた市販書籍は情報が多すぎるため 回路設計初心者からみると最低限何をどのように使えば良いのか分かりません これは 対象読者が論理 回路設計経験

More information

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

計数工学実験/システム情報工学実験第一 「ディジタル回路の基礎」 計数工学実験 / システム情報工学実験第一 ディジタル回路の基礎 ( 全 3 回 ) システム 8 研 三輪忍 参考資料 五島正裕 : ディジタル回路 ( 科目コード 400060) 講義資料 ( ググれば出てくる ) 高木直史 : 論理回路, 昭晃堂 Altera: Cyclone II FPGA スターター開発ボードリファレンス マニュアル Altera: Introduction to Quartus

More information

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

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます

More information

? FPGA FPGA FPGA : : : ? ( ) (FFT) ( ) (Localization) ? : 0. 1 2 3 0. 4 5 6 7 3 8 6 1 5 4 9 2 0. 0 5 6 0 8 8 ( ) ? : LU Ax = b LU : Ax = 211 410 221 x 1 x 2 x 3 = 1 0 0 21 1 2 1 0 0 1 2 x = LUx = b 1 31

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 : if 文, if~else 文 条件分岐 条件分岐とは ある条件が成立したときとしないときで処理の内容を変更する場合に応じた, 複雑な処理を行うことができる 条件分岐 yes 成績が良かったか? no ご褒美に何か買ってもらう お小遣いが減らされる C 言語では,if 文,if~else 文,if~else if~else 文,switch 文で条件分岐の処理を実現できる

More information

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

. ディジタル回路設計を始める前に 2 論理回路設計の基礎と演習 (PowerMedusa MU2-EC6S を使った教材 ) . ディジタル回路設計を始める前に 2 . ディジタルとは ひとことで言うなら アナログー連続的な動き ディジタルー断続的な動き 再現が難しい 再現しやすい 例.) アナログー坂道ディジタルー階段最初に居た位置に正確に戻るには階段のほうが再現しやすい! 3 .2 ディジタルにするメリット 再現性が高い ノイズに強い

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション マイコンプログラミング演習 I 第 04-05 回 LEDを用いたI/O 制御担当 : 植村 実験の目的 本実験ではマイコンシステムを用いた信号の入出力の制御方法を理解することを目的とし, マイコンのアーキテクチャを理解 実装するとともに, アセンブラによるプログラミング技術の習得を行う. 回路の構成として,PIC16F84A を用いてスイッチを入力とする LED の点灯 / 消灯の出力操作を行う回路ならびにアセンブラプログラムを実装する.

More information

卒業論文 巡回冗長検査 CRC32 のハード / ソフト最適分割の検討 氏名 : 伊藤大喜学籍番号 : 指導教員 : 山崎勝弘教授提出日 : 2009 年 2 月 19 日 立命館大学理工学部電子情報デザイン学科

卒業論文 巡回冗長検査 CRC32 のハード / ソフト最適分割の検討 氏名 : 伊藤大喜学籍番号 : 指導教員 : 山崎勝弘教授提出日 : 2009 年 2 月 19 日 立命館大学理工学部電子情報デザイン学科 卒業論文 巡回冗長検査 CRC32 のハード / ソフト最適分割の検討 氏名 : 伊藤大喜学籍番号 : 2260050004-3 指導教員 : 山崎勝弘教授提出日 : 2009 年 2 月 19 日 立命館大学理工学部電子情報デザイン学科 内容概要本論文では LSI 設計の主流となっているハードウェア記述言語の Verilog-HDL を用いて CRC32 回路を設計することで Vreilog-HDL

More information

Microsoft Word - HW06K doc

Microsoft Word - HW06K doc 完了した CP:1~19( 合計 19 個 ) 未達成の CP:20 [ 要旨 目的 ] CPU の製作を行う CPU の製作を通じて ハードウェア設計の流れを理解する CPU の構造について 理解を深める CPU 製作第 3 回の実験では 最終的なCPUの完成を目指す [ 原理 理論 ] まずは CPU の構造設計から行う 全体の構成は次のようになる 下の図では モニター回路は含まれない chattering

More information

スライド 1

スライド 1 順序回路 (2) 1 順序回路の設計 組合せ論理回路の設計法 構造や規則性に着目した手設計 ( 先人の知恵を使う ) 入力 出力の関係に基づく自動合成 ( カルノー図など ) 順序回路の設計法 構造や規則性に着目した手設計 ( 前回の各例 ) 入力 出力 状態の関係に基づく自動合成 2 同期式順序回路の入力 出力 状態の関係 x 1 x 2 組合せ回路 y 1 y 2 x n q 2 q p q 1

More information

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

ex04_2012.ppt

ex04_2012.ppt 2012 年度計算機システム演習第 4 回 2012.05.07 第 2 回課題の補足 } TSUBAMEへのログイン } TSUBAMEは学内からのログインはパスワードで可能 } } } } しかし 演習室ではパスワードでログインできない設定 } 公開鍵認証でログイン 公開鍵, 秘密鍵の生成 } ターミナルを開く } $ ssh-keygen } Enter file in which to save

More information

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

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c 第 11 回機械語とアーキテクチャ コンピュータは, 記号で組み立てられ, 記号で動く機械 : ソフトウェアソフトウェア としても理解されなければならない ソフトウェアの最も下位レベルのしくみが ( 命令セット ) アーキテクチャ である 講義では命令符号 ( 機械語 ) の構成と種類についてまとめる また, 機械語を効率良く実行するために採用されている技術について紹介する 機械語とアセンブリ言語

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 条件分岐 if~else if~else 文,switch 文 条件分岐 if~else if~else 文 if~else if~else 文 複数の条件で処理を分ける if~else if~else 文の書式 if( 条件式 1){ 文 1-1; 文 1-2; else if( 条件式 2){ 文 2-1; 文 2-2; else { 文 3-1; 文 3-2; 真条件式

More information

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

<4D F736F F F696E74202D C190DD B A CB48D65208E DC58F49205B8CDD8AB B83685D> 今さら聞けない高位合成 ~ 一から学ぶ高位合成 ~ シャープ株式会社電子デバイス事業本部副参事山田晃久 1 ハードウェア設計と抽象度 要求仕様 動作仕様設計制約 ( コスト 性能 消費電力 ) システムの実現方式を決定システム設計 ( 動作レベル設計 ) ( アーキテクチャ アルゴリズム ) システム分割 (HW/SW) 機能ブロック RTL 記述 機能設計 (RTL 設計 ) 論理合成 ハードウェアの処理を設計

More information

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤 情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤 2017.12.7 前回の演習問題の解答例 1. 四則演算のできる計算機のプログラム ( 括弧も使える ) 2. 実数の扱える四則演算の計算機のプログラム ( 実数 も というより実数 が が正しかったです ) 3. 変数も扱える四則演算の計算機のプログラム ( 変数と実数が扱える ) 演習問題 1 で行うべきこと

More information

Microsoft PowerPoint - Lec pptx

Microsoft PowerPoint - Lec pptx Course number: CSC.T341 コンピュータ論理設計 Computer Logic Design 10. シングルサイクルプロセッサのデータパス Datapath for Single Cycle Processor 吉瀬謙二情報工学系 Kenji Kise, Department of Computer Science kise _at_ c.titech.ac.jp www.arch.cs.titech.ac.jp/lecture/cld/

More information

三菱電機マイコン機器ソフトウエア株式会社

三菱電機マイコン機器ソフトウエア株式会社 MU500-RX サンプル回路仕様書 三菱電機マイコン機器ソフトウエア株式会社 2012-5-9 1 概要 1.1 目的本仕様書は MU500-RX と MU500-RK で実現する 1 秒カウンタの仕様について記述するものである マイコンで 1 秒を生成し 表示は 7 セグメント LED を用いる また 開始 / 停止は Push-SW を使う 1.2 関連文書 MU500-RX

More information

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 11 回命令実行の流れ 2014 年 6 月 20 日 電気情報工学科 田島孝治 1 授業スケジュール ( 前期 ) 2 回日付タイトル 1 4/7 コンピュータ技術の歴史と コンピュータアーキテクチャ 2 4/14 ノイマン型コンピュータ 3 4/21 コンピュータのハードウェア 4 4/28 数と文字の表現 5 5/12 固定小数点数と浮動小数点表現 6 5/19 計算アーキテクチャ

More information

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

Microsoft PowerPoint - 3.3タイミング制御.pptx 3.3 タイミング制御 ハザードの回避 同期式回路と非同期式回路 1. 同期式回路 : 回路全体で共通なクロックに合わせてデータの受け渡しをする 通信における例 :I 2 C(1 対 N 通信 ) 2. 非同期式回路 : 同一のクロックを使用せず データを受け渡す回路間の制御信号を用いてデータの受け渡しをす 通信における例 :UART(1 対 1 通信 ) 2 3.3.1 ハザード 3 1 出力回路のハザード

More information

Microsoft PowerPoint LC1_14_論理回路シミュレータ.ppt

Microsoft PowerPoint LC1_14_論理回路シミュレータ.ppt の期末試験 実施日 : 7/( 金 ) 限 @ 教室 ( 参照不可, 定規 OK) 成績評価 : 中間 5%, 期末 5%( 試験成績のみ ) ( 第 回 ) 特別講義 : 論理回路シミュレータ. 論理回路の基本 ( 復習 ). シミュレータ (Multiim). 回路シミュレータの概要. 設計実例 : H,F, 簡易電卓など 出題 : 前半 (~6 回 )/, 後半 (8 回 ~)/ 教科書 +(

More information

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

ソフトウェア基礎技術研修 マルチサイクルを用いた実現方式 ( 教科書 5. 節 ) マルチサイクル方式 () 2 つのデータパス実現方式 単一クロックサイクル : 命令を クロックサイクルで処理 マルチクロックサイクル : 命令を複数クロックサイクルで処理 単一クロックサイクル方式は処理効率が悪い. CLK 処理時間 命令命令命令命令命令 時間のかかる命令にクロック サイクル時間をあわさなければならない. 余り時間の発生 クロック

More information

スライド 1

スライド 1 RL78/G13 周辺機能紹介安全機能 ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ 安全機能の概要 フラッシュ メモリ CRC 演算機能 RAM パリティ エラー検出機能 データの保護機能 RAM ガード機能 SFR ガード機能 不正メモリ アクセス機能 周辺機能を使用した安全機能 周波数検出機能 A/D

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2016 年度 5 セメスター クラス C3 D1 D2 D3 計算機工学 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 D1 D2 D3 情報科学基礎 I 10. 組合せ回路 ( 教科書 3.4~3.5 節 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ論理回路 x1 x2 xn 組合せ論理回路 y1 y2 ym y i = f i (x 1, x 2,, x n ), i

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

PowerPoint Presentation

PowerPoint Presentation マイコンシステム 第 12 回 青森大学ソフトウェア情報学部 橋本恭能 haship@aomori-u.ac.jp 目次 講義 内部設計 3 Deviceタブ Actionタブの関数実装 例題 定義した機能を実現する方法を検討する 課題 動作確認 2 講義 内部設計 3 残りの関数を実装 3 組込みシステム開発 週テーマ内容 7 キッチンタイマーの組立キッチンタイマーのハードを製作 確認 8 9 10

More information

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

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード] 組み合わせ回路と順序回路 論理回路 第 9 回フリップフロップ http://www.info.kindai.ac.jp/lc 38 号館 4 階 N-4 内線 5459 takasi-i@info.kindai.ac.jp 組み合わせ回路 ある時刻の信号が 現在の信号だけで決まる回路 順序回路 ある時刻の信号が 現在の信号だけでなく 過去の信号の影響も受ける回路 ( 回路内にバッファ メモリがある

More information

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

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

More information

DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( ) DELPHINUS 2

DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( ) DELPHINUS 2 30 1631158 1 29 () 1 DELPHINUS EQUULEUS 2019 NASA SLS FPGA ( 0.010.1 ) DELPHINUS 2 1 4 1.1............................................ 4 1.2 (Lunar Impact Flush)............................. 4 1.3..............................................

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

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

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O) ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO

More information

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx

Microsoft PowerPoint - 01-VerilogSetup-2019.pptx 2019 年 6 月 14 日ハードウエア設計論 :9 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~CPU: ハード & ソフト ~ Ubuntu を起動し verilog が実行できる状態にしておいてください 129 6/7, 6/14 の出欠は 本日正午 +δ までに WEB から課題 7-4 を提出する cpu.v と simcpu2.v 以下の部分を切り出して

More information

LSI LSI

LSI LSI EDA EDA Electric Design Automation LSI LSI FPGA Field Programmable Gate Array 2 1 1 2 3 4 Verilog HDL FPGA 1 2 2 2 5 Verilog HDL EDA 2 10 BCD: Binary Coded Decimal 3 1 BCD 2 2 1 1 LSI 2 Verilog HDL 3 EDA

More information

0630-j.ppt

0630-j.ppt 5 part II 2008630 6/30/2008 1 SR (latch) 1(2 22, ( SR S SR 1 SR SR,0, 6/30/2008 2 1 T 6/30/2008 3 (a)(x,y) (1,1) (0,0) X Y XOR S (S,R)(0,1) (0,0) (0,1) (b) AND (a) R YX XOR AND (S,R)(1,1) (c) (b) (c) 6/30/2008

More information

模擬試験問題(第1章~第3章)

模擬試験問題(第1章~第3章) 基本情報技術者試験の練習問題 - 第 8 回 この問題は平成 19 年度秋期の問題から抜粋しています 問 1 次のプログラムの説明及びプログラムを読んで, 設問 1,2 に答えよ プログラムの説明 スタックを使って, 実数値を 10 進数字列 ( 文字列 ) に変換する副プログラム FloatFormat である (1) FloatFormat は, 実数 Float の値を 10 進数字列に変換し,

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン (2), コード生成 http://cis.k.hosei.ac.jp/~asasaki /lect/compiler/2007-1204.pdf ( 訂正版 ) 1 概要 仮想マシン 概要 ( 復習 ) 制御命令 出力命令 コード生成 式のコード生成 文 文の列のコード生成 記号表 2 演習で作るコンパイラの例 test.hcc Int main() { int i j; i = 3;

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 仮想マシン () 仮想マシン 復習 仮想マシンの概要 hsm 仮想マシン プログラム言語の処理系 ( コンパイラ ) 原始プログラム (Source program) コンパイラ (Compiler) 目的プログラム (Object code) 原始言語 (Source language) 解析 合成 目的言語 (Object Language) コンパイルする / 翻訳する (to compile

More information

gengo1-2

gengo1-2 変数 プログラム中で 値を格納するには変数 variable を用いる変数は 格納する値の型によって 整数型 文字型 などの型 type をもつ変数を使うには 利用に先立って変数の宣言 declaration をしなければならない 値 変数の値はコンピュータのメモリ上に格納される 具体的にメモリのどの場所に格納されるかは言語処理系が自動的に扱うので プログラマ ( 特に初級者 ) が意識する必要はない

More information

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

Microsoft PowerPoint - arch5kai.ppt [互換モード] コンピュータアーキテクチャ 第 5 回 割 り 込 み その2 天 野 hunga@am.ics.keio.ac.jp ac 割 り 込 み(Interrupt) I/O 側 からCPUに 対 して 割 り 込 みを 要 求 CPUはこれを 受 け 付 けると 自 動 的 にPCを 割 り 込 み 処 理 ルーチンの 先 頭 に 変 更 戻 り 番 地 はどこかに 保 存 割 り 込 み 処 理 ルーチンを

More information

スライド 1

スライド 1 3. 演算命令を学ぼう 本稿の Web ページ http://www.mybook-pub-site.sakura.ne.jp/pic/index.html 1 ; ADD このソースファイルを各自打ち込んで下さい. EQU 0x0C ; at 0C 足し算を実行するプログラムの例です. MOVLW B 00000001 ; Load 0x01 to W ADDLW B'00000011' ; W

More information

Microsoft PowerPoint LCB_14_論理回路シミュレータ.ppt

Microsoft PowerPoint LCB_14_論理回路シミュレータ.ppt ( 第 回 ) 鹿間信介摂南大学理工学部電気電子工学科 特別講義 : 論理回路シミュレータ. 論理回路の基本 ( 復習 ). シミュレータ (Multiim). 回路シミュレータの概要. 設計実例 : H,F, 簡易電卓など ( 論理回路 Ⅰ) の期末試験 実施日 : 8/5( 金 ) : @ 教室 ( 定規 OK, 参照ダメ ) 成績評価 : 中間 5%, 期末 5% ( 出席率 8% 以上の学生が評価対象

More information

Handsout3.ppt

Handsout3.ppt 論理の合成 HDLからの合成 n HDLから初期回路を合成する u レジスタの分離 u 二段 ( 多段 ) 論理回路への変形 n 二段論理回路の分割 n 多段論理回路への変形 n 多段論理回路の最適化 n テクノロジマッピング u 面積, 速度, 消費電力を考慮したライブラリの割当 1 レジスタの分離 process (clk) begin if clk event and clk = 1 then

More information

Microsoft PowerPoint - diip ppt

Microsoft PowerPoint - diip ppt 2006 年度デザイン情報学科情報処理 III 第 12 回マウスによる制御 ブロック崩し の部品 ボール直径 10pixel の円ラケット横 60pixel 縦 10pixel, マウスにより左右に移動ブロック横 50pixel 縦 20pixel,28 個 (7 個 4 段 ) 壁 ( フィールド ) 横 400pixel 縦 600pixel 2006 年度デザイン情報学科情報処理 III 2

More information

Prog1_10th

Prog1_10th 2012 年 6 月 20 日 ( 木 ) 実施ポインタ変数と文字列前回は, ポインタ演算が用いられる典型的な例として, ポインタ変数が 1 次元配列を指す場合を挙げたが, 特に,char 型の配列に格納された文字列に対し, ポインタ変数に配列の 0 番の要素の先頭アドレスを代入して文字列を指すことで, 配列そのものを操作するよりも便利な利用法が存在する なお, 文字列リテラルは, その文字列が格納されている領域の先頭アドレスを表すので,

More information

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR 第 回マイクロプロセッサのしくみ マイクロプロセッサの基本的なしくみについて解説する. -1 マイクロプロセッサと周辺回路の接続 制御バス プロセッサ データ バス アドレス バス メモリ 周辺インタフェース バスの基本構成 Fig.-1 バスによる相互接続は, 現在のコンピュータシステムのハードウェアを特徴づけている. バス (Bus): 複数のユニットで共有される信号線システム内の データの通り道

More information

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 =

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 = VHDL 2 1 VHDL 1 VHDL FPGA VHDL 2 HDL VHDL 2.1 D 1 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; regs.vhdl entity regs is clk, rst : in std_logic; clear : in std_logic; we

More information

VLSI工学

VLSI工学 25/1/18 計算機論理設計 A.Matsuzawa 1 計算機論理設計 (A) (Computer Logic Design (A)) 東京工業大学大学院理工学研究科電子物理工学専攻 松澤昭 3. フリップフロップ回路とその応用 25/1/18 計算機論理設計 A.Matsuzawa 2 25/1/18 計算機論理設計 A.Matsuzawa 3 注意 この教科書では記憶回路を全てフリップフロップと説明している

More information

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

ModelSim-Altera - RTL シミュレーションの方法 ALTIMA Corp. ModelSim-Altera RTL シミュレーションの方法 ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. 目次 1. 2. 3. はじめに...3 RTL シミュレーションの手順...4 RTL シミュレーションの実施...5 3-1. 3-2. 新規プロジェクトの作成... 5 ファイルの作成と登録... 7 3-2-1. 新規ファイルの作成...

More information

Design at a higher level

Design at a higher level Meropa FAST 97 98 10 HLS, Mapping, Timing, HDL, GUI, Chip design Cadence, Synopsys, Sente, Triquest Ericsson, LSI Logic 1980 RTL RTL gates Applicability of design methodologies given constant size of

More information

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

デザインパフォーマンス向上のためのHDLコーディング法 WP231 (1.1) 2006 1 6 HDL FPGA TL TL 100MHz 400MHz HDL FPGA FPGA 2005 2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx,

More information

Report#2.docx

Report#2.docx 1.scanf() 関数による標準入力と基本演算子 ⅱ.1234 円の買い物をして 1 万円札を出したときの お釣りの札と硬貨の枚 数を求めるプログラムを作成せよ a)scanf() 関数を用いて 価格と支払い金額を入力せよ ソースコードの一部 ( 冒頭のコメントは省略 ) 12 13 14 15 16 17 18 1 20 21 22 23 24 25 26 27 28 2 30 31 32 33

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2017 年 5 月 15 日 東邦大学金岡晃 前回の復習 (1) このプログラムを作成し実行してください 1 前回の復習 (2) このプログラムを作成し実行してください 2 前回の復習 (3) 3 前回の復習 演算子 代入演算子 インクリメント シフト演算子 型変換 4 場合に応じた処理 5 こういうプログラムを作りたい 5 教科のテスト

More information

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

Microsoft PowerPoint - VBA解説1.ppt [互換モード] 九州大学工学部地球環境工学科船舶海洋システム工学コース 計算工学演習第一 演習資料担当 : 木村 Excel 上のマクロを利用してプログラムを組む Visual Basic for Applications (VBA) のテクニック Excel のマクロとは? 一連の操作を自動的に行う機能 例 ) セル ( マス目 ) に数字を 1 から順番に埋めていく Excel のマクロでどんなプログラムが作れるのか?

More information

Prog1_6th

Prog1_6th 2012 年 5 月 24 日 ( 木 ) 実施 多分岐のプログラム 前回は多段階の 2 分岐を組み合わせて 3 種類以上の場合分けを実現したが, 式の値の評価によって, 一度に多種類の場合分けを行う多分岐の利用によって見通しのよいプログラムを作成できる場合がある ( 流れ図は右図 ) 式の評価 : 値 1 : 値 2 : 値 n : 該当値無し 処理 1 処理 2 処理 n 既定の処理 switch

More information

Microsoft PowerPoint - slide

Microsoft PowerPoint - slide ディジタル 回 路 設 計 の 基 礎 京 都 大 学 情 報 学 研 究 科 小 林 和 淑 kobayasi@i.kyoto-u.ac.jp 内 容 単 相 クロック 完 全 同 期 回 路 構 成 要 素 Dフリップフロップ 同 期 回 路 の 性 能 ハードウエア 設 計 手 法 論 理 設 計 手 法 の 歴 史 ハードウエア 記 述 言 語 RTL 設 計 LSIの 設 計 フロー セルベース

More information