2009-01-01から1年間の記事一覧

procedure for testbench

procedureを使うと、シミュレーションが楽に書ける。 architecture test of test_module is procedure pe(signal CLK : in std_logic) is begin wait until CLK'event and CLK='1'; end pe; procedure pe( num : in integer; signal CLK : in std_logic) is …

state machineの作り方

ポイントは三つ。 1、state のタイプ宣言は以下の通り。 type STATE is ( STA0 , STA1 , STA2 ); signal CURRENT_STATE,NEXT_STATE : STATE;現在のステートと次のステートを作っておく。 「次」とは、次のクロックのことを指す。2、clkでステートを入れ替…

bit列の一斉初期化

Y<=( 3=>0, 2=>0, 1=>0, 0=>0); の省略として、次のように書ける。 Y<=(3 downto 0 => 0);もしくは、othersを使って、 Y<=(others=>0);と書く。 これらはもちろん、テストベンチの中でしか使えない。。。というか、使わないことにしておくこと。 唯一VHDL中…

TestBenchの一例

LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.all; USE ieee.numeric_std.ALL; ENTITY testbench IS END testbench; ARCHITECTURE behavior OF testbench IS COMPONENT syncFIFO PORT( clk : IN std_logic; reset : IN std_logi…

SRAMの記述

architecture RTL ... ... type SRAM is array (0 to 2**L - 1) of STD_LOGIC_VECTOR ( W-1 downto 0); signal my_sram : SRAM; ... begin ... end RTL;とかく。

FPGAメモ

・「カウンタを作るとき、最大値を超えたら勝手に元に戻るだろう」という発想は危険。きちんと初期値に戻るよう記述してあげないと(何故か)シミュレーションが途中で止まる。・Integerの範囲指定は、 signal : INTEGER range 0 to 2** -1 := ; として行う…

logicool社製のwebcamのドライバ

http://www.quickcamteam.net/software/linux/drivers ここらに置いてある。

TLegends

注釈を付けるためのもの。基本的な使い方は、 TLegend *leg = new TLegend( 0.5, 0.5, 0.9, 0.9, "Legend" ); leg->AddEntry(hist1,"ge1"); leg->AddEntry(hist2,"ge2"); leg->Draw();初めの四つの数字で表示位置を変えられる。

WPA2-enterprise&TLSで無線LAN接続

mac

なんか手間取ったので忘れないよう書いておく。まず証明書を入手。それをキーチェーンに追加しておく。 次に、ネットワーク環境設定で802.1Xのタブを開いて、新しくユーザープロファイルを作る。ユーザーネームやらパスワードは(たぶん)証明書と同じで、ワ…

iso fileのマウント

mount -t iso9660 -o loop ISOイメージファイル名 マウントポイントだそうです。

root install

root権限が無い場合のインストール方法。./configure --prefix=.... --etcdir=.... と、etcdirを設定してやる必要がある。

初心

FPGA開発するハメになったのでつらつら思いつくことを書いていくことにします。

rsync

rsync --progress -avur username@pcname:directory username@pcname:directory scpと同じ使い方。

ヒストグラムのスケール

エラーも正しく設定してあげましょう。 const double scale=0.1; for(int j=1;j<=hist->GetNbinsX();j++) { hist->SetBinContent(j,hist->GetBinContent(j)*scale); hist->SetBinError(j,hist->GetBinError(j)*scale); } ループを回す範囲が玄人。

統計情報重ね書き

TPaveStatsを重ね書きする。 とっても簡単。 same -> sames にする。表示位置を調整するには、 TPaveStats *s=(TPaceStats*)h->GetListOfFunctions()->FindObject("stats"); s->SetX1NDC(10); s->SetX2NDC(20); s->SetY1NDC(10); s->SetY2NDC(20);

ubuntu9.04のインストール

英語版をインストールして、後で日本語環境を整える。 (さもないと、「書類」やらコンソールでいじり辛いフォルダができる)まず、無難に英語でインストール。 その後、 wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-…

グリッド線

c->SetGrid();

色、線種変更

SetLineColor(int); SetLineStyle(int); SetLineWidth(int); SetMarkerColor(int); SetMarkerSize(int); SetMarkerStyle(int);マーカーのおすすめは、 SetMarkerColor(2); SetMarkerSize(1.5); SetMarkerStyle(20); これ好き。

整数化

cpp

(int)x を負数まで含めて使おうとすると0付近で問題が起こる。 このキャストは、「整数部分の数字を取り出す」ものだから、 1.2 -> 1 0.8 -> 0 ー0.8 -> 0 ー1.2 -> ー1 というふうに、0がかぶってしまう。なので、ヒストグラムが0付近で盛り上がる嫌な感じ…

mac X11 でのペーストのやり方

当然ながら、コピーは command+cだが、同じように貼り付けは出来ない。これをやるためには、環境設定から、 +3マウスボタンをエミュレート +X11の代替キーを有効にする を選択してあげて、 「option + left click」 とすればよい(が、ひどいなこれ。…

MacPorts

mac

apt-getみたいなやつ。 http://svn.macosforge.org/repository/macports/downloads/ からダウンロードしてインストール。使う前にpathを通しておく。 export PATH=/opt/local/bin:/opt/local/sbin:${PATH} export MANPATH=/opt/local/man:${MANPATH}使いかた…

64bitでのmake

./configureする前に、どうやら、 export CFLAGS=-fPIC -m64 と書いておかなくてはいけないらしい。 (-fPICってのはいらない?知らない。) 別にCFLAGSでなくとも、どこかでg++とかにオプションとしてかかればそれでいいんだとは思うが、なにせ埒外もいいと…

軸操作系

set format x "" //x軸の数字を消す set xlabel "hogehoge" //x軸にタイトルをつける

root権限

mac

macではdefaultではsuが使えない。 そこで、ディレクトリマネージャーとかいうものを開いて、メニューから編集、ルートユーザーの使用的な感じで選んで行くとsuが使えるようになる。

configure

今まで./configureだけだったのだけれども、最近ようやく細かいことを覚え始まった。 大体、 ./configure --help で細かいものが読めるし、 ./configure --prefix=/home/marumaru/dir とかでファイルのインストール先を選べる。 (後のことを考えると、この…

TFileのバグ

条件は確認していないけどTFile f("test.root"); ではうまく動かなくて、 TFile *f=new TFile("test.root"); とすると直る時がある。 バグだと思う。

rsync + ssh(二段越し)

相手側LANの中のパソコンとrsyncで同期をとる方法。 ssh -L LocalPortNo:hostB:22 -l usernameA hostA // LANの中のhostBに対して、hostAを踏んでポートフォワード rsync -avurz -e 'ssh -p LocalPortNo' hostfile usernameB@localhost:destination_dirとか…

ssh portfowarding

//paintくんに教えていただきました。sshで、「自分(localhost)のX番ポートを、A(hostA)さんを踏み台にして、B(hostB)さんのY番ポートに直結する」には、 ssh -L X:hostB:Y -l usernameA hostAとする。 イメージとしては、 「普通にhostAにsshでログインする…

rsync

rsync -avr -e ssh username:copyfrom username:copytoたとえば、 rsync -avr -e ssh tyutaka@host.ahaha.jp:~/private .とかなんとか。後はscpと同じ。

何とかalloc問題

TH1FでDrawするときのRangeの取り方によっては、なんとかalloc云々のエラーが出る。 まともな表示範囲にすると消える。原因は不明。