メモ:git基本コマンド

Git

Gitのコマンドメモです。 例として、ファイル名:hoge.cpp ブランチ名:bra1としてます。 git リポジトリ作成 $> git init git 状態確認 $> git status ファイルの追加 $> git add hoge.cpp コミット $> git commit hoge.cpp コミット(メッセージ付き) 複数…

yokohama.vim.reverse #4 に参加してきました。

Yokohama.vim.reverse #4 に参加して来ました。 今回が初のVim勉強会参加でした。 開催前に @gu4さんから発表をお願いされ、当日の朝に資料書いてたなんて言え。。。 Pre懇親会 「Vimmerはシャイなので懇親会からギアが入ると聞いて。」 確かに、私もシャイ…

SCV使用時の役立つ?gccオプション

SCVをコンパイルする際の Makefileはこんな感じです。 ※使用する際にはインストールパスを自分のに置き換えてください。 SYSTEMC_HOME = /usr/local/lib/systemc-2.2.0 SCV_HOME = /usr/local/lib/scv-1.0p2-sysc2.2 TARGET_ARCH = linux SYSTEMC_INC_DIR = …

SCV:ランダムデータの生成

SCVをインストールしたので、色々書いてみたいと思います。 先ずは基本的なランダムデータの生成から。 サンプルコード #include <scv.h> int sc_main( int argc, char* argv[] ) { scv_smart_ptr<int> data_p( "data" ); for (int i=0; i<20; i++) { data_p->next(); pr</int></scv.h>…

SCV error: ‘_scv_pop_constraint’

Ubuntu12.04に SCV をインストール 後に exampleを動かすと 以下のような Errorが発生します。 ※実行したものは「examples/scv/randomization/constraints」 : ./run.x scv_constraints.cpp: In constructor ‘packet_base_constraint::packet_base_constrain…

Ubuntu12.04に SCV をインストール

SCV(SystemC Verification library)のことです。 2006年以降全く更新がない困ったライブラリちゃんなので、 ちょっと火がついたのでインストールしてみました。 環境 Ubuntu12.04 LTS(32bit) gcc/g++ 4.4.7 SystemC 2.2 ダウンロード こちらからファイルをダ…

【メモ】libtool

SystemC-2.3インストール時に使っている「libtool」が イマイチ分からなかったので、メモっとく。 正確には、GNU Libtool - The GNU Portable Library Tool 最新版は「2.4.2」で、2011年10月以降の更新なし。 目的(役割) libtool を使用することで、静的ライ…

Vim+kobitoで快適 Markdown編集♪

Markdownのプレビューはいくつもあると思いますが、 Vim(MacVim) + kobitoが無料で一番使い易いかも!!! これを使う前は、quickrun+open-browserで表示させたりしてました。 しかし、それだと Syntaxのハイライトなどが出来なかったので、 少々使いづらい…

SystemC動作時に確認している環境変数

SystemCでは、マニュアル(LRM)に載っていないけど 動作時に見ている環境変数が存在する。 src内部を getenv とかで grepした結果です。 変数名 2.2 2.3 内容 SYSTEMC_REGRESSION レ レ よくわからない... リグレッション用の何か? SC_SIGNAL_WRITE_CHECK レ…

【SystemC】libtool + gdbの使い方

SystemC-2.3で、libtoolを使ってコンパイル&リンカした場合の 実行形式ファイルらしきものを見るとスクリプトになっています SystemC-2.3では多分 libtoolを使うことが推奨されています。 サンプルコード(sc_main.cpp) #include <systemc.h> int sc_main(int argc, char</systemc.h>…

Mercurialから Vimをインストール

前回、Mercurialをインストールしたので、 Vimをインストールしたいと思います。 Mercurialリポジトリから取得 $> hg clone https://vim.googlecode.com/hg/ vim 全チェンジセットを取得中 チェンジセットを追加中 マニフェストを追加中 ファイルの変更を追…

Ubuntu 12.04に Mercurialインストール

Mercurial インストール $> sudo apt-get install mercurial パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: mercurial-common 提案パッケー…

Ubuntu12.04に Valgrindをインストール

http://valgrind.org/ Linuxで SystemCモデルなど開発しているのであれば、 使ってない人はいないのではないでしょうか?(言い過ぎかもしれません) せっかくなので、個人PCにも入れてみました。 インストール $> sudo apt-get install valgrind インストール…

LingrPocket使ってみた

[android] LingrのAndroidクライアントを作りました っということで、私も Vim部屋閲覧のために入れてみました。 私は、Nexus7 - Android 4.2.1でしたが問題なく動いてます。 便利〜♪ 自動更新期待しています!!!

SystemC Utillity functions : sc_max, sc_min

SystemC-2.2からあります。 2つの値を比較して、それぞれの値を返す関数になります。 ※ただし、sc_logic/sc_bitなどのデータ型には使えません。 定義 sc_max template <class T> const T sc_max( const T& a , const T& b ) { return (( a >= b ) ? a : b ); } sc_min</class>…

SystemC Utillity functions : sc_abs

SystemC-2.2からあります。 絶対値を返す関数になります。 ※ただし、sc_logic/sc_bitなどのデータ型には使えません。 template <class T> const T sc_abs( const T& ); サンプルコード #include <systemc.h> int sc_main(int argc, char* argv[]) { sc_int<10> a, b, c; sc_int<1</systemc.h></class>…

はじめての unite source(unite-tig)

Vim

この記事は、 Vim Advent Calendar 2012 60日目の記事です。 60日って凄いですね(笑) 流石!Vim!\(^o^)/ (いつの間にか2月まで突入しましたね。) 59日目は @HardwareLab さんの Verilog対応増減Vimスクリプトを書いてみた でした。 今回、はじめて unit…

SystemC Utillity functions : Version and Copyright

SystemC-2.2からあったようですが、説明も少ないため SystemC-2.3前提で話をします。 用意されている function 以下の 3つの関数が用意されています。 sc_copyright() sc_version() sc_release() どのような動きになるかはこちらを見てください。 サンプルコ…

【Vim】Patch 7.3.764のエラー対処について

Vim

Patch 7.3.764を適用すると、以下のエラーメッセージが出てきた。 make[2]: ディレクトリ `/usr/local/src/vim/vim73/src/po' に入ります make[2]: *** `all' に必要なターゲット `nl.mo' を make するルールがありません. 中止. make[2]: ディレクトリ `/us…

はてなブログ アプリで書いてみた

はてなブログ for iPhone ってアプリがあることを知ったので、こっちで書いてみることにした。 ※このブログ自体をアプリ書いてます。ただし、リンクはPCでですが。 アプリ自体に Markdown記法モードがあることに驚きを隠せない(笑) 文章入力もiPod touch(…

SystemC 2.3 : sc_vector

SystemC-2.3(IEEE1666-2011)から追加された「sc_vector」を書いてみました。 sc_vector は、モジュールや信号について記述することができます。 ポート信号に対して サンプルコード #include <systemc.h> SC_MODULE( hoge ){ sc_vector<sc_in<bool> > in; void m_process(); SC_CTOR</sc_in<bool></systemc.h>…

SystemVerilog : semaphore

SystemVerilog:mailbox で mailbox 書いたので、次は「semaphore」書いてみました。 サンプルコード module testbench (); semaphore sm_hoge; task task_put(); sm_hoge.put(); endtask task task_get; forever begin if (sm_hoge.try_get()) begin $displ…

SystemVerilog:unique, priority

SystemVerilog 2012:unique constraint でも紹介しましたが、SystemVerilogでは if/caseに対して以下の制約が追加されています。 unique unique0 priority これらの予約語を使いことにおいて、シミュレータに検知されることができます。 共通条件 すべての条…

iPod touchのホームボタンをなるべく押さないようにした

iOS

第4世代のiPod touchのホームボタンの効きが悪くなって以来、 ホームボタンを押すことに抵抗が出てしまった。。。 ということで、「通知センター」と「AssistiveTouch」機能を 使ってなるべくホームボタンを押さないように出来ないか検討してみました。 通知…

SystemVerilog 2012 : soft constraint

Introducing soft constraints in SystemVerilog 2012 より、SystemVerilog 2012 にて soft constraint が追加されるらしいです。 これって元々こちらからのもの? Soft Constraints for SystemVerilog Package - @Venginnerの戯言 soft constraintってなに…

SystemVerilog 2012 : unique constraint

Bringing in uniqueness constraint to SystemVerilog ? welcome P1800-2012 より、SystemVerilog 2012では constraintにも uniqueが設定出来るようになるみたいです。 これは便利かも! unique とは? case文を記述例としてあげています。 unique/priority…

SystemVerilog:コマンドラインからの指定($plusargs)

Plus args in System Verilog is Plus point!! UVMでのテスト指定とかでみたことはあったけど、自分で指定出来るですね。 SystemVerilogでは、2種類の定義が可能です。 $test$plusargs ( string ) $value$plusargs ( user_string, variable ) $test$plusargs…

Vim:NeoBundleLazy使った場合の注意点

neobundle.vim の遅延読み込みを試してみた。 にて、設定してみた場合に???になったので記載してみました。 ※この話は neobundle.vim - 64f473307b での話です。 help NeoBundleSourceしないと、helpが見えない。 こちらは、以下のコマンドが追加されたよ…

Haskell環境を整えてみた(Vim)

Haskelll用のVim環境を準備してみました。 参考にしたWebサイト Vim-users.jp - Hack #211: Haskellでimportするモジュールや関数をその場で調べつつ入力する Vim-users.jp - Haskellで使いたい関数を使ってからそのモジュールをimportする VimでHaskellを書…

Haskell環境を整えてみたplatform)

Haskell勉強してみようと思う。 動機は特にない。なんとなく(笑) 先ずは環境整備から 参考にしたWeb haskellの環境を構築(ubuntu10.10) - podhmoの日記 Haskell ghc-7.4.1をインストール Ubuntu 11.04 Haskell ghc-7.4.1をUbuntu12.04.1LTSに Haskell基礎…

2013年にやりたいこと

2013年にやりたいこと 3点に絞って考えてみた。 プログラミング どれかしよう。 Vim Script Ruby Haskell Python BluespecSystemVerilog 設計&検証手法へのトライアル 高位合成 UVM フォーマル 環境を改善する

Vim:helpメモ

Vim

Vim は helpが充実しています。 なので、何かあったら :help を使いましょう! っという前置きは置いといて、いつも忘れてしますので自分へのメモ書き。 ヘルプウィンドウを全面に表示する Defaultだと、画面半分に表示されると思います。 しかし、全面表示…

neobundle.vim の遅延読み込みを試してみた。

Vim

こちらのブログより、neobundle.vim がver.3になったということで試してみた。 [vim]neobundle.vim でプラグインの遅延読み込み - C++でゲームプログラミング 追加した部分の .vimrcがこちらになります。(丸パクリです。はい。) NeoBundleLazy 'Shougo/vim…

SystemVerilog 2012の多重継承(implements)

SystemVerilog 2012の拡張部分の「多重継承」について予習を。 予習するきっかけはこちらのブログになります。 Did you miss multiple-inheritance in SystemVerilog?(VerificationOnWeb(VoW)) 多重継承ってなに? 多重継承とは、1つのクラスが複数のクラス…

SystemVerilog:mailbox

SystemVerilogの「mailbox」を書いてみました。 FIFOの拡張版(やり取り制御込み)といったところでしょうか。 ちなみに、キッカケはこちらのブログです。 Is my SystemVerilog mailbox half-full or half-empty? An engineer’s hunger now served! サンプルコ…

SystemVerilog:byte型の代入メモ

こちらのブログにて、 SystemVerilog String Literal "Gotcha" ぱっと見ると、意味がわからなったけど少し眺めてみると内容が理解できた。 つまり、byte型に対して、文字列(本来ありえないけど)を代入した場合に、どの部分が代入されるかということ。 番号 9…

SystemVerilog:fork~join/join_any/join_none

今回の勉強題材はこちら。 SystemVerilog Fork Disable "Gotchas" automatic これはVerilog-HDL 2001から automatic が追加されています。 参考:automaticを意識する。 fork~join_any サンプルコードは書いてあるので、省略。 fork~joinの場合の出力結果…

WiMAXの機器追加オプション設定方法

WiMAX更新月なので、WiMAX契約した からの続きです。 WiMAXルーターを活用するために WiMAX機器追加オプションに登録しようと思いましたが、いざ登録しようとするとイマイチ方法がわからなかったのでメモ用に記載します。 私の環境はこちらになります。 プロ…

Macユーザー必見! MacOSに簡単にSystemCをインストール

こんなサイトがあったんですね。 http://www.logicpoet.com/ こちらのサイトの「Downloads」に以下のようなものがあります。 「SystemC Installation Suite for OSX」では、「SystemC 2.2」だけではなく「SCV」、「TLM2」や「GreenSocs」などのライブラリが…

TLMモデルからSystemCモデルへの7つの課題

Merry Christmas!!! SystemCでは幅広い範囲の抽象度で記述することができます。 それではそれぞれのモデルを再度は以下のような感じになります。 モデリング例 Cycleモデル #include <stdlib.h> #include <vector> using namespace std; #include <systemc.h> SC_MODULE( hoge ) { sc_in <bool > </bool></systemc.h></vector></stdlib.h>…

TLM2.0 Socketの種類を把握して有効に使おう

TLM2.0モデルのインターフェースになる Socket についてです。 Socketとは何か? TLM2.0のコアインターフェース(トランスポート、DMI、デバッグトランスポート)の関数呼び出しを提供し、それらのインターフェースをグループ化してポートよりも使いやすくし…

SystemC 2.3変更点(WRITER_POLICY)

SystemC-2.3から追加された WRITER_POLICYについて SystemC-2.2では SystemC-2.2では、sc_signalに対して複数のプロセスから アクセスするような記述があるとエラーになってました。 #include <systemc.h> SC_MODULE( hoge ){ sc_in <bool > xrst; sc_in <bool > set_p; sc_in <sc_uint<32> > setd</sc_uint<32></bool></bool></systemc.h>…

Vivado 2012.4リリース

Vivado Design Suite 2012.4がリリースされました。 Release Notes Guide(UG631) の Vivado High-Level Synthesis項目を見ると、 Vivado High-Level Synthesis (HLS) library contains 31 beta functions for Video and OpenCV I/O interfaces. という小項目…

SystemC 2.3変更点([async_]reset_signal_is)

前回までで、SystemCの thread(process)について語ってきました。 特に SC_CTHREADに対して細かく語ってきたのですが、SystemC-2.3の変更点を 見ていくと面白いことがわかります。 今回の記事はそのような内容になってます。 async_reset_signal_is の追加 S…

SC_CTHREADを活かすためにsc_signalに拡張を試みた話

私が嫌い苦手な SC_CTHREADを使えるように出来ないかなと思い、 sc_signalへの拡張をトライしてみました。っていうお話です。 先に結論だけ書いておくと、面倒臭くなって拡張断念しました。 背景 なぜ SC_CTHREADが嫌い苦手かというと、抽象度が低いからにな…

誰得?SystemCラッパー作成

HDL(Verilog-HDLやVHDL)に対して、SystemCラッパーを作成する方法です。 ラッパーを作成することで、シミュレータでSystemCとHDLとの Co-Simulationが出来るようになります。 Cadence Verilog-HDL $> ncvlog ファイル名 $> ncshell -import verilog -into sy…

Vim:BlueFeatherとQuickrun

本ブログは Markdown形式で書いているのですが、 HTMLに変換する際には BlueClothを使っていました。 しかし、表組みなどは標準の Markdownではサポートされていません。 はなてブログだと表組みとか「Markdown Extra」を元にしているということで、 BlueClo…

SystemCの thread(process) を理解しよう

今回は、SystemCで記述する際に肝となるthread(process)の話です。 まずは、サンプルコードを見てください。 サンプルコード #include <systemc.h> SC_MODULE( hoge ){ sc_in <bool > clk; sc_in <bool > xrst; sc_in <sc_uint<32> > indata1; sc_in <sc_uint<32> > indata2; sc_out <sc_uint<64> > outdata_met; sc_out <sc_uint<64> ></sc_uint<64></sc_uint<64></sc_uint<32></sc_uint<32></bool></bool></systemc.h>…

WiMAX更新月なので、WiMAX契約した

WiMAX更新月なので、WiMAX新規契約した話です。 もう2年ぐらい WiMAX使っていて契約はUQ Flat 年間パスポート 。 月額 3,880円なので、スマートフォンなどのパケット通信はすべてこちらから使用しています。 前年は更新月を忘れていたので、そのまま継続更新…

SystemC 2.3のインストール(Windows:Visual C++ 2008)

ほとんど9割はLinuxで作業しているので、使わないのですが Visual C++の GUIは便利なので、インストールしてみました。 ※環境が古くてすいませんが、私が試したのは Windows XPです。 インストール systemc-2.3.0.tgzを展開 $> tar xvf systemc-2.3.0.tgz 展…