O HAI THIS BLOG PURPZIEZ 2 B UZED AZ MAH PLESIOUS MEM. :)

2006/06/30

My diff stat 6/30~.

否,もはや何も言うまいて. :P
他にも色々あったけど,まだちゃんと動いてないのでもう少し頑張る.
[Well, I have no saying. :P
Hmm, it's a bit of buggy still now, I have to fix it, though.]

a/stim/dat/BPSK_1of2 | 80 -----
b/stim/dat/16QAM_1of2.iCLK | 80 +++++
b/stim/dat/16QAM_1of2.iDIN0 | 80 +++++
b/stim/dat/16QAM_1of2.iDIN1 | 80 +++++
b/stim/dat/16QAM_1of2.iDIN2 | 80 +++++
b/stim/dat/16QAM_1of2.iDIN3 | 80 +++++
b/stim/dat/16QAM_1of2.iDIN4 | 80 +++++
b/stim/dat/16QAM_1of2.iDIN5 | 80 +++++
b/stim/dat/16QAM_1of2.iMODE | 80 +++++
b/stim/dat/16QAM_1of2.iRDEN | 80 +++++
b/stim/dat/16QAM_1of2.iRDSTART | 80 +++++
b/stim/dat/16QAM_1of2.iWDEN | 80 +++++
b/stim/dat/16QAM_1of2.iWDSTART | 80 +++++
b/stim/dat/16QAM_1of2.ixRST | 80 +++++
b/stim/dat/16QAM_1of2.txt | 160 +++++++++++
b/stim/dat/16QAM_1of2.txt.in | 80 +++++
b/stim/dat/16QAM_3of4.iCLK | 80 +++++
b/stim/dat/16QAM_3of4.iDIN0 | 80 +++++
b/stim/dat/16QAM_3of4.iDIN1 | 80 +++++
b/stim/dat/16QAM_3of4.iDIN2 | 80 +++++
b/stim/dat/16QAM_3of4.iDIN3 | 80 +++++
b/stim/dat/16QAM_3of4.iDIN4 | 80 +++++
b/stim/dat/16QAM_3of4.iDIN5 | 80 +++++
b/stim/dat/16QAM_3of4.iMODE | 80 +++++
b/stim/dat/16QAM_3of4.iRDEN | 80 +++++
b/stim/dat/16QAM_3of4.iRDSTART | 80 +++++
b/stim/dat/16QAM_3of4.iWDEN | 80 +++++
b/stim/dat/16QAM_3of4.iWDSTART | 80 +++++
b/stim/dat/16QAM_3of4.ixRST | 80 +++++
b/stim/dat/16QAM_3of4.txt | 160 +++++++++++
b/stim/dat/16QAM_3of4.txt.in | 80 +++++
b/stim/dat/64QAM_2of3.iCLK | 80 +++++
b/stim/dat/64QAM_2of3.iDIN0 | 80 +++++
b/stim/dat/64QAM_2of3.iDIN1 | 80 +++++
b/stim/dat/64QAM_2of3.iDIN2 | 80 +++++
b/stim/dat/64QAM_2of3.iDIN3 | 80 +++++
b/stim/dat/64QAM_2of3.iDIN4 | 80 +++++
b/stim/dat/64QAM_2of3.iDIN5 | 80 +++++
b/stim/dat/64QAM_2of3.iMODE | 80 +++++
b/stim/dat/64QAM_2of3.iRDEN | 80 +++++
b/stim/dat/64QAM_2of3.iRDSTART | 80 +++++
b/stim/dat/64QAM_2of3.iWDEN | 80 +++++
b/stim/dat/64QAM_2of3.iWDSTART | 80 +++++
b/stim/dat/64QAM_2of3.ixRST | 80 +++++
b/stim/dat/64QAM_2of3.txt | 160 +++++++++++
b/stim/dat/64QAM_2of3.txt.in | 80 +++++
b/stim/dat/64QAM_3of4.iCLK | 80 +++++
b/stim/dat/64QAM_3of4.iDIN0 | 80 +++++
b/stim/dat/64QAM_3of4.iDIN1 | 80 +++++
b/stim/dat/64QAM_3of4.iDIN2 | 80 +++++
b/stim/dat/64QAM_3of4.iDIN3 | 80 +++++
b/stim/dat/64QAM_3of4.iDIN4 | 80 +++++
b/stim/dat/64QAM_3of4.iDIN5 | 80 +++++
b/stim/dat/64QAM_3of4.iMODE | 80 +++++
b/stim/dat/64QAM_3of4.iRDEN | 80 +++++
b/stim/dat/64QAM_3of4.iRDSTART | 80 +++++
b/stim/dat/64QAM_3of4.iWDEN | 80 +++++
b/stim/dat/64QAM_3of4.iWDSTART | 80 +++++
b/stim/dat/64QAM_3of4.ixRST | 80 +++++
b/stim/dat/64QAM_3of4.txt | 160 +++++++++++
b/stim/dat/64QAM_3of4.txt.in | 80 +++++
b/stim/dat/BPSK_1of2.txt | 160 +++++++++++
b/stim/dat/BPSK_1of2.txt.in | 80 +++++
b/stim/dat/BPSK_3of4.iCLK | 80 +++++
b/stim/dat/BPSK_3of4.iDIN0 | 80 +++++
b/stim/dat/BPSK_3of4.iDIN1 | 80 +++++
b/stim/dat/BPSK_3of4.iDIN2 | 80 +++++
b/stim/dat/BPSK_3of4.iDIN3 | 80 +++++
b/stim/dat/BPSK_3of4.iDIN4 | 80 +++++
b/stim/dat/BPSK_3of4.iDIN5 | 80 +++++
b/stim/dat/BPSK_3of4.iMODE | 80 +++++
b/stim/dat/BPSK_3of4.iRDEN | 80 +++++
b/stim/dat/BPSK_3of4.iRDSTART | 80 +++++
b/stim/dat/BPSK_3of4.iWDEN | 80 +++++
b/stim/dat/BPSK_3of4.iWDSTART | 80 +++++
b/stim/dat/BPSK_3of4.ixRST | 80 +++++
b/stim/dat/BPSK_3of4.txt | 160 +++++++++++
b/stim/dat/BPSK_3of4.txt.in | 80 +++++
b/stim/dat/QPSK_1of2.iCLK | 80 +++++
b/stim/dat/QPSK_1of2.iDIN0 | 80 +++++
b/stim/dat/QPSK_1of2.iDIN1 | 80 +++++
b/stim/dat/QPSK_1of2.iDIN2 | 80 +++++
b/stim/dat/QPSK_1of2.iDIN3 | 80 +++++
b/stim/dat/QPSK_1of2.iDIN4 | 80 +++++
b/stim/dat/QPSK_1of2.iDIN5 | 80 +++++
b/stim/dat/QPSK_1of2.iMODE | 80 +++++
b/stim/dat/QPSK_1of2.iRDEN | 80 +++++
b/stim/dat/QPSK_1of2.iRDSTART | 80 +++++
b/stim/dat/QPSK_1of2.iWDEN | 80 +++++
b/stim/dat/QPSK_1of2.iWDSTART | 80 +++++
b/stim/dat/QPSK_1of2.ixRST | 80 +++++
b/stim/dat/QPSK_1of2.txt | 160 +++++++++++
b/stim/dat/QPSK_1of2.txt.in | 80 +++++
b/stim/dat/QPSK_3of4.iCLK | 80 +++++
b/stim/dat/QPSK_3of4.iDIN0 | 80 +++++
b/stim/dat/QPSK_3of4.iDIN1 | 80 +++++
b/stim/dat/QPSK_3of4.iDIN2 | 80 +++++
b/stim/dat/QPSK_3of4.iDIN3 | 80 +++++
b/stim/dat/QPSK_3of4.iDIN4 | 80 +++++
b/stim/dat/QPSK_3of4.iDIN5 | 80 +++++
b/stim/dat/QPSK_3of4.iMODE | 80 +++++
b/stim/dat/QPSK_3of4.iRDEN | 80 +++++
b/stim/dat/QPSK_3of4.iRDSTART | 80 +++++
b/stim/dat/QPSK_3of4.iWDEN | 80 +++++
b/stim/dat/QPSK_3of4.iWDSTART | 80 +++++
b/stim/dat/QPSK_3of4.ixRST | 80 +++++
b/stim/dat/QPSK_3of4.txt | 160 +++++++++++
b/stim/dat/QPSK_3of4.txt.in | 80 +++++
stim/Makefile.gcc | 14 -
stim/include/dpnc_internal.h | 187 +++++++------
stim/include/dpnc_process.h | 13
stim/src/dpnc_expect.c | 170 ++++++------
stim/src/dpnc_internal.c | 529 ++++++++++++++++++++-------------------
stim/src/dpnc_io.c | 4
stim/src/dpnc_process.c | 240 +++++++++--------
stim/src/nxg.c | 2
stim/src/ram_internal.c | 6
stim/stimgen.sh | 551 +++++++++++++++++++++++++++++++++++++----
118 files changed, 10330 insertions(+), 666 deletions(-)

2006/06/29

Crunch, -fno-more-strict-aliasing, TDS

今日の出来事.

#ep93xx@freenode.netにて,
lennert(敬称略)のCirrus Logic EP93xx Maverick Crunchな
パッチがupstreamにマージされた. :D
[On #ep93xx@freenode.net,
lennert's patches are merged to upstream who coded Cirrus Logic
EP93xx's Maverick Crunch implementation, coo. :D]
6/29 09:44:26 lennert
whee
6/29 09:44:28 lennert
http://www.kernel.org/git/?p=linux/kernel/git/torvalds...
6/29 09:48:17 hiyuh
awesome :)
6/29 09:48:31 lennert
yeah, i'm very happy
#gentoo-ppc@freenode.net
まだstrict aliasingの問題がいっぱい. :(
[Umm, many strict aliasing issues are. :(]
6/29 17:15:35 mabi
mh, i guess libmp4v2 will get problems with strict-aliasing,
it's crying during compile
6/29 17:31:34 hiyuh
mabi: work around by "inherit flag-o-matic and append-flags
-fno-strict-aliasing" or just fix it,
I've poked ton of those ugly issue...
6/29 17:32:42 mabi
hiyuh: sure, +poking upstream
6/29 17:33:02 mabi
for the fixing, i know nothing of this package
6/29 17:34:10 mabi
glibc-2.4 took twice the time of glibc-2.3 o_O
6/29 17:34:42 hiyuh
yeah, to put -fno-strict-aliasing into global CFLAGS
by /etc/make.conf is not good idea, IMHO.
Today's diff status,略してTDS.
[Here is my TDS, so-called today's diff status.]
 b/stim/dat/BPSK_1of2            |   80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iCLK | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iDIN0 | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iDIN1 | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iDIN2 | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iDIN3 | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iDIN4 | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iDIN5 | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iMODE | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iRDEN | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iRDSTART | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iWDEN | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.iWDSTART | 80 +++++++++++++++++++++
b/stim/dat/BPSK_1of2.ixRST | 80 +++++++++++++++++++++
b/stim/src/nxg.c | 85 ++++++++++++++++++++++
b/stim/stimgen.sh | 50 +++++++++++++
stim/Makefile.gcc | 18 +++-
stim/include/dpnc_internal.h | 4 +
stim/include/dpnc_process.h | 2
stim/ref/Makefile.BENCH_DL_MOD | 22 ++---
stim/ref/Makefile.BENCH_XSW_MOD | 24 +++---
stim/src/conv_func.c | 31 +++++---
stim/src/dpnc_expect.c | 149 +++++++++++++++++++++-------------------
stim/src/dpnc_internal.c | 13 +++
stim/src/dpnc_io.c | 6 -
stim/src/dpnc_process.c | 5 +
26 files changed, 1419 insertions(+), 110 deletions(-)

2006/06/28

Stuffed over 1k SLOC, the e-mail

今日のdiffstatは1k SLOC越え. :P
未だ未だ修行あるのみ.
[Today's my diffstat shows was stuffed over 1k SLOC. :P
And, yeah, all I can do is train & train.]
 b/stim/include/dpnc_expect.h |    8 
b/stim/include/dpnc_io.h | 18 +
b/stim/src/dpnc_expect.c | 220 ++++++++++++++++++++
b/stim/src/dpnc_io.c | 171 +++++++++++++++
stim/Makefile.gcc | 28 +-
stim/include/dpnc_internal.h | 121 ++++++++---
stim/include/dpnc_process.h | 125 +++++++++++
stim/include/ram_internal.h | 26 --
stim/src/dpnc_internal.c | 194 +++++++++++++----
stim/src/dpnc_process.c | 468 +++++++++++++++++++++++++++----------------
stim/src/ram_internal.c | 12 -
11 files changed, 1108 insertions(+), 283 deletions(-)
で,あのメールが来た.
こちらは何となく秘密にしておこうっと. :P
[The e-mail has been received.
Well, that is on the QT, but there is no reason why, though. :P]

2006/06/26

CJK_Ugh*3, br0ken man.conf, today's diffstat

CJKのbugsに手を出してヘマをやらかした... :(
FEPと変換エンジンの違いを忘れているとかダメダメだな,コレは.
[I misdirected WRT the CJK bugs... :(
Well, forgot the difference of FEPs and conversion engines, so awkward.]

更に,sys-apps/man-1.6dのアップデートで/etc/man.confが壊れて,
一時的にapp-i18n/man-pages-jaが読めなくなってハマった. :(
すぐ直ったけど,そもそもsys-apps/groffの設定ファイルが
sys-apps/manで上書きされるのはどうなのだろう?
忘れないうちにbugzillaに貼っとくかな...
[Ah, worse thig,
I had broken my /etc/man.conf by updating sys-apps/man-1.6d.
So, it had been temporarily unable to read app-i18n/man-pages-ja.
Of cource, it had been fixed, immediately.
But, yeah, why man.conf has sys-apps/groff's configuration,
even it's included in sys-apps/man, though?
Hmm, should it post that groff's bug info...]

弄くっていたVHDLマクロのレポジトリのdiffstatも大した事無いし,
うーん,何か調子悪いのか? :(
[And other worse thing,
today's diffstat of my VHDL repos is not so good.
Umm, in bad shape?]

否々,修行あるのみ! :P
[NO, of cource NO.
the answer is doing! :P]

2006/06/22

Fix app-dicts/kasumi-2.0, some events are

昼休みにbugs.gentoo.orgで遊んでた.
Bug 137540
あのjakub(敬称略)とflameeys(敬称略)のコンボで瞬殺death. :P
[I poked bugs.gentoo.org at lunch.
Bug 137540
Well, jakub and flameeys squashed it like ram's attacking, so fast. :P]

で,某所でアレなイベントを知る.
CodeFest Akihabara 2006
Japan Regional Technical Jamboree #9 - July 13th, 2006
[These event smell kinda nerd's flavor.
CodeFest Akihabara 2006
Japan Regional Technical Jamboree #9 - July 13th, 2006]

2006/06/20

version bump, yield CPU_Board

取り敢えず,自前のebuildは先っぽを突っ走らないとね. :P
ヴァージョンアップ.
[K, my ebuilds should ready to rice, AT ANY GIVEN TIME. :P]

games-engines/onscripter-20060618
つい最近騒いでいたstrict aliasing関係の(潜在的)バグを
潰してもらってたりする.
[Squashed the bug which was mentioned a while ago.]

x11-wm/wmii-3.1
こちらもbug fixなリリース.
実は未だstrict aliasingとuninitializationな警告が出たりするので,
ムニャらねば.
[This is a big fix release.
It has some warning which mention strict aliasing and uninitialization.
So, should fix.]

で,
お昼までニコニコで期待値生成のプログラムをコーディングしていたら,
午後は例のボードを追加生産する為の荷造りを言い渡された.
うーん,疲れたー. :(
[BTW,
I've enjoyed my stupid coding to expect collation,
my boss tell me what to packing the parts for re-production the board.
Well, I have bit of stiff shoulder. :(]

2006/06/14

Fixed some ebuilds, where is ppc Mac mini?

今日はHDL guruなボスが午前中出張だったので,
仕事をやりつつ,隙を見てebuildを弄った. :P
以下,ChangeLogっぽいモノ.
[Today, my HDL guru had official trip till noon.
So, it was the time to poke my ebuilds. :P
Kinda like ChangeLog is on the below.]

sys-power/yacpi
中止,試しに野良コンパイルしてから
PowerBookではACPIが動かない事を知る. :<
仕方無いので/sysからバッテリ残量を計算するスクリプトを
~/.wmii-3/wmiircに仕込んだ.
[Boo, I've poke it, but my PB couldn't handle ACPI. :<
Instead, I've put a script which calculate battery status from
/sys into ~/.wmii-3/wmiirc.]

net-irc/ii
すぐ出来た.適当にムニャったらnet-irc/xchatをemerge -Cする予定.
[Made. After tasting it, I'll do emerge -C net-irc/xchat.]

sci-electronics/tkgate
未だ,Tcl/Tkは分かってないので後回し.
[Later. Because of I'm not familliar with Tcl/Tk stuffs.]

x11-terms/sdl-terminal
media-libs/sdl-terminalから適当にコピーして作ってみたけど,
ライブラリ以外は単なるデモでしかないので,中止.
[Copied from media-libs/sdl-terminal and somethig edited.
But it has only demo except its libs.]

?/xynth
野良コンパイルしてみたけど,portされたライブラリと一緒に
/optあたりに突っ込んで,LD_LIBRARY_PATHを弄くる/etc/env.d
以下のファイルも作らなきゃならんみたい.なので後回し.
[Compiled, but it's mandatory to install some ported libs into /opt or so on,
and then, its runtime required LD_LIBRARY_PATH tweaking as a /etc/env.d
stuff. Later.]

media-libs/libmad
CLAGSのsanitizing,sigend/unsignedの修正,
ALSAの為のconfigureオプションの追加,
inherit flag-o-maticでreplace-flagsまで使ってやっと直った. :)
[Sanitizing CFLAGS, fix signed/unsigned warnigns,
added configure option for ALSA,
using replace-flags which is in flag-o-matic.eclass.
Finally, it seems fixed for me. :)]

media-libs/sdl-mixer
本家のeffect-positionパッチを追加,直ったかどうかは未確認.
repomanにパッチがデカ過ぎると怒られるので,
${FILESDIR}に入れたままgzipして誤摩化した. :P
[Added contributed effect-opsition patch,
but didn't care whether it's really fixed.
repoman saz that it's too large patch,
so faked it by gziped in ${FILESDIR}. :P]

x11-libs/fltk
2.0.xはリリースされていないみたい,最新のsnapshotを使ってみたが,
まだmakeが通らないので後回し.
コイツがemerge出来無いとwww-client/dilloの
x11-libs/gtk+-1.*依存から脱却出来無い... :(
[2.0.x haven't been released yet. Tested most recently snapshot,
but its make process keep choking.
If that versions libs are not available,
www-client/dillo depends on x11-libs/gtk-1.*... :(]

media-gfx/fondu
20060102にversion bump.
[Version bump too 20060102.]

ppc版のMac miniが欲しい.
web上で探しても在庫が無さ気.
会社の据え置きGentooマシンとお家のhardened uclibcサーバに二台.
どっかにないかな? :P
[BTW, I want *ppc* Mac mini.
I've search its stocks on the web, it shows no/few stock.
I'd like to setup it as office gentoo box and my home hardened uclibc server.
Well, where is ppc Mac mini? :P]

2006/06/13

158MHz, my ebuilds' dev progress

例のBRマクロは動作周波数158MHzで動くっぽい.
で,今度のヤツは128MHzで動かせと.
何だか無茶苦茶ややこしいブツみたいだけど,大丈夫かな... :(
パンクチャド,デパンクチャド! :P
[The BR macro may works with ~158MHz synchrnous CLK.
Well, the next macro should work ~128MHz synchnous CLK.
But, it seems a bit complex func enough to be mess, though. :(
Punctured, De-punctured! :P]

以下,Gentooな作業メモ.
[These are my ebuilds' dev progress.]

作成予定ebuild.
[These ebuilds will be make.]
sys-power/yacpi
net-irc/ii
sci-electronics/tkgate
x11-terms/sdl-terminal
?/xynth

修正予定ebuild.
[These ebuilds should be fix.]
media-libs/libmad
media-libs/sdl-mixer
x11-libs/fltk
media-gfx/fondu

2006/06/12

BR, 500xFasterThanOldOneLOL!

OJTな感じで切り分けてもらったBRと呼ばれるVHDLマクロのコーデングに
一週間もかかっていたが,どうにか終わったっぽい気配.
後はイイ感じにModelSimでシミュレーション結果を残して,
サーバに突っ込むだけ.
入社二ヶ月で内部レイテンシー67CLKsのVHDLマクロを書かせるとは,
流石に現場はスパルタで一味違うなー. :)
[On job training, I've done almost process of coding the BR macro.
Well, it took 1 week or so on due to my little coding skill, though.
I'll do simulate it w/ ModelSim or so on, then stuff it into the server.
So, I'm a newbie who have been working for 2 mounth or so on,
but I've coded the macro which has 67CLKs as internal latencies.
It smells spicy for me. :)]

次はコイツの一部かな...メモメモ...
Viterbi algorithm
おー,サンプルがPythonで書いてあるよ. :D
[Hmm, next macro is a part of it...?
Viterbi algorithm
Coo, that samples are written in python. :D]

で,以前,Pythonで作っていたコードジェネレータ.
試験用のデータを云万行単位で入力されて,
「シミュレーションよりコード生成の方が遅ぇ...」
とかボロクソ言われていた.
悔しいので休みの間にプロファイルして午前中に改良を施したら,
何か500倍くらい早くなった. :DDD
[BTW, I had coded a code-gen which is written in Python.
Someone pokes it w/ a ton of test data, then he said...
"ThatCodeGenTakesMoreTimeThanSimulateItSucks!"
So, I've profiled it at last weekend, and poke it.
YayThatCodeGenHasBeenImproved500xFasterThanOldOneLOL! :DDD]

「それがPythonの本当の姿」 (c) cpw
教訓一:コードの再利用は時と場合を選んで.
教訓二:数値以外との算術演算子の多用はフラグメンテーションの元かも?
["That is truth of the python." (c) cpw
L1: Code reuse depends on the situation.
L2: Ton of aritmetic oprs with non numeric vars lead to mem-frangmentation?]

2006/06/08

gated clock, register RAM

修行の成果(?)として,BK in VHDLでもやってみる.
[Here is my BK in VHDL.]

以下のプロセスpFOOとpBARは根本的に別モノである.
[The process of pFOO and pBAR are totally different.]

pFOO : process (ixRST, iCLK)
begin
if (ixRST = '0') then
-- RESET IT!
:
:
elsif (iCLK'event and iCLK = '1') then
if (ixEN = '0') then
-- DO IT!
:
:
end if;
end if;
end process;
----------------------------------------------
pBAR : process (ixRST, iCLK)
begin
if (ixRST = '0') then
-- RESET IT!
:
:
elsif (iCLK'event and iCLK = '1' and ixEN = '0') then
-- DO IT!
:
:
end if;
end process;

以下の記述の違いで,
インプリするデバイスによってはハマる可能性がある.
[You may choke by difference of between FOO and BAR
when it was implement into specific HW.]

archtecture RTL of FOO is
subtype tADDR is std_logic_vector(AL-1 downto 0);
subtype tWORD is std_logic_vector(WL-1 downto 0);
:
:
type tMEMORY is array(0 to 2**AL-1) of tWARD;
:
:
signal rRA : tADDR;
signal rINIT_RD : std_logic;
signal aRAM : tMEMORY;
begin
pRAM_RD : process (iCLK)
begin
if (iCLK'event and iCLK = '1') then
rINIT_RD <= iINIT_RD;
rRA <= iRA;
if (rINIT_RD = '1') then
oDOUT_RD <= (others => '0');
else
oDOUT_RD <= aRAM(conv_integer(rRA));
end if;
end if;
end process;
:
:
pRAM_WR : process (iCLK)
begin
if (iCLK'event and iCLK = '1') then
if (iWE = '1') then
aRAM(conv_integer(iWA)) <= iDIN_WR;
end if;
end if;
end process;
end RTL;
----------------------------------------------
archtecture RTL of BAR is
subtype tADDR is std_logic_vector(AL-1 downto 0);
subtype tWORD is std_logic_vector(WL-1 downto 0);
:
:
type tMEMORY is array(0 to 2**AL-1) of tWARD;
:
:
signal aRAM : tMEMORY;
begin
pRAM_RD : process (iCLK)
begin
if (iCLK'event and iCLK = '1') then
if (iINIT_RD = '1') then
oDOUT_RD <= (others => '0');
else
oDOUT_RD <= aRAM(conv_integer(iRA));
end if;
end if;
end process;
:
:
pRAM_WR : process (iCLK)
begin
if (iCLK'event and iCLK = '1') then
if (iWE = '1') then
aRAM(conv_integer(iWA)) <= iDIN_WR;
end if;
end if;
end process;
end RTL;

違いの分かる漢のVHDL,か? :P
[Hey, any of you guy of VHDL got it? :P]

2006/06/05

strict aliasing traps, mercurial++

make.conf.exampleが付けておけと言うので気になったから,
#gentoo-ppcで-fno-strict-aliasingを使っているかと訊いてみた.
-O2, -O3だと自動的に効いて仕舞うので,
今までは-fno-strict-aliasingを後方に付けていたのだが,
無くても殆ど問題無いと言う情報を入手.
さっそく,Rice開始! :9
[make.conf.example saz to use -fno-strict-aliasing
if you wanto to use -O2 or -O3.
So, I've asked why that flags are recommended.
Peaple answered to me that has no/little problem.
Gotcha, it's the time to Rice! :9]

...で,ちょっと壊れたみたい. :P
特にC++なアプリやmedia-*以下のマルチメディアなライブラリで
激しくcastをしているブツは要注意.
[...Well, some packages seems have a bit of breakages. :P
Especially, several fscking C++ apps or multimedia oriented libs under meda-*
categories which uses ton of incredible cast.]

教訓その一:Gentoo is Rice.
教訓その二:-O3 -Werrorでコンパイル,patchで対処.
教訓その四:それでもダメなら,inherit flag-o-maticで*-flagsを使う.
[L1: Gentoo is Rice.
L2: Try to compile with -O3 -Werror, then do patch.
L3: If it has no clue, try to *-flags by inherit flag-o-matic.]

で,mercurialが便利過ぎて,
或るVHDLマクロの為にでっちあげた
ローカルなレポジトリに土日なのに20回以上commitしてた.
我ながら,ちょっと馬鹿じゃね? :P
[BTW, mercurial is so cool.
That make me cann't stop to commit to local VHDL macro repos over 20 times.
It was weekend even though.
It amazed even me. :P]