neosnippetのスニペット追加についてのメモ

Vim

[vim]neosnippet.vim からデフォルトのスニペットが削除された を見て、こちらをインストールしました。 Shougo/neosnippet-snippets neosnippet.vimを更新すると、 自分で作っていたスニペットが有効にならなくなった。 どうやら、「snippets」ディレクトリ…

Pandocを利用する

Pandocってなに? Haskell製のドキュメント変換ツールです。 入力/出力のフォーマットが豊富です。 こちらのサイトの図を見たほうがいいかも。 http://johnmacfarlane.net/pandoc/ Pandocは こちら のほうで試すことができるので、 どんな感じか見てみたい方…

"コメントアウトして編集"を効率化する。

Vim

この記事は Vim Advent Calender 2012 の 315日目の記事です。 314日目は、@supermomonga さんの「Macを購入したら絶対に導入したい!私が3年間で厳選した超オススメアプリ10選!」でした。 私も Macを持ってますが、超オススメアプリはすべてインストールし…

ファイル別の key-map設定で失敗した話

Vim

本記事は、Vim Advent Calendar 2012の 309日目の記事になります。 308日目は @manga_osyo さんの「[vim]unite.vim の action について理解する」でした。 今回は、私が キー配置の設定で失敗した話です。 色んな方の .vimrc 見てみたのですが、同じような設…

autocmdの syntaxの改造にトライ (syntax/vim.vim)

Vim

Lingr vim-users.jpでも相談させてもらったのですが、 au BufNewFile,BufRead *.html so <sfile>:h/html.vim に対して、 au myvimrc BufNewFile,BufRead *.html so <sfile>:h/html.vim ってやると、「BufNewFile,BufRead」がハイライトされてない。。。 これをどうにかした</sfile></sfile>…

ファイルに保存する。(:sav[eas])

Vim

早くVimmerになりたい! ようやく手元に話題の「実践Vim 思考のスピードで編集しよう!」が届きました! これでVim力をレベルアップをしたいと思います。 この記事は Vim Advent Calendar 2012の278日目の記事です。 277日目は @manga_osyo さんの「Vim で非…

VAC2012とvim-anzuとvim-airline

Vim

VAC2012 VAC(Vim Advent Calender)2012 はまだまだ続いています。 凄いです。Vimmerにクリスマスはなかった。 しかし、Vim Girlがいます。 Vim Girlがいます。(かわいい) 毎日素晴らしい記事が投稿されています。 感謝!感謝! vim-anzu VAC(Vim Advent Cale…

unite-tig更新(折り畳み表示)

Vim

はじめての unite source(unite-tig) 自分のuniteソース処女作なので、Vim魂が高まった時に色々やってます。 diff表示部分に fold表示を追加しました。(defaultは展開済です) 以下の様な画面になります。 ショートカットカットキーとして t を割り当てたの…

ModelSim-Altera Starter Edition 13.0(10.1d)インストール

アルテラ、Quartus II 開発ソフトウェア v13.0 をリリース ということで、Ubuntu 12.04 LTS(32bit)に ModelSim-ASE 13.0(10.1d)をインストールしました。 ※現在だと 13.0sp1(10.1d)が最新です。 ダウンロード 今回よりダウンロードが変わったみたいですね。 …

TweetList(3.5.4) で動作が重くなったので、再インストールしたら解消された!!!

モバイル機器で Twitter見る時には、 TweetList(無料版) を使っているのですが、 ついこないだ「3.5.4」というバージョンがリリースされました。 アップデート後に起きた現象 アップデート後の動作として、 TimeLineの表示が異常に遅い(3分程度かかる) ツイ…

VCDファイルを階層ごとに修正する

SystemCで信号波形をダンプする際には、VCD形式で出力することが多いと思います。 SystemCのダンプ形式だと、「階層.信号」といった感じでフラットに出力されてしまうのでどうしても波形ビューワーで見ると、見づらいかと思います。 そこで、こんなものがあ…

unite:bookmarkを使って Vimfilerをもっと快適に使う

Vim

この記事は Vim Advent Calendar 2012の218日目の記事です。 217日目は @deris0126 さんによる 「NeoBundleの相対パスからVim pluginのURLをブラウザで開く」でした。 さて、本日は自分が使って便利だなって思ったことを書いてます。 (Vimfilerを最近真剣に…

virtual interface paramter記述

引数にinterfaceで思い出したのですが、interfaceにparameter持たせた時に 仮引数の宣言の仕方がさっぱりわからなかった記憶が。 ってなことだったので、試してみました。 interface if_hoge#(parameter BW = 8)(); logic [BW-1:0] data; endinterface : if_…

固定小数点型において、動的に整数幅を変える

SystemC Forumにて、 How to change the word length of "sc_fix" dynamically? Any examples? 高位合成(RTLへの実装)とかを考えると、どうしてもデータ幅(bit幅)を意識します。 予め bit幅が決まりきっている場合だと問題ないかもしれませんが、 bit幅を見…

$countones で bitランダム

きっかけはこちらの Verification Academyにて "hot bit" randomization このスレッドにCVCの方が回答したものが、こちらになります。 Smart constraint modeling in SystemVerilog class c; rand bit[31:0] vec_1; constraint cst_max_2_hot_bits { $counto…

SystemC-2.3インストール(clang3.3)

clang 3.3で SystemC-2.3をインストールしようとした際のメモ。 $> ../configure CC=clang CXX=clang++ : : configure: error: "sorry...compiler not supported" ってな感じでエラーが出ます。 どうやら、INSTALLには記載があるのに、clangは使えないようで…

HLSで「等価性検証は必要ないのか?」と質問された時の正解

元ネタ:TDDで「テストばかり書いて間に合うのか?」と質問されたときの正解 高位合成/動作合成のツールを使った設計において、顧客などから 「等価性検証は必要ないのか?」 などと質問されることがあると思います。 そんな時には、後ろからそっと抱きしめ…

SystemVerilog:bitスライスと初期値代入

problem about variable part select in SystemVerilog 確かに、こういう風に書きたいと思った時もありますね。 addr[8-:idx_bits] = {idx_bits{1'b1}}; ☆ここでのポイント addr[ const_or_var : const ] = { const { const_or_var } }; ビットスライス右側…

Vim: +Lua にてインストール(Ubuntu12.04)

Vimにて、if_luaを有効にしたかったので、その時のメモを。 Lua5.2のインストール $> sudo apt-get install lua5.2 これだけだと、「lua.h」が見つからないということで 有効化されません。 なので、こちらもインストールする必要があります。 @h_east さん…

SystemC:未使用 or 固定値端子を隠蔽出来る闇記述

前に SystemC:未使用 or 固定値端子の処理 を書いた際に思ったことがあります。 先ずはこちらのコードをみてください。 #include <systemc.h> //---------------------------------------------// static struct { template < typename T > operator sc_core::sc_signa</systemc.h>…

無印良品のノートカバーが Nexus7のカバーにピッタリ!

少し昔にこんなのがあったかと思います。 実際、私も MacBook Airはこちらを使用しています♪ MacBook Airを優しく守る無印良品のフェルト製封筒がシンプルで使える! 今回、パズドラ専用機となっている Nexus7 に対してカバーを探していたところ、 無印良品…

SystemC:未使用 or 固定値端子の処理

How to terminate unused ports of modules in the port binding? SystemCモデルの接続において、Verilog HDLのように 未使用端子を簡単に処理出来ません。 VHDLのように何かしらを接続する必要があります。 つまり、以下のようなコードになります。 #includ…

一様乱数生成を試す

[C++] 乱数生成のアンチパターン 極端な一様乱数ジェネレーターを作る 上記のブログ見てこんなのあるんだなーって思って書いてみた。 あとせっかくなので、clang 3.3で... #include <iostream> #include <random> int main() { std::default_random_engine engine ; std::unifo</random></iostream>…

Ubuntu 12.04LTSに clang 3.3インストール

LLVM Debian/Ubuntu nightly packages おかげで楽にインストール出来ました。 $> sudo vim /etc/apt/sources.list.d/llvm.list deb http://llvm.org/apt/precise/ llvm-toolchain-precise main deb-src http://llvm.org/apt/precise/ llvm-toolchain-precise…

Info:(I804) ... is deprecatedを非表示にする

例えば、SystemCモデルコンパイラ時に「-DDEBUG_SYSTEMC」をつけると Info: (I804) /IEEE_Std_1666/deprecated: sc_signal::addtrace() is deprecated のようなメッセージが表示されます。 このメッセージは毎回表示されるので、出力画面がいっぱいになりま…

__FILE__ マクロのパス表示について

※本内容はシミュレータによって変わる場合があるかもしれません。 きっかけはこちらの記事になります。 SystemVerilog 2009 macro `FILE ? absolute or relative path? こちらの記事のほうでは Questaシミュレータを使用した場合のようです。 私の方は Model…

突然のパチラッシュに備える - ウロボロスVim -

Vim

この記事は Vim Advent Calendar 2012 の 130日目の記事になります。 129日目は @tyruさんの balloon-evalを使ってマウス位置を取得 でした。 いつまで続くのかドキドキですね。Vimmerにクリスマスはくるのか!? では、今回の記事はこちらになります。 ウロ…

SystemVerilog:配列/bit幅に「-」値指定

bit幅に「-(マイナス)」値を使った書き方ができるとは。。。 私自身書いたことがなかったので、試しに書いてみました。 サンプルコード module testbench; int tmp[-2:5]; int data; initial begin for(int i=-2; i<5; i++) begin tmp[i] = data + 1; data++…

SystemVerilog:$finishの引数

IEEE規格では以下のように定義されています。 Table 20.1 Diagnostics for $finish Argument value Diagnostic message 0 Prints nothing 1 Prints simulation time and location 2 Prints simulation time, location, and statistics about the memory and …

電子書籍の利用

読み放題でコスパよし!電子書籍アプリyomel.jpキャンペーン とあるキャンペーン中なので、書いてみる。 電子書籍について、私はほとんど読んでいない。。。 というもの、小説ほとんど読まないから。 ただ、技術書に関しては別で技術論文(PDF)になっているも…

SystemCインストール (Visual Studio 2012)

Accellera Systems Initiative Forumsにて、スレッドがあったので紹介。 SystemC in Visual Studio 2012 Visual Studio 2012を使う人は見てみてください。 引用 1. Installed Visual C++ 2012 Express Edition 2. Download Systemc-2.3.0.tgz 3. uncompress …

SystemC 2.3 : sc_starvation_policy

SystemC 2.3から追加になっている機能になります。 sc_start()時に、sc_starvation_policyを指定できます。 4.2.1 Function declarations より引用 enum sc_starvation_policy { SC_RUN_TO_TIME, SC_EXIT_ON_STARVATION }; default値は「SC_RUN_TO_TIME」で…

SystemC 2.3:throw_it

SystemC 2.3にて追加された「throw_it」についてです。 サンプルコード # include <stdio.h> # include <systemc.h> SC_MODULE( hoge ){ std::exception ex; sc_event ev; sc_process_handle t; int q; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD( target ); t = sc_get</systemc.h></stdio.h>…

SystemC 2.3 : reset/kill event

SystemC 2.3では、reset/kill 発生時のイベントを利用して プロセスを動作させることも出来ます。 サンプルコード # include <stdio.h> # include <systemc.h> SC_MODULE( hoge ){ sc_event ev; sc_process_handle t; int q; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD(</systemc.h></stdio.h>…

SystemC 2.3:unwind (reset and kill)

前回の「reset/kill」を観測することができます。 サンプルコード #include <stdio.h> #include <systemc.h> SC_MODULE( hoge ){ sc_event ev; sc_process_handle t; int q; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD( target ); t = sc_get_current_process_handle();</systemc.h></stdio.h>…

SystemC 2.3:reset and kill

SystemC 2.3で追加された「reset と kill」についてです。 サンプルコード #include <stdio.h> #include <systemc.h> SC_MODULE( hoge ){ sc_event ev; sc_process_handle t; int q; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD( target ); t = sc_get_current_process_h</systemc.h></stdio.h>…

SystemC 2.3 : sync_reset_on/off

SystemC 2.3の「sync_reset_on/off」についてです。 サンプルコード #include <stdio.h> #include <systemc.h> SC_MODULE( hoge ){ sc_event ev; sc_process_handle t; int q; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD( target ); t = sc_get_current_process_handle(</systemc.h></stdio.h>…

SystemC 2.3 : disable and enable

SystemC 2.3では、Process Control 編です。 今回は、「disable & enable」についてです。 サンプルコード #include <stdio.h> #include <systemc.h> SC_MODULE( hoge ){ sc_in<bool> clock; sc_process_handle t; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD( target ); sensi</bool></systemc.h></stdio.h>…

SystemC 2.3:suspend and resume

SystemC 2.3では、Process Controlはかなり拡張されています。 今回は、「suspend & resume」についてです。 サンプルコード #include <stdio.h> #include <systemc.h> SC_MODULE( hoge ){ sc_event ev; sc_process_handle t; SC_CTOR( hoge ) { SC_THREAD( calling ); SC_THREAD</systemc.h></stdio.h>…

SystemC 2.3:Process Handles

SystemC 2.3で色々拡張?変更されたので、 勉強がてら書いていきたいと思います。 先ずは、正常動作というか何も変更を加えてない状態です。 ここでは、t に対しての属性を表示させています。 サンプルコード #include <stdio.h> #include <systemc.h> SC_MODULE( hoge ){ sc_proc</systemc.h></stdio.h>…

SystemVerilog:pre/post_randomize()

SystemVerilogのランダム生成には、以下の functionが存在します。 IEEE1800-2012引用: 18.6.2 Pre_randomize() and post_randomize() Every class contains pre_randomize() and post_randomize() methods, which are automatically called by randomize()…

SCVインストール(SystemC 2.3版)

基本的な操作は Ubuntu12.04に SCV をインストール と変わりません。 違う点は config時の指定だけです。 SystemCのインストール先は個別に違うと思うので、置き換えてください。 SystemC 2.2 $> ../configure [--prefix=インストール先] --with-systemc=/us…

SCV:SystemCデータ型のランダマイズ

今まで試したソースは C/C++のデータ・タイプだったので、 SystemCのデータ・タイプで試してみました。 サンプルコード #include <scv.h> int sc_main( int argc, char* argv[] ) { printf( "-----------------------\n"); printf( "--- Type:sc_int<8> ---\n"); pr</scv.h>…

SCV_SOFT_SONSTRAINTを書いてみた。

SystemVerilog 2012より追加された soft constraintが どんなものか分からなかったので SCVで書いてみました。 SystemVerilog 2012 : soft constraint サンプルコード #include <scv.h> //Valid values for a are 10 or 30 class slower : public scv_constraint_ba</scv.h>…

SCV:制約付ランダムデータ生成(その2)

今回は、SCVを使った制約付きランダム生成(その2)です。 前回のデータを元に更に制約を加えてみたいと思います。 サンプルコード #include <scv.h> // Valid values for a are 10-20, 50-60, 90-100 class slower : public scv_constraint_base { public: scv_smart</scv.h>…

SCV:制約付ランダムデータ生成(その1)

今回は、SCVを使った制約付きランダム生成(その1)です。 今までの keep_only/keep_outの記述を SCV_CONSTRANT を使って書くことができます。 サンプルコード #include <scv.h> // fast simple constraint. // Valid values for a are 10-20, 50-60, 90-100 class fa</scv.h>…

SCV:重み付けランダムデータ生成(値の範囲)

scv_bagを使ってランダムの確率分布を指定することが出来ます。 前回は値に対してですが、値の範囲に対しても同じことが可能です。 サンプルコード #include <scv.h> int sc_main( int argc, char* argv[] ) { scv_bag<pair<int,int> > dist; dist.add(pair<int, int>(0,4), 15); // 50% dis</int,></pair<int,int></scv.h>…

SystemC 2.3:sc_start(1) Error

きっかけはこちらのスレッドになります。 Error : no matching function for call to SC_start SystemC-2.2では、 sc_start(1); のような sc_start(int); 記述を許していたんですね。 書いたことなかったので、試しに記述して確認してみました。 SystemC-2.2…

SCV:重み付けランダムデータ生成(値)

scv_bagを使ってランダムの確率分布を指定することが出来ます。 サンプルコード #include <scv.h> int sc_main( int argc, char* argv[] ) { scv_bag<int> dist; dist.add(0,15); // 50% dist.add(1,8); // 27% dist.add(2,4); // 14% dist.add(3,2); // 6% dist.add(4,1</int></scv.h>…

SCV:分布を指定したランダムデータ生成

SCVではランダム生成において、モードが存在します。 今回はそれらを試してみました。 モード 説明 RAMDAM 指定分布範囲での一様なランダム生成 SCAN とりうる値で小さいものから大きいものへと生成 RANDOM_AVOID_DUPLICATE 生成可能な数値が出尽くすまで同…