次世代 LSI 設計ツール DesignPrototyper のご紹介 2000 年 12 月 フューチャーデザインオートメーション株式会社

Size: px
Start display at page:

Download "次世代 LSI 設計ツール DesignPrototyper のご紹介 2000 年 12 月 フューチャーデザインオートメーション株式会社"

Transcription

1 次世代 LSI 設計ツール DesignPrototyper のご紹介 2000 年 12 月 フューチャーデザインオートメーション株式会社

2 製品系列 DesignPrototyper 標準製品 598 万円 DesignPrototyper for FPGA Xilinx 社 Altera 社向けデバイス専用ルール 普及版 98 万円 (FPGA 1 社対応 ) 148 万円 (FPGA 2 社対応 ) HL Synthesis( 予定 ) ASICユーザ向け 898 万円 ( 予定 )

3 当社のハイレヘ ル合成の特長 C/C++ 言語のフルセット構文 システムレヘ ルからアーキテクチャレヘ ルまでのモテ リンク とシミュレーションのサホ ート 全モテ リンク からのハート ウェア合成のサホ ート 高度なハ イフ ラインスケシ ューリンク のサホ ート IP 再利用を容易にするインタフェース合成のサホ ート 特定テ ハ イス向けの最適化機能のサホ ート

4 従来設計手法と当社ソリューション C HDL RT C C C IP インターフェース情報 IP インターフェース情報

5 デザインフロー Verilog Verilogアナライザ CDFG CDFG 変換部中間言語 C 解析部 Cアルゴリズム I/OアキュレートC データフロー最適化 プリアロケーション サイクル数見積りサイクル数見積り ANSI Cシミュレータ ANSI Cシミュレータ サイクル固定 CDFG VCD ファイル I/O アキュレートスケジューリング スケジューリング済み CDFG FSM 最適化 VHDL-RTL Verilog-RTL リソースアロケーション RTL-C I/O アキュレート C RTL-HDL 出力 RTL-CDFG C 言語出力 C 言語出力

6 DesignPrototyper が扱うアーキテクチャ 制御部とデータパス部で構成 データパス部 マルチプレクサベースアーキテクチャを基本とする 出力側にレジスタを配置 制御部 ミーリ制御モデルをデフォルトとする バスインタフェース部 予定 (2001 年 2 月 ) Control input 制御部 データパス制御信号 ステータス信号 バスインタフェース Data input データパス部

7 DesignPrototyper の入出力関連図 ユーザー制約 Verilog C/C++ ライブラリ クロックピリオド クロックオーバーヘッド ライブラリ スケジューリング / リソースシェアリング制御 その他 DesignPrototyper DesignPrototyper 速度 面積 トレードオフ レイテンシ VHDL Verilog C レポート

8 C DesignPrototyper のデザインフローデザインの読み込み 解析デザインの読み込み 解析エラボレートエラボレートプリアロケーションプリアロケーションスケジューリングスケジューリングループパイプラインループパイプライン ( F S M 最適化 ) ( F S M 最適化 ) リソースアロケーションリソースアロケーション合成結果解析合成結果解析 H D L / C 出力 H D L / C 出力 CDFG CDFG CDFG CDFG CDFG CDFG CDFG レポート C/C++ Verilog VHDL Verilog ライブラリユーザー制約

9 C 言語サポートの特長 仕様レベルからアーキテクチャーレベルまでのモデリングのサポート 全モデリングレベルからのハードウェア合成機能のサポート 全モデリングレベルのシミュレーション機能のサポート

10 C 言語の記述能力 ANSI-C フルセット 但し 再呼出しは不可 ( 将来サポート ) C++ は 2001 年サポート予定 同時に標準言語もサポート予定 入出力ポートの定義サポート ポート / 信号のビット幅の定義サポート プロセスの並列及び同期処理サポート

11 つづき C 言語の記述能力 ビットベクタのサポート 固定小数点のサポート 外部モジュールのインスタンスのサポート 4つのモデリングレベルのサポート アルゴリズムレベル 時間の概念がない ソフトウェア記述と同等 I/O アキュレートレベル I/O プロトコルの記述で タイミングダイヤグラムと同等 サイクルアキュレートレベル RTレベル

12 ハードウェア合成機能 Verilog 版の合成機能を全てサポート 各モデリングレベルに応じたスケジューリング機能のサポート アルゴリズム I/O アキュレート サイクルアキュレート C 言語に応じた最適化 変数のビット幅の静的解析 ポインタ / 構造体 / 共用体の配列及び変数変換 その他

13 フレキシブルなコーディングスタイル IEEE 標準 Verilog をサポート 拡張ディレクティブをサポート Verilog 言語の機能 動作記述と RTL 記述の混在をサポート 既存資産と既存設計手法との融合 Synopsys 社 Behavior Compiler のコーディングスタイルを拡張 同期 / 非同期リセットの記述 メモリの推測記述 外部モジュールのインスタンス記述 fork-join のサポート 正確な I/O プロトコル記述が可能 ツールの都合によるクロック配置を強制しない 唯一 I/O や演算の実行サイクルのみを記述

14 データフローの最適化 高度な HDL 最適化機能 式の木の高さの最適化 定数伝播 共通式の削除 未使用コードの削除 コードの移動 forループとサブプログラムの展開 forループのループ回数の分割 forループのループ回数の最適化 ビット幅のチェック その他

15 プリアロケーション ユーザー制約に適応するリソースタイプの抽出 y = a * b オペレータ デフォルトリソースマップファイル mul オペレータタイプ ユーザー定義リソースマップファイル adder mult... リソースタイプ lib vfast fast med slow vslow スピードグレード 指定方法 : 周波数指定 スピードグレード指定 fmul リソース リソース実装概念図

16 スケジューリング スピード ( クロック ) 面積 ( リソース ) 制約によるスケジューリング C 言語アルゴリズムからスケジューリングのサポート アンタイムドビヘイビア 強力な I/O アキュレートスケジューリングのサポート I/O プロトコルの正確なスケジューリング 勝手にクロックエッヂ ( ステート ) を挿入しない 入力ポート遅延の考慮 チェイニング機能

17 つづき スケジューリング ループパイプラインのサポート 異なるパスに対する可変のレイテンシの設定 ストールルーフ 強制脱出のサポート パイプラインドマクロスケジューリング機能 メモリのハンドリング FSM の生成

18 リソースアロケーション ハイレベルコンポーネントの自動アロケーション モジュールのマニュアルマッピング 演算器の最大共有可能数をチェック 共有可能な演算器を解析し シェアリング実行

19 合成結果出力機能 DesignPrototyper Verilog-HDL / VHDL C 言語 1 プロセスモデル RTL 2 プロセスモデル RTL ローレベル RTL( 予定 ) I/O アキュレート C サイクルアキュレート C RTL-C I/O アキュレートビヘイビア サイクルアキュレートビヘイビア

20 デザインの解析 DesignPrototyper GUI テキスト デザインツリー構造リソース占有状況データパスブロック図使用リソース一覧ステートグラフソースコード

21 コマンド実行 GUIと合成結果解析 GUI

22 スケジューリングの依存関係表示

23 使い易い実行環境のサポート GUIメニューとコマンドシェルのサポート Tcl/Tkヘ ースのカスタマイス 可能な実行環境 グローバル制約条件は環境変数で ローカルな制約条件は実行コマンドで 豊富な問い合わせ機能のサポート

24 FPGA インタフェース機能 標準マクロライブライリマッピング XILINX CoreGen/LogiCORE Altera LPM LUT のファンイン数に応じた最適化 制御ロジック部分 2001 年 2 月予定 その他

25 参考 コマンド一覧 elaborate

26 参考コマンド一覧

27 参考 環境変数 (1) 環境変数名 CLOCK_PERIOD CLOCK_OVERHEAD ONETIMEUNIT GATE_DELAY FOR_UNROLL_LIMIT TECHLIB 使用目的クロック周期の指定クロックオーバーヘッドの指定 1 周期時間の指定 n<ns ps> 1ゲート遅延値展開可能な最大ループ回数テクノロジーライブラリ指定 USERLIB GUTSYPEE_LOG UNINITIAL_VALUE CONV_XTO0 FSM_ENCODING_TYPE ユーザー定義ライブラリ指定実行ログファイルのセーブ初期化されない変数の許可指定初期化されない変数を0に初期化 FSMエンコーディング指定

28 参考 環境変数 (2) 環境変数名 使用目的 GEN_DELAY_LOWRTL NM_GATE_PREFIX NM_WIRE_PREFIX NM_REG_PREFIX NM_VAR_PREFIX NM_PIPREG MACROLIB_PATH SCRIPT_PATH HDLSOURCE_PATH RESOURCE_MAPFILE_PATH GUTSYPEE ローレベル RTL のシーケンシャルプロセスの代入文に遅延値を設定 発生ゲートに対する名称の接頭文字指定発生ワイヤに対する名称の接頭文字指定発生レジスタに対する名称の接頭文字指定発生内部変数に対する名称の接頭文字指定発生パイプラインレジスタの接頭文字指定テクノロジライブラリのディレクトリパス指定スクリプトファイルが格納されているディレクトリパス指定 HDLソースが格納されているディレクトリパス指定 リソースマッピングファイルが格納されているディレクトリパス指定 DesignPrototyper のインストールディレクトリパス指定

29 C のサポート構文と変換 機能データ型 void char short int unsigned long float double typedef const 配列ポインタ構造体共用体列挙型 サポート 処理及び変換関数の戻り値で使用 :taskして使用 8bitのbitvectorへ変換 16bitのbitvectorへ変換 32bitのbitvectorへ変換本定義がない場合 2の補数演算型名とビット数を定義したconfigファイルを参照 parameter 文に変換 2 次元までサポート ただし 2 次元は1 次元に変換する 静的メモリ割当てのヒープ及び配列のポインタは配列名に変換 変数へ展開パラメータに展開

30 C のサポート構文と変換 機能 bit bitvector par 記憶域 auto static extern レジスタビット幅メモリ入力及び出力ポート初期化演算子 a++ a-- サポート ー ー 処理及び変換 1 ビットの特殊型 n ビットの特殊型 モジュールの並列実行を記述するための関数型 ただし静的なローカル変数に置き換える 静的なローカル及びグローバル変数に置き換える グローバル変数に置き換える 変数の型宣言より変換 ディレクティブで各変数に設定可 設定なしの場合 デフォルト処理 配列 ディレクティブより i/o ポートを定義

31 C のサポート構文と変換 機能単項演算子 ++a --a *a++ *a ~! sizeof cast 2 項演算子 && & サポート 処理及び変換 a=a+; に変換 a=a-1に変換配列インデックスのインクリメントに置き換える 配列インデックスのデクリメントに置き換える スタティックな値に変換型変換関数に置き換え

32 C のサポート構文と変換 機能 ^ << >> < > <= >= ==!= * / % + - サポート 処理及び変換

33 C のサポート構文と変換 機能 = *= /= %= += -= <<= >>= &= ^= = 3 項演算子?: 制御構文 If-else サポート 処理及び変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換 2 項演算 + 代入式に変換

34 C のサポート構文と変換 機能 do-while while for switch continue break goto プリプロセッサ #define #ifdef #ifndef #else #include #line サポート 処理及び変換 whileに変換 case 文へ変換ラベル付きdisableへ変換ラベル付きdisableへ変換ラベル付きdisableへ変換以下のマクロは GNU プリプロセッサを使用し予め展開する

35 C のサポート構文と変換 機能関数処理関数化関数呼び出しプロトタイプ宣言パイプライン化並列性同期イベントの検出関数の階層化 サポート ー 処理及び変換 関数及びプロシジャ化の節を参照 関数及びプロシジャ化の節を参照 ループパイプライン合成コマンドをサポート schedule 関数を使用 wait 関数 clock 関数を使用 関数化時に特殊関数として定義 関数及びプロシジャ化の節を参照

36 C 言語用ディレクティブ ( サポート済み ) 書式 機能 引数 // fda_c module 本ディレクティブが指定されている関数は 1 つのモジュールとして合成される 尚 ディレクティブ scheduler() 関数でプロセスを登録しない場合に使用する なし 書式 機能 引数 // fda_c <input output signal var piped >[:signed unsigned]:n[:down up] ポート 信号 変数のビット幅や入 / 出力ポートの定義行う

37 C 言語用ディレクティブ ( サポート済み ) 書式 機能 引数 // fda_c map_to_module < > input={<< >( >( ):< ):< >>*}, output={<< >( >( ):< ):< >>*} input output 書式 機能 引数 // fda_c preserve_function 指定された関数は下位階層のモジュールとして合成される なし 書式 機能 引数 // unroll_c unroll forループ / 関数を展開する なし 書式 機能 引数 // unroll_c roll forループ / 関数を展開しない なし

38 C 言語用ディレクティブ ( サポート済み ) 書式 機能 引数 // fda_c process 関数を別のプロセスとして扱うなし 書式 機能 引数 // fda_c par < > ブロック内のスレッドを並列に実行させるなし

39 C 言語用ディレクティブ ( 予定 ) 書式 機能 引数 // fda_c state_vecotr_on // fda_c state_vecotr_off ステート値をこの範囲で定義する なし 書式 機能 引数 // fda_c state:< > ステートベクタの定義ビット幅 : ステートベクタのビット幅を指定する 書式 機能 引数 // fda_c case_style <paralle_case paralle_case> <full_case full_case> case 文の処理を定義する 略 書式 機能 引数 // fda_c pipe < > ブロック内のスレッドをパイプライン動作させるスレッド間をバッファ付きでコミュニケーションする場合は //fda_c piped で定義された変数を使用する なし

40 C 言語用関数 ( サポート済み ) 書式 機能 引数 void isz_active_low( ); void isz_active_high( ); void isz_wait( [ && && ]); (! ) 外部との信号同期関数である 信号名 : この信号の状態により同期をとる 書式 機能 引数 void isz_clock(); クロック同期関数で この関数より1クロック経過する なし

41 C 言語用関数 ( 予定 ) 書式 機能 引数 int isz_getcurrenttime(); 現在のシミュレーション時間を取得する これは合成されない なし 書式 機能 引数 int isz_getcurrenttime(); 現在のシミュレーション時間を取得する これは合成されない なし 書式 機能 レベル void isz_fixed(bitvector *val1,int val2,int acc); 固定小数値 ( 整数値 ) をビットベクタ型変数へ代入する アルゴリズム記述のみ 引数 戻り値 bitvector *val1 int val2 なし : 代入先のビットベクタ型変数へのポインタ : 整数値

42 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_float2fixed( bitvector *val val,int acc, float fnum); アルゴリズム記述のみ bitvector *val : 変換した固定小数値を格納するビットベクタ型変数 ( 配列名 ) int acc : 小数精度 float fnum : 浮動小数 (Cのfloatで扱える値) なし 書式機能レベル引数戻り値 void isz_fixed2fixed(bitvector *val1,bitvector *val2,int acc) アルゴリズム記述のみ bitvector *val1 : コピー先のビットベクタ型変数 ( 配列名 ) bitvector *val2 : コピー元のビットベクタ型変数 ( 配列名 ) int : 小数精度 なし

43 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_fixed_add(bitvector *result,int acc, bitvector *val1, bitvector *val2) アルゴリズム記述のみ bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) int acc : 計算結果の小数精度 bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺辺のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_fixed_sub(bitvector bitvector *result,int acc, bitvector *val1, bitvector *val2) アルゴリズム記述のみ bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) int acc : 計算結果の小数精度 bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺辺のビットベクタ型変数 ( 配列名 ) なし

44 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_fixed_mul(bitvector *result,int acc, bitvector *val1, bitvector *val2) アルゴリズム記述のみ bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) int acc : 計算結果の小数精度 bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺辺のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_fixed_div(bitvector *result,int acc, bitvector *val1, bitvector *val2) アルゴリズム記述のみ bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) int acc : 計算結果の小数精度 bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺辺のビットベクタ型変数 ( 配列名 ) なし

45 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvect2int(int int val1, bitvector* val2) int アルゴリズム記述のみ int *val1 : 変換後整数値代入先の int 型変数へのポインタ bitvector *val2 : 変換前のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_bitvect2char_array(char *array, bitvector *val val,int range) char char *array : 代入先のchar 型配列 bitvector *val : ビットベクタ型変数 ( 配列名 ) int range : ビット列の幅 なし

46 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvect2bitvect(bitvector bitvector *val1,bitvector *val2) ビットベクタ型の変数のデータをを他のビットベクタ型の変数へコピー bitvector *val1 : コピー先のビットベクタ型変数 ( 配列名 ) bitvector *val2 : コピー元のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_bitvect_add(bitvector bitvector *result,bitvector *val1, bitvector *val2) ビットベクタ型の加算 (2 項演算 ) アルゴリズム記述 ビヘイビア記述 bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺のビットベクタ型変数 ( 配列名 ) なし

47 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvect_sub(bitvector bitvector *result,bitvector *val1, bitvector *val2) ビットベクタ型の減算 (2 項演算 ) アルゴリズム記述 ビヘイビア記述 bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_bitvect_mul(bitvector bitvector *result,bitvector *val1, bitvector *val2) ビットベクタ型の乗算 (2 項演算 ) アルゴリズム記述 ビヘイビア記述 bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺のビットベクタ型変数 ( 配列名 ) なし

48 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvect_div(bitvector bitvector *result,bitvector *val1, bitvector *val2) ビットベクタ型の除算 (2 項演算 ) アルゴリズム記述 ビヘイビア記述 bitvector *result : 計算結果を格納するビットベクタ型変数 ( 配列名 ) bitvector *val1 : 計算式左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 計算式右辺のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 int isz_bitvectequ(bitvector bitvector *val1, bitvector *val2) 関係演算 va1 == val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE

49 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 int isz_bitvectneq(bitvector bitvector *val1, bitvector *val2) 関係演算 va1!= val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE 書式機能レベル引数戻り値 int isz_bitvectgt(bitvector bitvector *val1, bitvector *val2) 関係演算 va1< val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE

50 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 int isz_bitvectlt(bitvector bitvector *val1, bitvector *val2) 関係演算 va1 > val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE 書式機能レベル引数戻り値 int isz_bitvectge(bitvector bitvector *val1, bitvector *val2) 関係演算 va1 <= val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE

51 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 int isz_bitvectle(bitvector bitvector *val1, bitvector *val2) 関係演算 va1 >= val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE 書式機能レベル引数戻り値 int isz_bitvectland(bitvector bitvector *val1, bitvector *val2) 論理演算 val1 && val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE

52 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 int isz_bitvectlor(bitvector bitvector *val1, bitvector *val2) 論理演算 val1 val2 アルゴリズム記述 ビヘイビア記述 bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) int result : 1:TRUE 0:FALSE 書式機能レベル引数戻り値 void isz_bitvectnot(bitvector bitvector *result, bitvector *val val) ビット演算 result =! val1 アルゴリズム記述 ビヘイビア記述 bitvector *result : 結果が格納されるビットベクタ型変数 ( 配列名 ) bitvector *val : ビットベクタ型変数 ( 配列名 ) なし

53 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvectand(bitvector bitvector *result, bitvector *val1, bitvector *val2) ビット演算 result = val1 & val2 アルゴリズム記述 ビヘイビア記述 bitvector *result : 結果が格納されるビットベクタ型変数 ( 配列名 ) bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_bitvector(bitvector bitvector *result, bitvector *val1, bitvector *val2) ビット演算 result = val1 val2 アルゴリズム記述 ビヘイビア記述 bitvector *result : 結果が格納されるビットベクタ型変数 ( 配列名 ) bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) なし

54 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvectxor(bitvector bitvector *result, bitvector *val1, bitvector *val2) ビット演算 result = val1 ^ val2 アルゴリズム記述 ビヘイビア記述 bitvector *result : 結果が格納されるビットベクタ型変数 ( 配列名 ) bitvector *val1 : 左辺のビットベクタ型変数 ( 配列名 ) bitvector *val2 : 右辺のビットベクタ型変数 ( 配列名 ) なし 書式機能レベル引数戻り値 void isz_bitvectsfl(bitvector bitvector *result, bitvector *val val, int num) シフト演算 result = val1 << num アルゴリズム記述 ビヘイビア記述 bitvector *result : 結果が格納されるビットベクタ型変数 ( 配列名 ) bitvector *val : ビットベクタ型変数 ( 配列名 ) int num : シフト数 なし

55 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitvectsfr(bitvector bitvector *result, bitvector *val val, int num) シフト演算 result = val1 >> num アルゴリズム記述 ビヘイビア記述 bitvector *result : 結果が格納されるビットベクタ型変数 ( 配列名 ) bitvector *val : ビットベクタ型変数 ( 配列名 ) int num : シフト数 なし 書式 機能 void isz_monitor(char* sig); 信号のモニタ 書式 機能 void isz_display(int int time, char* sig); 信号値の表示 書式 機能 void isz_dumpfile(char* filenm); ダンプファイルの定義

56 C 言語用関数 ( 予定 ) 書式 機能 void isz_dumpvars(char* sig); 書式 機能 void isz_dumpallvars(char* sig); 書式 機能 < >= >=isz_concate2(char* < >, int < >, char* < >, int < >); // < > > ::=< >,< >,< > isz_concate3(< >,< >,< >,< >,< >); isz_concate4(< >,< >,< >,< >,< >,< >,< >); isz_concate5(< >,< >,< >,< >,< >,< >,< >,< >,< >); isz_concate6(< >,< >,< >,< >,< >,< >,< >,< >,< >,< >,< >); ビットの操作

57 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 unsigned int isz_bitslice(unsigned int var, int msb, int lsb) ) ; ビットの指定範囲取出し var[msb:lsb]; アルゴリズム記述 ビヘイビア記述 unsigned int var : 対象となる変数 int msb : 取出す範囲のmsb int lsb : 取出す範囲のlsb 取出されたビット ( 右詰めに格納 ) 書式機能レベル引数 void isz_bitvect_vitslice(bitvector bitvector* var1, bitvector* var2, int var2_msb, int var2_lsb); ビットベクタ型のビットの指定範囲取出し var1 = var2[var2_msb:var2_lsb]; アルゴリズム記述 ビヘイビア記述 bitvector *var1 : 格納先のビットベクタ型変数 bitvector *var2 : ビットを取出すビットベクタ型変数 int var2_msb : 取出す範囲のmsb int var2_lsb : 取出す範囲のlsb 戻り値

58 C 言語用関数 ( 予定 ) 書式機能レベル引数戻り値 void isz_bitmove(unsigned int *var1, int var1_msb, int var1_lsb, unsigned int var2, int var2_msb, int var2_lsb) ; ビットの指定範囲取出しと指定範囲へのコピー var1[var1_msb:var1_lsb] = var2[var2_msb:var2_lsb]; アルゴリズム記述 ビヘイビア記述 unsigned int *var1 : コピー先の変数 int var1_msb : コピー先範囲のmsb int var1_lsb : コピー先範囲のlsb unsigned int var2 : ビットを取出す変数 int var2_msb : 取出す範囲のmsb int var2_lsb : 取出す範囲のlsb なし 書式 機能 引数 void isz_scheduler(); 本関数内で並列動作する関数を登録する 登録できる関数は 512 個まである この登録された関数はモジュールとして合成される なし

59 動作環境 Solaris2.5.1(HDD200Mb 以上 ) Windows98 (HDD200Mb 以上 ) NT(HDD200Mb 以上 ) Linux( 予定 )

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

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

More information

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

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

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

プログラミング実習I

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

More information

Java講座

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

More information

gengo1-2

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

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

Microsoft Word - Training10_プリプロセッサ.docx

Microsoft Word - Training10_プリプロセッサ.docx Training 10 プリプロセッサ 株式会社イーシーエス出版事業推進委員会 1 Lesson1 マクロ置換 Point マクロ置換を理解しよう!! マクロ置換の機能により 文字列の置き換えをすることが出来ます プログラムの可読性と保守性 ( メンテナンス性 ) を高めることができるため よく用いられます マクロ置換で値を定義しておけば マクロの値を変更するだけで 同じマクロを使用したすべての箇所が変更ができるので便利です

More information

数値計算

数値計算 プログラム作成から実行まで 数値計算 垣谷公徳 17 号館 3 階電子メール : kimi@ee.ous.ac.jp Source program hello.c printf("hello\n"); コンパイラ Library libc.a 0011_printf000101001 1101_getc00011100011 1011_scanf1110010100 コンパイル Object module

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

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

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

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

JavaプログラミングⅠ

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

More information

R2.7 ポインタの型に気を付ける R2.7.1 (1) ポインタ型は 他のポインタ型及び整数型と相互に変換してはならない ただし データへのポインタ型における void* 型との相互変換は除く (2) ポインタ型は 他のポインタ型 及びポインタ型のデータ幅未満の整数型と相互に変換してはならない た

R2.7 ポインタの型に気を付ける R2.7.1 (1) ポインタ型は 他のポインタ型及び整数型と相互に変換してはならない ただし データへのポインタ型における void* 型との相互変換は除く (2) ポインタ型は 他のポインタ型 及びポインタ型のデータ幅未満の整数型と相互に変換してはならない た [ 信頼性 1] R1 領域は初期化し 大きさに気を付けて使用する R1.1 領域は 初期化してから使用する R1.1.1 自動変数は宣言時に初期化する または値を使用する直前に初期値を代入する 9.1 R9.1 EXP33-C -456 R1.1.2 const 型変数は 宣言時に初期化する EXP40-C -456 R1.2 初期化は過不足無いことが分かるように記述する R1.2.1 R1.2.2

More information

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用 RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項

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 pptx

Microsoft PowerPoint pptx 情報処理 Ⅱ 第 10 回 2010 年 12 月 20 日 ( 月 ) 授業の進め方 プリプロセッサ指令 構造体 ファイル入出力 その他の型 記憶域管理関数 2 年以降でさらに学習 習熟 自分の思う通りに, 適切な形で, 配列 文字列プログラムとして表現する. ポインタ変数の関数識別子算術型有効範囲再帰呼び出しライブラリ関数制御文演算子 式評価 プログラムの作成 コンパイル 実行 2 本日学ぶこと

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

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ 第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE

More information

Microsoft PowerPoint - 09.pptx

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

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

株式会社アルウィン C 言語コーディング規約 ver.0.1

株式会社アルウィン C 言語コーディング規約 ver.0.1 C 言語コーディング規約 ver.0.1 1. はじめに本コーディング規約は ( 株 ) アルウィン社内で作成する C 言語ソースコードの可読性 メンテナンス性の向上 丌具合の混入を防ぎやすくするための記述方法及び 推奨する記述方法を記述した文書である 2. 目的 本コーディング規約は ソースコードの可読性 メンテナンス性の向上 丌具合の混入 を可能な限り防ぎ 品質の高いソースコードを作成する一助とすることを目的とする

More information

Microsoft Word - 3new.doc

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

More information

Microsoft Word - no02.doc

Microsoft Word - no02.doc 使い方 1ソースプログラムの入力今回の講義では C++ 言語用の統合環境ソフトといわれるプログラムを利用します デスクトップにある CPad for C++ のアイコン ( 右参照 ) をダブルクリ ックしましょう ( 同じアイコンで Java_pad とかい エディタ部 てあるものもありますので気をつけてください ) これで 起 動します 統合環境を立ち上げると エディタ部とメッセージ部をもった画面が出てきます

More information

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1 7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 10001 番地とすると, そこから int 型のサイズ, つまり 4 バイト分の領域が確保される.1

More information

Microsoft Word - Cプログラミング演習(12)

Microsoft Word - Cプログラミング演習(12) 第 12 回 (7/9) 4. いくつかのトピック (5)main 関数の引数を利用したファイル処理 main 関数は, 起動する環境から引数を受け取ることができる 例えば 次に示すように,main 関数に引数を用いたプログラムを作成する 01 /* sample */ 02 /* main 関数の引数 */ 03 #include 04 05 main(int argc, char

More information

Microsoft PowerPoint - ARTD 2.3new_datasheet.ppt

Microsoft PowerPoint - ARTD 2.3new_datasheet.ppt 製品 Ver2.3 の主な特徴 C 言語からのハードウェア開発 SystemCサポート ( サブセット ) 自動アーキテクチャ合成 最新技術のデータフロー解析 資源の配置と割り当て スケジューリングの自動化とコントローラの生成 詳細なパフォーマンス解析機能 パイプライン化されたVLIWアーキテクチャのコントローラ ASICとFPGAへのインプリメンテーション パス C/HDL テストベンチ生成 サイクル

More information

Prog1_10th

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

More information

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

Microsoft PowerPoint - CproNt05.ppt [互換モード] 第 5 章 + 第 14 章演算子 CPro:05-01 第 5 章演算子 I 概要 Cには約 40 種類の演算子がある 算術演算子: ( 基本的なもの ) -( 単項 ) * / + - % ++ -- 優先順位( 評価順序 ) の規則 カッコにより優先順位を変えることができる 算術演算子は代入演算子とあわせて複合演算子となる 算術計算では, 型が異なる場合, 暗黙のキャストが行われる ( 最大化

More information

講習No.12

講習No.12 前回までの関数のまとめ 関数は main() 関数または他の関数から呼び出されて実行される. 関数を呼び出す側の実引数の値が関数内の仮引数 ( 変数 ) にコピーされる. 関数内で定義した変数は, 関数の外からは用いることができない ( ローカル変数 ). 一般に関数内で仮引数を変化しても, 呼び出し側の変数は変化しない ( 値渡し ). 関数内で求めた値は return 文によって関数値として呼び出し側に戻される.

More information

JavaプログラミングⅠ

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

More information

slide5.pptx

slide5.pptx ソフトウェア工学入門 第 5 回コマンド作成 1 head コマンド作成 1 早速ですが 次のプログラムを head.c という名前で作成してください #include #include static void do_head(file *f, long nlines); int main(int argc, char *argv[]) { if (argc!=

More information

PowerPoint Presentation

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる

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

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

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

More information

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要.

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要. 概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要. http://www.ns.kogakuin.ac.jp/~ct13140/progc/ C-2 ブロック 変数のスコープ C 言語では, から をブロックという. for( ) if( )

More information

Microsoft PowerPoint pptx[読み取り専用]

Microsoft PowerPoint pptx[読み取り専用] 情報処理 Ⅱ 第 8 回 2009 年 12 月 7 日 ( 月 ) 本日学ぶこと 関数と変数 目的 関数を自分で定義し, 変数の利用方法 範囲を明示的に制限することで, 適切な機能分割 ( モジュール化, 再利用 ) を図る. してはいけないこと 問題 main 関数のみで 100 行以上のプログラム グローバル変数を駆使するプログラム プログラムを読みやすくする 保守性向上 多項式関数 f(x)

More information

SuperH RISC engineファミリ用 C/C++コンパイラパッケージ V.7~V.9 ご使用上のお願い

SuperH RISC engineファミリ用 C/C++コンパイラパッケージ V.7~V.9 ご使用上のお願い ツールニュース RENESAS TOOL NEWS 2014 年 02 月 01 日 : 140201/tn1 SuperH RISC engine ファミリ用 C/C++ コンパイラパッケージ V.7~V.9 ご使用上のお願い SuperH RISC engine ファミリ用 C/C++ コンパイラパッケージ V.7~V.9の使用上の注意事項 4 件を連絡します 同一ループ内の異なる配列要素に 同一の添え字を使用した場合の注意事項

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

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

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

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (

More information

Microsoft Word - Cプログラミング演習(11)

Microsoft Word - Cプログラミング演習(11) 第 11 回 (7/2) 4. いくつかのトピック (1) ビットごとの演算子 C 言語には, 次のようなビット単位で演算を行う特別な演算子が用意されている & ビットごとの AND ビットごとの OR ^ ビットごとの XOR( 排他的論理和 ) ~ 1 の補数これらの演算子は文字型と整数型で機能し, 浮動小数点数型では使用できない AND, OR, XOR は, それぞれのオペランドの対応するビットを比較して結果を返す

More information

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致しない場合 default: から直後の まで処理します 式は byte, short, int, char 型 ( 文字または整数 ) を演算結果としますラベルには整数リテラル

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

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または

More information

プログラミング入門1

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

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

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

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

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx 情報処理 Ⅱ 第 12 13回 2011 年 1 月 31 17 日 ( 月 ) 本日学ぶこと ファイル入出力, 標準入力 標準出力 記憶域管理関数 (malloc など ) 問題 ファイルを入力にとり, 先頭に行番号をつけて出力できる? 行列の積を, ファイルを介して読み書き 計算できる? Wakayama University./line 1:Wakayama 2:University 3 2

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ 多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA ishisone@sra.co.jp 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーションを多言語ドメイン対応させるためのツール群 フリーソフトウェア 2001/12/04 日本語ドメイン名解説

More information

問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a =

問 2 ( 型変換 ) 次のプログラムを実行しても正しい結果が得られない 何が間違いかを指摘し 正しく修正せよ ただし int サイズが 2 バイト long サイズが 4 バイトの処理系での演算を仮定する #include <stdio.h> int main( void ) { int a = 問 1 配列の宣言整数型配列 data1 にデータが初期設定されている この配列 data1 のデータを下図のように 整数型配列 data2 に代入しなさい また data2 の内容を printf( "data2[0] = %d\n", data2[0] ); printf( "data2[5] = %d\n", data2[5] ); を用いて出力しなさい 実行結果 data2[0] = 76

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

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の まで処理しますどれにも一致致しない場合 default: から直後の まで処理します 式の結果 ラベル 定数 整数または文字 (byte, short, int,

More information

講習No.9

講習No.9 日本語は通常 2 バイトの文字コード.JIS コード, シフト JIS コード, Unicode (UTF-8) 等の様々な文字コードがある. アスキーコード表 (ASCII code) アスキーコード ( 値 ) 漢字変換無しでキーボードから直接入力できる半角文字 32 48 0 64 @ 80 P 96 ` 112 p 33! 49 1 65 A 81 Q 97 a 113 q 34 " 50

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

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

Microsoft Word - Cプログラミング演習(10)

Microsoft Word - Cプログラミング演習(10) 第 10 回 (6/25) 3. ファイルとその応用 (3) ファイルの更新 シーケンシャルファイルの更新 シーケンシャルファイルでは, 各レコードが可変長で連続して格納されており, その中の特定のレコードを変更することができない そこで一般的には, マスタファイルからデータを取り出し, 更新処理を行ったあとに新マスタファイルに書き込む 注 ) マスタファイル : 主ファイル, 基本ファイルと呼ばれるファイルで内容は比較的固定的であり,

More information

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲 Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲を決定します 次の型が利用でき これらの型は特に基本型とよばれます 基本型 値の種類 値の範囲 boolean

More information

Microsoft PowerPoint - 01_Vengineer.ppt

Microsoft PowerPoint - 01_Vengineer.ppt Software Driven Verification テストプログラムは C 言語で! SystemVerilog DPI-C を使えば こんなに便利に! 2011 年 9 月 30 日 コントローラ開発本部コントローラプラットフォーム第五開発部 宮下晴信 この資料で使用するシステム名 製品名等は一般にメーカーや 団体の登録商標などになっているものもあります なお この資料の中では トレードマーク

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 14: 発展事項 2014-07-13 1 今日の内容 これまでの講義で説明していない事項についていくつか簡単に紹介する 文法 標準入出力ファイル 異常終了 短絡評価 文字定数の型 キャスト 変数の宣言位置 グローバル変数 静的変数 (static) const 変数 プリプロセッサ ディレクティブ マクロ ファイルの読み込み 数学関数のエラーチェック

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

Microsoft PowerPoint - ruby_instruction.ppt

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

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

‚æ4›ñ

‚æ4›ñ ( ) ( ) ( ) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 (OUS) 9 26 1 / 28 ( ) ( ) ( ) A B C D Z a b c d z 0 1 2 9 (OUS) 9

More information

Microsoft Word _VBAProg1.docx

Microsoft Word _VBAProg1.docx 1. VBA とマクロ 1.1 VBA とは VBA(Visual Basic for Applications) は 1997 年に Microsoft 社がマクロを作成するために開発された言語である Windows 対応のアプリケーションを開発するためのプログラミング言語 Visual Basic をもとにしているため 次のような特徴がある 1 VBA は Excel Word, Access,

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

第2回講義:まとめ

第2回講義:まとめ C 言語のキーポイント 5=x は NG, x=y=6 は OK. (x=y)=6 は? *ptr=7 は? int x; printf( %d, x) は scanf ( %d, x) は 非 0 が真 0 が偽 for 文は while 文で書き直せる 逆も真 配列は 0- オリジン 関数呼び出しでは 仮引数が実引数で初期化される 式を評価するとき副作用を起こす演算子は ( 複合 ) 代入演算子

More information

機能検証トレーニング コース一覧

機能検証トレーニング コース一覧 機能検証トレーニング コース一覧 日本シノプシス合同会社 2016.03 トレーニング コース一覧 VCS/DVE 基本コース VCS-NLP/VC LP 基本コース VC Verification IP AXI 基本コース (UVM 版 ) VC Verification IP USB 基本コース (UVM 版 ) Verdi 3 基本コース SpyGlass Lint コース SpyGlass

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

RL78開発環境移行ガイド RL78ファミリ間の移行 (コンパイラ編:コンパイラオプション・アセンブラオプション)(CA78K0R→CC-RL)

RL78開発環境移行ガイド RL78ファミリ間の移行 (コンパイラ編:コンパイラオプション・アセンブラオプション)(CA78K0R→CC-RL) RL78 開発環境移行ガイド RL78 ファミリ間の移行 ( コンパイラ編 : コンパイラ アセンブラ ) (CA78K0R CC-RL) 2016/12/28 R20UT3418JJ0101 ソフトウェア事業部ソフトウエア技術部ルネサスシステムデザイン株式会社 はじめに 本資料は RL78 ファミリ用 C コンパイラ CA78K0R 用のプロジェクトを RL78 ファミリ用 C コ ンパイラ CC-RL

More information

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

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一 RX210 グループ IRQ 割り込みを使用したパルス出力 要旨 本サンプルコードでは IRQ 割り込みが発生すると 一定期間タイマでパルスを出力する 方法について説明します 対象デバイス RX210 1 / 25 内容 1. 仕様... 3 2. 動作確認条件... 3 3. ハードウェア説明... 3 3.1 使用端子一覧... 3 4. ソフトウェア説明... 4 4.1 動作概要... 4

More information

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

Microsoft PowerPoint - 4.ppt [互換モード] 第 4 回簡単な計算 プリプロセッサ 1 今回の目標 定数を理解する 演算子とその効果を理解する 簡単なライブラリ関数の使用法を理解する ヘロンの公式を用いた3 角形の面積を求めるプログラムを作成する 2 ヘロンの公式 ヘロンの公式 : 3 辺の長さがわかっているときに 3 角形の面積を求める方法 d = a + b + c 2 S = d ( d a )( d b )( d c ) 3 定数の分類と型

More information

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a

Microsoft Word - matlab-coder-code-generation-quick-start-guide-japanese-r2016a MATLAB コードを使用した C コードの生成クイックスタートガイド (R2016a) 最初のスタンドアロン C コードの生成 スタンドアロン C コードを生成するには [ ビルド ] を [ ソースコード ] [ スタティックライブラリ ] [ ダイナミックライブラリ ] または [ 実行ファイル ] のいずれかに切り替えます MATLAB Coder を使用することで MATLAB コードから

More information

kantan_C_1_iro3.indd

kantan_C_1_iro3.indd 1 章 C# の学習を始める前に プログラムの 01 基本 Keyword プログラムプログラミング言語 プログラムとは プログラムとは コンピューターへの命令の集まりです 学校の先生が プリントを持ってきて と生徒に指示した場合を考えてみましょう 先生をプログラマー ( プログラムの作成者 ) 生徒をコンピューターとしたとき プリントを持ってきて という指示がプログラムです 人間とは違い コンピューターは曖昧な指示を理解できません

More information

UIOUSBCOM.DLLコマンドリファレンス

UIOUSBCOM.DLLコマンドリファレンス UIOUSBCOM.DLL UIOUSBCOM.DLL Command Reference Rev A.1.0 2008/11/24 オールブルーシステム (All Blue System) ウェブページ : www.allbluesystem.com コンタクト :contact@allbluesystem.com 1 このマニュアルについて...3 1.1 著作権および登録商標...3 1.2

More information

「電子政府推奨暗号の実装」評価報告書

「電子政府推奨暗号の実装」評価報告書 2011 情財第 399 号 情報セキュリティ対策基盤整備事業 電子政府推奨暗号の実装 評価報告書 平成 24 年 12 月 [ 改訂履歴 ] 日付改訂内容 2012 年 12 月 11 日評価報告書初版発行 2012 年 12 月 21 日 2. 評価結果 内のデータを修正 ( 表 1-1 表 1-2 表 2-1 表 2-2 表 3-1 表 3-2 表 4-1 表 4-2 表 5-1 表 5-2

More information

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

More information

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

Microsoft PowerPoint - 2.ppt [互換モード] 第 2 回 C 言語の基本的な規則 1 今回の目標 C 言語の基本的な規則を理解する C 言語のソースコードから実行可能なコードへの変換法を習得する ( コンパイル法の習得 ) 標準入出力を理解する C 言語での標準入出力制御方法を理解する 標準入出力を用いたプログラムを作成する 2 世界一短い C のプログラム shortest.c main(){} このプログラムからわかること [ 注意 1]C

More information

数値計算

数値計算 数値計算 垣谷公徳 17 号館 3 階電子メール : kimi@ee.ous.ac.jp プログラミング言語の一般論 データ型 ( 定数と変数 配列 ) 代入 基本演算 ( 四則演算 ) 入出力 分岐 繰返処理 関数 外部手続き 1 2 入力関数 入出力 getchar, getc, fgetc ; 一文字入力 gets, fgets, fread ; 文字列 ( データ列 ) 入力 scanf,

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 - report#8.docx

Microsoft Word - report#8.docx プログラミング I report#8 提出日 :7 月 18 日 ( 木 ) 所属 : 工学部情報工学科学籍番号 :135713B 氏名 : 天願寛之 目次 ソース cardinal についての考察ソース conv10 についての考察ソース select_sort.c についての考察ソース print_num.c についての考察ソース msg.c についての考察感想 P4 P7 P10 P13 P14

More information

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

Microsoft PowerPoint - 13.ppt [互換モード] 第 13 回構造体 1 今回の目標 構造体を理解する 構造体の定義の仕方を理解する 構造体型を理解する 構造体型の変数 引数 戻り値を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される z = a+ bi z = a + bi z = a + b i 2 つの複素数 1 1 1 と 2 2 2 の和

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 - 12.ppt [互換モード]

Microsoft PowerPoint - 12.ppt [互換モード] 第 12 回構造体 1 今回の目標 構造体を理解する 構造体の定義の仕方を理解する 構造体型を理解する 構造体型の変数 引数 戻り値を理解する 複素数同士を足し算する関数を作成し その関数を利用するプログラムを作成する 2 複素数の足し算 複素数は実部と虚部の2つの実数で 表現される 表現される z = a+ bi 2 つの複素数 z 1 = a 1+ bi 1 と z2 = a2 + b2i の和

More information

program7app.ppt

program7app.ppt プログラム理論と言語第 7 回 ポインタと配列, 高階関数, まとめ 有村博紀 吉岡真治 公開スライド PDF( 情報知識ネットワーク研 HP/ 授業 ) http://www-ikn.ist.hokudai.ac.jp/~arim/pub/proriron/ 本スライドは,2015 北海道大学吉岡真治 プログラム理論と言語, に基づいて, 現著者の承諾のもとに, 改訂者 ( 有村 ) が加筆修正しています.

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 1 p 1 T 0 S = i=0 p 0 T i = i=0 2

More information

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

Microsoft PowerPoint - 3.ppt [互換モード] 第 3 回簡単な計算 プリプロセッサ 1 今回の目標 定数とその型を理解する 演算子とその効果を理解する 簡単なライブラリ関数の使用法を理解する ヘロンの公式を用いて 3 角形の面積を求めるプログラムを作成する 2 ヘロンの公式 ヘロンの公式 : 3 辺の長さがわかっているときに 3 角形の面積を求める方法 d = a + b + c 2 S = d ( d a )( d b )( d c ) 3

More information

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 第 14 回 応用 情報処理演習 ( テキスト : 第 10 章 ) 画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 特定色の画素の検出 ( テキスト 134 ページ ) 画像データが保存されているファイルを読み込んで, 特定色の画素の位置を検出するプログラムを作成しなさい 元画像生成画像 ( 結果の画像 )

More information

講習No.10

講習No.10 2 次元配列 復習 float d[3][4]; 2 次元配列 d[i][j] 2 つのインデックス i と j でデータが指定される 縦が 3 行横が 4 列の float 型の表 4 列 横のインデックスは 3 まで j = 0 j = 1 j = 2 j = 3 3 行 i = 0 i = 1 i = 2 d[0][0] d[0][1] d[0][2] d[0][3] d[1][0] d[1][1]

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

gengo1-8

gengo1-8 問題提起その 1 一文字ずつ文字 ( 数字 ) を読み込み それぞれの文字が何回入力されたかを数えて出力するプログラム int code, count_0=0, count_1=0, count_2=0, count_3=0,..., count_9=0; while( (code=getchar())!= EOF ){ } switch(code){ case 0 : count_0++; break;

More information

Insert your Title here

Insert your Title here マルチコア マルチスレッド環境での静的解析ツールの応用 米 GrammaTech 社 CodeSonar によるスレッド間のデータ競合の検出 2013 GrammaTech, Inc. All rights reserved Agenda 並列実行に起因する不具合の摘出 なぜ 並列実行されるプログラミングは難しいのか データの競合 デッドロック どのようにして静的解析ツールで並列実行の問題を見つけるのか?

More information

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム

C 言語固有の命令で全部で32 個 の関数C 言語第 1 回 C 言語って?( シラバス 1 2 回目 ) 関数型言語 コンピュータに実行してもらう命令はすべて関数の中に記述されている 関数がプロ グラム 1 Visual Studio 2010 Express の使用法 (PDF ファイルでの配布 :VS2010.pdf) http://www.sp.u-tokai.ac.jp/~yasue/ffn/vs2010.pdf 物理学科のホームページ (http://www.sp.u-tokai.ac.jp/) 右下の 研究室サイト の 素粒子理論. 安江研 から移動 左側のメニュー C 言語 から移動

More information

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

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

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx 情報処理 Ⅱ 2011 年 11 月 授業の進め方 プリプロセッサ指令 構造体 ファイル入出力 その他の型 記憶域管理関数 2 年以降でさらに学習 習熟 配列 と ポインタ は違うの? 値はメモリの中でどのように格納されるの? 配列 文字列 ポインタ 識別子 算術型 関数 変数の有効範囲 制御文 演算子 再帰呼び出し ライブラリ関数 式評価 プログラムの作成 コンパイル 実行 2 配列の宣言 (1)

More information