Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

Bluespec

Bluespec User Group Meeting 2010開催

Verification Engineerの戯言 : SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった。 富士通が我が道を行く米BluespecのESL合成ツールを採用、この記事にもありますが、7月13日(火)に第二回目のBluespecユーザーグループミーティング…

Bluespec : パナソニックのUniPhierで採用

Verification Engineerの戯言 : SystemVerilogの世界へようこそ EDA Expressによると、 パナソニック、システムLSIの設計・検証用に米BluespecのESL合成ツールを採用したようです。 記事にもあるように、 Bluespecの最大なる利点は、高位合成に不向きと言わ…

Bluespecデザインコンテスト2010でiPadをゲットしよう

Verification Engineerの戯言 : SystemVerilogの世界へようこそ 今日、EDSFari2010に行って、 Bluespecデザインコンテスト2010の商品が先日発表になった iPad であることを確認しました。 【EDSFレポート】サイバネット、Bluespecを用いたデザインコンテスト…

Bluespecデザインコンテスト2010、参考資料

Verification Engineerの戯言 : SystemVerilogの世界へようこそ Bluespecデザインコンテスト2010の参考資料として、 All of SystemVerilogのBluespec SystemVerilogをご利用ください。 このブログにアップした記事をまとめています。 検証、Verification、Bl…

Bluespecデザインコンテスト2010、開催アナウンス

Verification Engineerの戯言 : SystemVerilogの世界へようこそ サイバネットシステム株式会社からBluespecデザインコンテスト2010開催のアナウンスがありました。 期間は、2010年3月1日(月)~5月31日(月)到着分まで有効です。 コンテスト専用ページは、…

Bluespec SystemVerilog : サマリー

Verification Engineerの戯言 Bluespec SystemVerilogのサマリーをAll of SystemVerilogにアップしました。 ご利用ください。 検証、Verification、Bluespec SystemVerilog

Bluespec SystemVerilog : 誰が使うか?

Verification Engineerの戯言 : Twitter、Twitter新聞:Daily Vengineer's SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった 2009年8月は、Bluespec SystemVerilog月間でした。 1ヶ月間、Bluespec SystemVerilogを学んで、「誰が使え…

Bluespec SystemVerilog : StmtFSMパッケージ(その3)

Verification Engineerの戯言 リファレンス・ガイドのP.255の例題( Defining and instantiating a state machine )のStmt部分を見ていきましょう。 Stmt driversMonitors = (seq // Clear the fifo dut.clear; // Two secuential blocks running in parallel…

Bluespec SystemVerilog : StmtFSMパッケージ(その2)

Verification Engineerの戯言 StmtFSMパッケージには、次のようなモジュールが定義されています。 ・mkFSM ・mkFSMWithPred ・mkAutoFSM ・mkOnce 各モジュールの定義は、 module mkFSM#(Stmt seq_stmt)(FSM); module mkFSMWithPred#(Stmt seq_stmt, Bool pr…

Bluespec SystemVerilog : StmtFSMパッケージ(その1)

Verification Engineerの戯言 Bluespec SystemVerilogには、finite state machine(FSM)を定義するのに便利なStmtFSMパッケージというのがあるんです。 StmtFSMパッケージには、次のようなインターフェースが定義されています。 ・FSM ・One FSMインターフェ…

Bluespec SystemVerilog : レジスタへのリード/ライト

Verification Engineerの戯言 Bluespec SystemVerilogが提供しているRegインターフェースには、2つのmethod(_writeと_read)があります。 interface Reg#(type a); method Action _write (a x); method a _read; endinterface: Reg _writeはActionメソッドで…

Bluespec SystemVerilog : let

Verification Engineerの戯言 Bluespec SystemVerilogでは、代入される変数は代入する型と同じでなければいけません。 しかしながら、一時変数を使うときにはもっと便利な方法として、letを使うというものです。 右辺値がValueメソッドの場合は、つぎのよう…

Bluespec SystemVerilog : docアトリビュート

Verification Engineerの戯言 Bluespec SystemVerilogでは、 docアトリビュートを使うことで生成されるVerilog HDLコードに含めることができます。 docアトリビュートは、 ・ トップレベルのモジュールの定義 ・ サブモジュールのインスタンス ・ ルールの定…

Bluespec SystemVerilog : モジュール引数のアトリビュート

Verification Engineerの戯言 Bluespec SystemVerilogでは、モジュール引数には次のようなアトリビュートを持っている。 ・ osc= ・ gate= ・ gate_inhigh= ・ gate_unused= ・ reset= ・ clocked_by= ・ reset_by= ・ port= リファレンス・ガイドの13.6.1 A…

Bluespec SystemVerilog : メソッドの定義(ActionとActionValue)

Verification Engineerの戯言 ActionメソッドとActionValueメソッドの定義は次のようになります。 method Action ( type ) id ( methodFormals ) [ implicitCond ; ] { actionValueStmt } endmethod [ : id ] method ActionValue #( type ) id ( methodForma…

Bluespec SystemVerilog : 関数の定義(function)

Verification Engineerの戯言 Bluespec SystemVerilogでの関数は、SystemVerilogとほとんど同じ。 リファレンス・ガイドのPage.60によると、 function Bool notFn (Bool x); if (x) notFn = False; else notFn = True; endfunction: notFn function Bool not…

Bluespec SystemVerilog : インターフェースの定義

Verification Engineerの戯言 インターフェースの定義(実際は、methodの定義)は、モジュールの定義の中で行います。 メソッドの名前は、モジュールのインターフェースで宣言したものと同じでなければいけません。 戻り値や引数の数および型も同じでなければ…

Bluespec SystemVerilog : モジュールのインスタンス化(その2)

Verification Engineerの戯言 Bluespec SystemVerilog : モジュールのインスタンス化(その1)とは違う方法でモジュールのインスタンス化ができます。 基本的には、(その1)と同じですが、ちょっと違います。 リファレンス・ガイトの5.4.2 Long form instantia…

Bluespec SystemVerilog : モジュールのインスタンス化(その1)

Verification Engineerの戯言 モジュールのインスタンス化は、SystemVerilogとはちょっと違います。 type identifier <- moduleApp; typeは、SystemVerilogではモジュール名になりますが、Bluespec SystemVerilogでは、インターフェースの名前です。 モジュ…

Bluespec SystemVerilog : モジュールの宣言

Verification Engineerの戯言 Bluepsec SystemVerilogのモジュールは、次のような感じ。ほとんど、SystemVerilogと同じ。 identifier(識別子)は、mkFooのようにmkで始め、次の文字を大文字にします。 (mkは、どうやらmakeを意味するようです)。 モジュールの…

Bluespec SystemVerilog : EDA ExpressのDACレポート

Verification Engineerの戯言 EDA ExpressのDACレポート3は、Bluespecです。 【DACレポート3】Bluespec、FPGAエミュレーション向けの新製品を披露 これによると、FPGAエミュレーションに関するモノ。 Bluespec Compilerにて、Bluespec SystemVerilogの記述は…

Bluespec SystemVerilog : インターフェスの宣言

Verification Engineerの戯言 インターフェースは、interface/endinterfaceの中にメソッドやサブインターフェースを宣言します。 メソッドは関数とおなじようなもので、0個以上の引数と戻り値を持ちます。 インターフェース中のメソッド宣言は、関数のプロト…

Bluespec SystemVerilog : パッケージ

Verification Engineerの戯言 今日からは、例題に出てきたコードに関するBluespecの構文について調べて見ました。 ファイル名は、package名.bsv パッケージ名とファイル名が違うと、コンパイラに怒られる。 1)、パッケージ名の最初の文字は、大文字を推奨。 …

Bluespec SystemVerilog : COUNTERを学ぶ(その6)

Verification Engineerの戯言 Bluespec SystemVerilog : COUNTERを学ぶ(その1) Bluespec SystemVerilog : COUNTERを学ぶ(その2) Bluespec SystemVerilog : COUNTERを学ぶ(その3) Bluespec SystemVerilog : COUNTERを学ぶ(その4) Bluespec SystemVerilog …

Bluespec SystemVerilog : COUNTERを学ぶ(その5)

Verification Engineerの戯言 Bluespec SystemVerilog : COUNTERを学ぶ(その1) Bluespec SystemVerilog : COUNTERを学ぶ(その2) Bluespec SystemVerilog : COUNTERを学ぶ(その3) Bluespec SystemVerilog : COUNTERを学ぶ(その4) SystemVerilogのクラスに…

Bluespec SystemVerilog : COUNTERを学ぶ(その4)

Verification Engineerの戯言 Bluespec SystemVerilog : COUNTERを学ぶ(その1) Bluespec SystemVerilog : COUNTERを学ぶ(その2) Bluespec SystemVerilog : COUNTERを学ぶ(その3) (その2)のテストベンチのmkTbCounterモジュールでは、1つのテストに対して…

Bluespec SystemVerilog : COUNTERを学ぶ(その3)

Verification Engineerの戯言 Bluespec SystemVerilog : COUNTERを学ぶ(その1) Bluespec SystemVerilog : COUNTERを学ぶ(その2) その2のコードに対して、decrementメソッドを追加します。 まず、interface/endinterfaceにdecrementメソッドを追加します。 …

Bluespec SystemVerilog : COUNTERを学ぶ(その2)

Verification Engineerの戯言 Bluespec SystemVerilog : COUNTERを学ぶ(その1) mkCounterモジュールに対するテストベンチもBluespec SystemVerilogで記述しています。 テストベンチのファイル名は、TbCounter.bsvです。 import MyCounter::*; (* synthesize…

Bluespec SystemVerilog : COUNTERを学ぶ(その1)

Verification Engineerの戯言 Bluespec SystemVerilogでCounterをBSV 101: Designing a Counter (1/09)で学びます。 このCounterについて、6回に分けて書きていきます。 Bluespec SystemVerilogのコードは、BSV 101: Designing a Counter (1/09)の中と同じも…

Bluespec SystemVerilog : HELLO WORLDを学ぶ(その6)

Verification Engineerの戯言 HELLO WORLDを学ぶ(その1) HELLO WORLDを学ぶ(その2) HELLO WORLDを学ぶ(その3) HELLO WORLDを学ぶ(その4) HELLO WORLDを学ぶ(その5) (その5)の最後のコードからSystemCコードを生成してみましょう! なお、SystemCコードを生成…