Microsoft PowerPoint - 01-VerilogSetup-2018.pptx

Size: px
Start display at page:

Download "Microsoft PowerPoint - 01-VerilogSetup-2018.pptx"

Transcription

1 2018 年 4 月 13 日ハードウエア設計論 :2 ハードウエアにおける設計表現 ハードウエア設計記述言語 VerilogHDL ~ 状態遷移と順序機械 ~ TA2 名 : 古賀 杉山が担当します Ubuntu を起動し verilog が実行できる状態にしておいてください 38

2 VerilogHDL の基本構文 : プロセス文 1. always( イベント ) ブロックイベントが発生した場合にブロック内を 1 回実行 次のイベントが発生するまで待つ 1. always #10 ck<=~ck; 1. クロックの定義 2. ck) 1. 順序機械の定義 : エッジセンシティブ posedge: 立ち上がりエッジ negedge: 立下りエッジ 3. always (reset) 1. 組み合わせ回路の定義 : レベルセンシティブ 2. Initial ( イベント ) ブロック 1. ブロック内を 1 回実行し終了 39

3 VerilogHDL の基本構文 : 手続き文 条件分岐 if 文 if 条件式文 else 文 case 文 :casez: z も条件に入れられる casex: x, z も条件に入れられる case 条件式値 1: 文値 2: 文 default: 文 case ループ for: 文 1 を実行し 条件式 が真の場合 文 2 文 3 を実行 その後 条件式 が真の間 文 2 文 3 を繰り返す for( 文 1 ; 条件式 ; 文 3 ) 文 2 while: 条件式 が真の間 文 を繰り返し実行する while( 条件式 ) 文 forever: 繰り返し 文 を実行する ループから脱出には disable 文を用いる forever 文 wait: 条件式 が真になるまで実行をストップする wait( 条件式 ) 40

4 順序機械の構成の原則 always 文を使用する場合 原則としてリセット ( 初期化 ) を必ず実装しておく 同期リセット : クロックに同期してリセット実行 always ck) ) begin if( rst ) リセットの実行 else 順序機械の記述 非同期リセット : リセット信号入力で直ちにリセット実行 always ck) or rst ) begin if( rst ) リセットの実行 else 順序機械の記述 41

5 基本構文 : 手続きと順序機械 4 ビットカウンタ count4.v 入出力の宣言 reg 型の宣言 always 手続きブロック 手続き代入文 ( ノンブロッキング ) module count4(out,ck); output [3:0] out; input ck; reg [3:0] q; ck) begin q <= q+1; assign out = q; module 42

6 Verilog と時間 module count4(out,ck); output [3:0] out; input ck; reg [3:0] q; ck) begin q <= q+1; assign out = q; module always 内の条件が満たされるたびに実行される 継続的に代入が実施される ( つまり q が変化するごとに out が変化する ck q 時間 q=q+1 q=q+1 q=q+1 q=q+1 q=q+1 out out=q out=q out=q out=q out=q 43

7 count4r.v VerilogHDL の基本構文 全ての構文は module / module で囲む if else 構文 全ての構文はセミコロンで区切る module count4r(out,ck,res); output [3:0] out; input ck, res; 構文が複数行になる場合には reg [3:0] q; begin / で囲う ck or negedge res) begin if(!res) q<= 0; else q <= q+1; assign out = q; module res=0 のとき q に 0 を代入 ( リセット ) 44

8 Verilog と時間 t=0 t=40 t=80 t=120 t=160 t=200 module add4(s,a,b); output [4:0] s; input [3:0] a,b; assign s=a+b; module initial 構文はプログラム言語同様に逐次実行 時間経過を表示 : 表示がない場合には 0(δ 時間 ) module testadd4; wire [4:0] s; reg [3:0] a, b; initial begin $monitor( %t %b + %b = %b, $time, a, b, s); a <= 0; b <= 0; #40 a <= 1; b <= 3; #40 a <= 4; b <= 8; #40 a <= $random; b <= $random; #40 a <= $random; b <= $random; #40 $finish; add4 add ( s,a,b ); module = = = = =

9 VerilogHDL の基本構文 : 代入 代入の時間関係 手続代入 1 の後に 2 が実行 1 と 2 は同時に実行 継続代入 ハードウエアの記述では必ずノンブロッキング代入を使用する テストベンチの記述にはブロッキング代入を用いてもよい 46

10 testcount4.v システムタスク : $monitor: 変化ごとに表示 initial 手続きブロック システムタスク : $finish シミュレーション終了 always 構文は条件が満たされるたびに実行される ( つまり 10 単位時間ごとに ck が ~ck (ck の論理反転 ) になる 20 周期のクロックが生成される テストベンチ module testcount4; wire [3:0] out; reg ck; initial begin $monitor( %t %b %b, $time, ck, out); ck<=0; #350 $finish; always #10 ck <= ~ck; count4 cnt ( out, ck); module テスト対象のモジュールを呼び出す継続的代入同様に常に実行 ( 変化が即時に伝搬する initial 構文はプログラム言語同様に逐次実行 % iverilog testcount4.v count4.v %./a.out 0 0 xxxx 10 1 xxxx 20 0 xxxx 30 1 xxxx?????? リセットしなくてはレジスタ型変数の値が不定 47

11 testcount4r.v システムタスク : $monitor: 変化ごとに表示 initial 手続きブロック システムタスク : $finish シミュレーション終了 被検証用モジュールの呼び出し ( インスタンス化宣言 ) モジュール名 テストベンチ module testcount4r; wire [3:0] out; reg ck, res; initial begin $monitor( %t %b %b %b, $time, ck, res, out); ck<=0; res<=0; #40 res <= 1; #350 $finish; 入出力信号名 always #10 ck <= ~ck; count4r cnt ( out, ck, res ); module インスタンス名 ( 任意 ) 48

12 いざ実行 % iverilog testcount4r.v count4r.v %./a.out

13 GUI 出力用のテストベンチ GUI 表示用データの出力制御 システムタスク : $monitor: 変化ごとに表示 initial 手続きブロック システムタスク : $finish シミュレーション終了 被検証用モジュールの呼び出し ( インスタンス化宣言 ) モジュール名 module testcount4rgui; wire [3:0] out; reg ck, res; initial begin $dumpfile( count4.vcd ); $dumpvars; $monitor( %t %b %b %b, $time, ck, res, out); ck<=0; res<=0; #40 res <= 1; #350 $finish; 入出力信号名 always #10 ck <= ~ck; count4r cnt ( out, ck, res ); インスタンス名 module ( 任意 ) 50

14 記述誤りとエラーの例 から alu_e1.v.. alu_e5.v をダウンロードして iverilog でコンパイル alu_e1.v alu_e1.v:8: syntax error alu_e1.v:7: error: syntax error in reg variable list. きちんと記述しているはずなのにエラーが出る場合たいていは 前の行の最後の ; がない その結果 syntax error in reg variable list となる alu_e2.v alu_e2.v:13: error: C is not a reg/integer/time in alu. alu_e2.v:7: : C is declared here as wire. Elaboration failed wireに対して手続き代入をしようとしている alu_e3.v alu_e3.v:16: error: reg OUT; cannot be driven by primitives or continuous assignment. 2 error(s) during elaboration. regに対して継続代入をしようとしている alu_e4.v alu_e4.v:1: error: Port CTR (4) of module alu is not declared within module. alu_e4.v:12: error: Unable to bind wire/reg/memory `CTR' in `alu' Elaboration failed 入出力ポートの定義がない alu_e5.v alu_e5.v:6: error: CTR in module alu declared as input and as a reg type. 1 error(s) during elaboration. 入力ポートに対してreg 定義をしようとしている 51

15 順序機械の実現 簡単な状態機械を実現してみよう x > 0 x = 15 x < 15 状態 A クロックごとに x = x 1 x = 0 状態 B クロックごとに x = x+1 入力 : クロック リセット出力 :x 52

16 状態の定義 状態変数 : st, 状態 A: st=0, 状態 B: st=1, リセット時状態 :A 変数 : x リセット時 : x=0 x > 0 x = 15 x < 15 状態 A クロックごとに x = x 1 x = 0 状態 B クロックごとに x = x+1 入力 : クロック リセット出力 :x 53

17 状態機械の構成 ck) begin if( st == 0 ) begin // State A if( x == 0 ) st <= 1; else x<=x-1; else begin // State B if( x == 15 ) st <= 0; else x<=x+1; 全体 module stm(ck,rst,x); input ck,rst; output [3:0] x; reg [3:0] x; reg st; ck) begin if( rst == 1 ) begin st <= 0; x <= 0; else begin module 54

18 stm.v 全体 module stm(ck,rst,x); input ck,rst; output [3:0] x; reg [3:0] x; regst; ck) begin if( rst == 1 ) begin st <= 0; x <= 0; else begin if( st == 0 ) begin if( x == 0 ) st <= 1; else x <= x-1; else begin if( x == 15 ) st <= 0; else x<= x+1; 複数行にわたる場合には 必ず begin ~ でくくる module テストベンチ module simstm; reg ck, rst; wire [3:0] x; initial begin $dumpvars; $dumpfile( stm.vcd ); $monitor( "st = %b: x=%x", s.st, x ); ck=0; rst=0; #20 rst=1; #60 rst=0; #1000 $finish; always #10 stm module simstm.v s(ck,rst,x); ck=~ck; モジュール内変数の参照 55

19 VerilogHDL の実行結果の確認 実行結果 % iverilog simstm.v stm.v %./a.out エラー例 % iverilog simstm.v stm.v simstm.v:9: syntax error simstm.v:8: error: malformed statement ありがちなエラー wire 型に手続き代入 ( <= ) をしようとしている reg 型に継続代入 ( assign 文 ) をしようとしている 56

20 VerilogHDL の実行結果の確認 正常な場合 ck = 0, st = x: x=x ck = 1, st = x: x=x ck = 0, st = x: x=x ck = 1, st = 0: x=0 ck = 0, st = 1: x=e ck = 1, st = 1: x=f ck = 0, st = 1: x=f ck = 1, st = 0: x=f ck = 0, st = 0: x=f ck = 1, st = 0: x=e ck = 0, st = 0: x=1 ck = 1, st = 0: x=0 ck = 0, st = 0: x=0 ck = 1, st = 1: x=0 ck = 0, st = 1: x=0 ck = 1, st = 1: x=1 初期化されるまでは値は x を持つ x=f の時は状態のみを遷移させる状態遷移後 次のクロックからxの減算が始まる x=0 の時は状態のみを遷移させる状態遷移後 次のクロックからxの加算が始まる 57

21 simstm.v module simstm; reg ck, rst; wire [3:0] x; initial begin $dumpvars; $dumpfile( stm.vcd ); $monitor( "st = %b: x=%x", s.st, x ); ck=0; rst=0; #20 rst=1; #60 rst=0; #1000 $finish; always #10 ck=~ck; グラフィカルに見たい クリックすると下位モジュール名が表示される % iverilog simstm.v stm.v %./a.out % gtkwave stm.vcd stm s(ck,rst,x); module 選択したモジュール内の信号が表示される 信号を選択して App すると右画面に波形が表示 58

22 モジュール間の変数の参照 module A (*****) reg hoge1, hoge2, hoge3; module module TOP_A; A InstanceNameA (**** ); simstm.v テストベンチ module simstm; stm s(ck,rst,x); $monitor( "st = %b: x=%x", s.st, s.x ); module ハードウエアとしては module Aの内部の変数を参照するためには ポートから出力する必要がある 不便なのでシミュレーションとしては TOP_Aモジュールから InstanceNameA. hoge1 という形で InstanceNameAとして定義したモジュール内の変数を参照することができる 59

23 演習 2 add4.v, testadd41.vをダウンロードして実行 add4.vを修正し減算をするsub4.v, 乗算をする mul4.vを作成し それらに対応するテストベンチ testsub41.v, testmul41.vを作成して実行し結果を確認 課題 2-1 課題 2-2 sub4.v mul4.v 60

24 演習 2 のヒント module sub4(s,a,b); output [4:0] s; input [3:0] a,b; module mul4(s,a,b); output [7:0] s; input [3:0] a,b; ここを埋めてください module module 結果の例 2 の補数表現 1,0 を反転させて 1 を足す 結果の例 = = = = = * 0000 = * 0011 = * 1000 = * 0001 = * 0011 =

25 演習 2 のテストベンチの例 module testsub4; wire [4:0] s; reg [3:0] a, b; initial begin $monitor( %t %b - %b = %b, $time, a, b, s); a = 0; b = 0; #40 a = 1; b = 3; #40 a = 4; b = 8; #40 a = $random; b = $random; #40 a = $random; b = $random; #40 $finish; sub4 sub ( s,a,b ); module module testmul4; wire [7:0] s; reg [3:0] a, b; initial begin $monitor( %t %b * %b = %b, $time, a, b, s); a = 0; b = 0; #40 a = 1; b = 3; #40 a = 4; b = 8; #40 a = $random; b = $random; #40 a = $random; b = $random; #40 $finish; mul4 mul ( s,a,b ); module 注意 : ハードウエア記述そのものでは ノンブロッキング代入を用いなくてはいけないが テストベンチ記述においては ノンブロッキング ブロッキング どちらを用いても結果に差は生じない

26 testadd42.v もう少し洒落たテストベンチ module testadd42; wire [4:0] s; reg [3:0] a, b; reg ck; initial begin $monitor( %t %b + %b = %b, $time, a, b, s); a = 0; b = 0; ck = 0; #400 $finish; always #10 ck = ~ck; ck) begin a = $random; b = $random; add4 add ( s,a,b ); module % iverilog testadd42.v add4.v %./a.out = = = = = = = = = =

27 testadd43.v 全数をチェックしたければ module testadd43; wire [4:0] s; reg [3:0] a, b; reg ck; % iverilog testadd43.v add4.v %./a.out initial begin $monitor( %t %b + %b = %b, $time, a, b, s); a = 0; b = 0; ck = 0; always #10 ck = ~ck; ck) begin if( s!= a + b ) begin $finish; if( a == h f && b == h f ) begin $display( OK n ); $finish; ck) begin {b,a} = {b,a} + 1; 連接 add4 add ( s,a,b ); module = = = = = = = = = = OK 64

28 simfulladd.v module simfulladd; テストベンチ wire s, cout; reg x, y, cin, ck, flag; initial begin $monitor( "%t Input (x, y, cin) -> Output (s, cout): (%b, %b, %b) -> (%b, %b)", $time, x, y, cin, s, cout); x <= 0; y <= 0; cin<=0; ck <= 0; flag <= 0; always #10 ck <= ~ck; ck) begin if( s!= (x ^ y ^ cin) cout!= (x & y x & cin y & cin) ) begin flag <= 1; $finish; if( {cin,x,y} == 3'b 111 ) begin $display( "OK n" ); $finish; ck) begin {cin,x,y} <= {cin,x,y} + 1; FullAdderFunction add ( x, y, cin, cout, s ); 65 module

29 その他 1 連接 { 式 1, 式 2}: 式 1, 式 2 をつなげる {0101, 1100} { 定数式 { 式, 式 } }:{} 内を定数式の値だけ繰り返す { 5 {10} } レンジ式 [ 定数 1: 定数 2]:a[6:3] a[6], a[5], a[4], a[3] [ 式 +: 定数 ]: a[p*8+:4] P=0 の時 a[3:0], P=1 の時 a[11:8] [ 式 : 定数 ]:a[p*8 :4] P=1 の時 a[8:5], P=2 の時 a[16:13] 66

30 VerilogHDL の基本構文 : 関数 タスク function: 戻り値は関数名を左辺に指定した代入 function ビット幅関数名 ; input ビット幅変数名 ; 宣言シーケンシャル文 function 関数呼び出しは a <= 関数名 ( 引数 ) task: 戻り値は output もしくは inout 変数として宣言 task タスク名 ; input ビット幅変数名 ; output ビット幅変数名 ; 宣言シーケンシャル文 task タスク呼び出しはタスク名 ( 引数 1, 引数 2 ) 67

31 演習 3 count4r.v, testcount4r.v をダウンロードして実行 count4r.v を修正しデクリメント ( クロックごとに -1) するcount4rs.v, 2づつ加算する count4r2.v, 2 倍づつ乗算するcount4r2m.vを作成し それらに対応するテストベンチ testcount4rs.v, testcount4r2.v, testcount4r2m.v を作成して実行し結果を確認 課題 3-1 count4rs.v 課題 3-2 count4r2.v 課題 3-3 count4r2m.v 68

32 演習 3 の期待される結果 count4rs.v count4r2.v 初期値を 1(0 以外 ) にしておく必要あり count4r2m.v オーバーフローすると以後 0 となる

33 演習 4: 簡単な演算器 1 入力 A:8 ビット 入力 B:8 ビット 出力 O:8 ビット 制御入力 CTR:4 ビット 0000: 加算 0001: 減算 1000: 論理積 1001: 論理和 1010: 排他的論理和 1011: 反転 1100: 1 ビット右シフト (0 で埋める ) 1101: 1 ビット左シフト (0 で埋める ), 1110: 1 ビット右ローテーション (MSB を LSB で埋める ), 1111: 1 ビット左ローテーション (LSB を MSB で埋める ) 入力はクロックの立ち上がりで取り込み 1 クロック後の立ち上がりで出力 70

34 骨格 module alu(a,b,o,ctr,ck); input [7:0] A, B; input [3:0] CTR; input ck; output [7:0] O; reg [7:0] INA, INB, O; reg [3:0] C; wire [7:0] OUT; module alu.v alu.v として作成し upload すること 実装例 1 順序機械 1 ck) begin INA <= A; INB <= B; C <= CTR; O <= OUT; 継続代入で実現 assign OUT=(C== b0000? INA + INB : (C== b0001? INA - INB : (C== b1000? INA & INB : (C== b1001? INA INB : (C= b1010? INA ^ INB : (C== b1011? ~INA : (C== b1100? INA>>1 : (C== b1101? INA<<1 : (C== b1110? {INA[0],INA[7:1]} : (C== b1111? {INA[6:0],INA[7]} : 8 b0 )))))))))); 71

35 骨格 module alu(a,b,o,ctr,ck); input [7:0] A, B; input [3:0] CTR; input ck; output [7:0] O; reg [7:0] INA, INB, OUT, O; reg [3:0] C; module alu2.v 実装例 2 順序機械 ck) begin C <= CTR; INA <= A; INB <= B; case (C) b0000 : O <= INA + INB; b0001 : O <= INA - INB; b1000 : O <= INA & INB; b1001 : O <= INA INB; b1010 : O <= INA ^ INB; b1011 : O <= ~INA; b1100 : O <= INA>>1; b1101 : O <= INA<<1; b1110 : O <= {INA[0],INA[7:1]}; b1111 : O <= {INA[6:0],INA[7]}; case 72

36 骨格 module alu(a,b,o,ctr,ck); input [7:0] A, B; input [3:0] CTR; input ck; output [7:0] O; reg [7:0] INA, INB, OUT, O; reg [3:0] C; module alu21.v 実装例 2 1 順序機械 2 ck) begin C <= CTR; INA <= A; INB <= B; O <= OUT; or INA or INB) begin case (C) b0000 : OUT <= INA + INB; b0001 : OUT <= INA - INB; b1000 : OUT <= INA & INB; b1001 : OUT <= INA INB; b1010 : OUT <= INA ^ INB; b1011 : OUT <= ~INA; b1100 : OUT <= INA>>1; b1101 : OUT <= INA<<1; b1110 : OUT <= {INA[0],INA[7:1]}; b1111 : OUT <= {INA[6:0],INA[7]}; case 73

37 骨格 module alu(a,b,o,ctr,ck); input [7:0] A, B; input [3:0] CTR; input ck; output [7:0] O; reg [7:0] INA, INB, OUT, O; reg [3:0] C; module alu22.v 実装例 2 2 順序機械 ck) begin C <= CTR; INA <= A; INB <= B; case (C) b0000 : O <= INA + INB; b0001 : O <= INA - INB; b1000 : O <= INA & INB; b1001 : O <= INA INB; b1010 : O <= INA ^ INB; b1011 : O <= ~INA; b1100 : O <= INA>>1; b1101 : O <= INA<<1; b1110 : O <= {INA[0],INA[7:1]}; b1111 : O <= {INA[6:0],INA[7]}; case 74

38 実装例 3:function を使用 骨格 module alu(a,b,o,ctr,ck); input [7:0] A, B; input [3:0] CTR; input ck; output [7:0] O; reg [7:0] INA, INB, O; reg [3:0] C; module alu3.v 順序機械 2 ck) begin C <= CTR; INA <= A; INB <= B; O <= alufunc(ina,inb,c); function function [7:0] alufunc; input [7:0] A; input [7:0] B; input [3:0] C; case (C) b0000 : alufunc = A + B; b0001 : alufunc = A - B; b1000 : alufunc = A & B; b1001 : alufunc = A B; b1010 : alufunc = A ^ B; b1011 : alufunc = ~A; b1100 : alufunc = A>>1; b1101 : alufunc = A<<1; b1110 : alufunc = {A[0], A[7:1]}; b1111 : alufunc = {A[6:0], A[7]}; case function 75

39 テストベンチ 骨格 alutest.v module alutest; reg [7:0] A, B; reg [3:0] CTR; reg ck; wire [7:0] O; initial begin ck=0; $monitor( %t ta=%h, B=%h, CTR=%h, OUT=%h, $time, A, B, CTR, O ); #1000 $finish; alu ALU(A, B, O, CTR, ck); always #10 ck = ~ck; ck) begin A = $random; B = $random; CTR = $random; module 76

40 実行結果を確認してみましょう alu.v alu22.v 77

41 本日の出欠は 本日正午 +δ までに WEB から課題 2~4 までを提出する それまでに終わらない場合には 来週までに課題 4 まで終えて WEB に UPLOAD しておくこと 来週は 乗算回路を実装していただきます 考えて置いてください 78

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

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

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

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

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

電卓の設計 1 電卓の設計 1 FPGA Express と MAXPLUS2 に よる FPGA 設計 FPGA EXPRESS RTL circuit.edf circuit.acf RTL MAXPLUS2 FPGA circuit.acf circuit.sof, ttf, pof SRAM 2 どうして電卓なの? その場で 10 キーを使って動かせる プロセッサだと プログラムを考えたり メモリとのインタフェースが必要

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

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

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

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

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

回路 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 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

エンティティ : インタフェースを定義 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

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

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

More information

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

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

More information

Java講座

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

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

ディジタル回路 第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

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

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

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 4 回目演算子 今日の講義で学ぶ内容 演算子とオペランド 式 様々な演算子 代表的な演算子の使用例 演算子とオペランド 演算子 演算の種類です例えば + - * / 掛け算の記号は ではなく *( アスタリスク ) を使います割り算の記号は ではなく /( スラッシュ ) を使います オペランド 演算の対象です例えば 5( 値 ) num( 変数 ) 式 演算子とオペランドの組み合わせにより構成される数式です式は演算結果をもちます

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

Microsoft Word - HW06K doc

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

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

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

FPGAによる24時間時計回路

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

More information

Microsoft Word - VBA基礎(3).docx

Microsoft Word - VBA基礎(3).docx 上に中和滴定のフローチャートを示しました この中で溶液の色を判断する部分があります このような判断はプログラムではどのように行うのでしょうか 判断に使う命令は IF 文を使います IF は英語で もし何々なら という意味になります 条件判断条件判断には次の命令を使います If 条件式 1 Then ElseIf 条件式 2 Then ElseIf 条件式 3 Then 実行文群 1 実行文群 2 実行文群

More information

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

Microsoft PowerPoint - CproNt02.ppt [互換モード] 第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント

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

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

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

プログラミング入門1

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

More information

プログラミングA

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

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 神戸市立工業高等専門学校電気工学科 / 電子工学科専門科目 数値解析 2019.5.10 演習 1 山浦剛 (tyamaura@riken.jp) 講義資料ページ http://r-ccs-climate.riken.jp/members/yamaura/numerical_analysis.html Fortran とは? Fortran(= FORmula TRANslation ) は 1950

More information

スライド 1

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

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

Program Design (プログラム設計)

Program Design  (プログラム設計) 7. モジュール化設計 内容 : モジュールの定義モジュールの強度又は結合力モジュール連結モジュールの間の交信 7.1 モジュールの定義 プログラムモジュールとは 次の特徴を持つプログラムの単位である モジュールは 一定の機能を提供する 例えば 入力によって ある出力を出す モジュールは 同じ機能仕様を実装しているほかのモジュールに置き換えられる この変化によって プログラム全体に影響をあまり与えない

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 5 回目演算子の優先順位と変数の型変換 今日の講義で学ぶ内容 演算子の優先順位 優先順位の変更の方法 キャスト演算子と型変換 演算子の優先順位 演算子の優先順位 式を計算するときの演算の順序です例えば a=b*c+d; では乗算を先に計算するというルールです ( 主な演算子の優先順位 ) 演算子 名前 結合規則 ++ 後置インクリメント 左 -- 後置デクリメント 左!

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

スライド 1

スライド 1 RL78/G13 周辺機能紹介 SAU シリアル アレイ ユニット ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A コンテンツ SAU の概要 UART 通信機能のプログラム サンプル紹介 2 SAU の概要 3 SAU の機能 クロック同期式調歩同期式マスタ動作のみ チャネル 0: 送信チャネル 1: 受信 4 UART

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, 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

メソッドのまとめ

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

More information

Microsoft PowerPoint - 計算機言語 第7回.ppt

Microsoft PowerPoint - 計算機言語 第7回.ppt 計算機言語第 7 回 長宗高樹 目的 関数について理解する. 入力 X 関数 f 出力 Y Y=f(X) 関数の例 関数の型 #include int tasu(int a, int b); main(void) int x1, x2, y; x1 = 2; x2 = 3; y = tasu(x1,x2); 実引数 printf( %d + %d = %d, x1, x2, y);

More information

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

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

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

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

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

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

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

, 1. x 2 1 = (x 1)(x + 1) x 3 1 = (x 1)(x 2 + x + 1). a 2 b 2 = (a b)(a + b) a 3 b 3 = (a b)(a 2 + ab + b 2 ) 2 2, 2.. x a b b 2. b {( 2 a } b )2 1 =

, 1. x 2 1 = (x 1)(x + 1) x 3 1 = (x 1)(x 2 + x + 1). a 2 b 2 = (a b)(a + b) a 3 b 3 = (a b)(a 2 + ab + b 2 ) 2 2, 2.. x a b b 2. b {( 2 a } b )2 1 = x n 1 1.,,.,. 2..... 4 = 2 2 12 = 2 2 3 6 = 2 3 14 = 2 7 8 = 2 2 2 15 = 3 5 9 = 3 3 16 = 2 2 2 2 10 = 2 5 18 = 2 3 3 2, 3, 5, 7, 11, 13, 17, 19.,, 2,.,.,.,?.,,. 1 , 1. x 2 1 = (x 1)(x + 1) x 3 1 = (x 1)(x

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

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

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 - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の 4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の組み合わせで作れる. ここでは (2) と (3) について扱う. 4.1 分岐処理 4.1.1 if

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

計算機アーキテクチャ

計算機アーキテクチャ 計算機アーキテクチャ 第 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

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

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

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2019 年 5 月 13 日 東邦大学金岡晃 場合に応じた処理 1 こういうプログラムを作りたい 5 教科のテスト 100 点以上各科目の点数の合計が 100 点未満 おめでとう! これで 100 点越えのプレゼントを獲得! というメッセージを出力 残念!100 点越えのプレゼントまであと ** 点! というメッセージを出力 5 教科の点数の合計が

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

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

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

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 4 回 繰り返し (for ループ ) 授業開始前に ログオンして待機して ください Java 1 第 4 回 2 不要ファイルの掃除 前回デスクトップにファイルをダウンロードした場合 次のものを削除してください week03.zip デスクトップにファイルを置きすぎると コンピュータをシャットダウンできなくなります Java 1 第 4 回 3 授業を始めます 前回の課題は

More information

kiso2-03.key

kiso2-03.key 座席指定はありません Linux を起動して下さい 第3回 計算機基礎実習II 2018 のウェブページか ら 以下の課題に自力で取り組んで下さい 計算機基礎実習II 第2回の復習課題(rev02) 第3回の基本課題(base03) 第2回課題の回答例 ex02-2.c include int main { int l int v, s; /* 一辺の長さ */ /* 体積 v

More information

Microsoft PowerPoint - presen3x4an.pptx

Microsoft PowerPoint - presen3x4an.pptx パイプライン処理のための 演算仕様記述言語 mhdl と その処理系 シグナル プロセス ロジック株式会社瀬尾雄三 mhdl 開発の背景 CodeSqueezer ボタンを押すだけで数値演算論理を形成 x a b c パイプライン処理演算論理 (black box) y=a*x^2+b*x+c x+c 演算仕様を言語 mhdl で記述 reg ツールの想定用途と要求 FPGA を用いた小ロット製品の設計

More information

PowerPoint Presentation

PowerPoint Presentation 工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 9 回 2010 年 12 月 2 日 1 今回のメインテーマ : 関数呼び出し main 関数以外に所望の処理を行う関数 ( サブルーチン ) を定義して, その関数を main 関数の中で呼び出して仕事をさせること. これも重要な概念です. 頑張って理解して下さい. 2 #include

More information

プログラミング実習I

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

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 - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 7 回 メソッド (1) 授業開始前に自己点検 前回までの必須課題はすべてできていますか 前回までの学習項目であいまいな所はありませんか 他人による評価でなく 自身による評価ができるということが自立するということです 自立なしには大学での勉学は成り立ちません Java 1 第 7 回 2 前回のテーマ switch 文 主に break 文とともに 条件分岐のもうひとつのやり方

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

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

オンチップ・メモリ クイック・ガイド for Cyclone III ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいてオンチップ メモリ (FPGA 内部で RAM や ROM などを構成 ) を実現するには Memory Compiler メガファンクションを使用します Memory Compiler メガファンクションは Cyclone シリーズ, Arria シリーズ, Stratix シリーズ, HardCopy

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

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

Python によるジオプロセシング スクリプト入門

Python によるジオプロセシング スクリプト入門 アイコンの説明... 8 第 1 章イントロダクション... 9 本コースの目的... 11 講習内容... 11 講習資料... 12 イントロダクション... 12 ArcGIS... 13 Web サイト... 13 開発者向けプログラム / サービス... 14 演習 1: 演習環境の構築... 15 ステップ 1: Windows へのログオン ( オプション )... 15 ステップ 2:

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2018 年度クラス C3 1 2 3 情報科学基礎 I 11. 順序回路の基礎 ( 教科書 4 章 ) 大学院情報科学研究科 鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ 組合せ回路と順序回路 x1 x2 xn 組合せ回路 y1 y2 ym 組合せ回路 : 出力は, その時点の入力の組合せのみで決まる x1 x2

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

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 8 回目 for 文 今日の講義で学ぶ内容 for 文 変数のスコープ for 文の入れ子 繰り返し文 1 for 文 for 文最初に一度だけ初期化の式を処理します条件が true の場合 文を実行し 更新の式を処理して繰り返します条件が false の場合 for 文を終了します 条件は boolean 型で 関係演算子で表現される式などを記述します for( 初期化の式

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

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

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 8 回メソッド (2) 授業開始前に自己点検 前回までの必須課題はすべてできていますか 前回までの学習項目であいまいな所はありませんか 理解できたかどうかは自分自身の基準をもとう Java 1 第 8 回 2 前回のテーマ メソッドとは いくつかの命令の列を束ねて 一つの命令として扱えるようにしたもの 今回学ぶメソッドの役割は その他のプログラミング言語では関数またはサブルーチンと呼ばれることがある

More information

新版 明解C++入門編

新版 明解C++入門編 第 1 章画面 出力 入力 C++ C++ C++ C++ C++ C++ C++ C++ #include using C++ C++ C++ main C++ C++ C++ int double char C++ C++ C++ string C++ C++ C++ 21 1-1 C++ 歴史 C++ C++ 歴史 CC with classes Fig.1-1 C C++ Simula 67

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 )

情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 情報処理 Ⅱ 2007 年 11 月 26 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 入 p.109 2 関数 (Function)

More information

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

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

Microsoft PowerPoint - C_Programming(3).pptx

Microsoft PowerPoint - C_Programming(3).pptx H23 年度秋学期情報スキル活用 入門 担当 : 田中基彦 ( 工学部共通教育科 ) Email: ak_tanaka@isc.chubu.ac.jp 授業のホームページ学術情報センター > 教育支援 > 情報リテラシー 授業の日程 講義内容提出課題 連絡事項を掲載 > 定期的にアクセスして確認する C 言語によるプログラミング (3) 制御文 繰り返し文 if, while, switch, for,

More information

計算機プログラミング

計算機プログラミング プログラミング言語 C 第 6 講 制御 ( 選択 ) フローチャートと C 言語 図形と命令の対応表 図形 C 言語 図形 C 言語 START main()? if END? else 整数型変数 int? switch printf case scanf break 選択 (1) if else 文 条件 処理 A 処理 B 構文 if ( 条件 ) IF THEN ELSE 型 処理 A;

More information

スライド 1

スライド 1 プログラミング 第 3 週 静岡大学工学部機械工学科知能 材料コースロボット 計測情報分野臼杵深光電 精密コース光ナノバイオ分野居波渉 講義の前に 講義資料や演習課題 LiveCampusよりダウンロード可能 成績評価期末試験および課題により行う. 評価の配分は, おおむね試験 90%, 課題 10% である. 再試験期末試験で40 点以上 60 点未満の場合, 再試験となる. 2 月 26 日 (

More information

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 6 回 Switch 文 プロジェクトの持ち運び 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 6 回 2 前回のテーマ while 文を用いた繰り返し実行 for 文との使い分け 複雑な条件判定 && かつ または を使って Java 1 第 6 回 3 復習 : while 文はfor 文から 初期化式 を外に出し ステップを進める式

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

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

関数の動作 / printhw(); 7 printf( n); printhw(); printf(############ n); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 ( 概要 プログラミング 関数 http://www.ns.kogakuin.ac.jp/~ct40/progc/ A- 関数の作り方を学ぶ 関数名, 引数, 戻り値 プログラミング で最も重要な事項 関数 プログラミング で最も重要な事項 制御 (for, if) プログラミング で最も重要な事項 ポインタ A- 関数名 引数 戻り値 E- E-4 関数の概要 0/ 関数とは, 複数の処理をひとまとめにしたもの.

More information

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf(hello, n); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a hello printf(hello) 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は C 言語復習 C 言語の基礎 来週もこの資料を持参してください C 言語, ソースファイルの作成, コンパイル, 実行 1 C 言語 C 言語プログラミングの手順 とは, 計算機を動かす手順を記述したもの. 計算機に命令を与えて動かすには を作成する ことになる. C 言語はプログラミング言語の 1 個 手続き型言語に分類される. C/C++ は非常に多くの場面で使われる言語 C++ は C 言語をオブジェクト指向に拡張したもの

More information

スライド 1

スライド 1 8. ステッピングモータの制御を学ぼう 秋月電子通商 PIC ステッピングモータドライバキット ( 小型モータ付き ) を参照しました. 回路製作の詳細は第 0 章を参照してください. 1 2 第 0 章図 28 より完成写真 ( マイコン回路 + ステッピングモータ駆動回路 ) PIC マイコンによるステッピングモータの制御 PIC16F84 R 1 R 2 RB6 RB0 ステッピングモータ S

More information

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

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

More information

Si 知識情報処理

Si 知識情報処理 242311 Si, 285301 MS 第 12 回 竹平真則 takemasa@auecc.aichi-edu.ac.jp 2015/12/21 1 本日の内容 1. 先週のおさらい 2. PHP のスクリプトを実際に動かしてみる 3. RDB についての説明 2015/12/21 2 資料の URL http://peacenet.info/m2is 2015/12/21 3 注意事項 ( その

More information

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

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information