I've generated a BlockRAM based CAM core, 32bit x 64entries. The core occupies several 36k BRAMs, and was VERY SLOW WITHOUT OUTPUT REGISTERS.
Read latency = 1 configuration (w/o output registers) was < 100MHz, but read latency = 2 configuration works 150+MHz.
Recently in でんき Category
It's important to know the RCB, read completion boundary to decode the completion TLPs for read request.
The RCB configuration is written in the Link Control Register, bit 3. The bit is 1'b0 if the RCB of root complex is 64 bytes, and 1'b1 for 128 bytes.
FYI, the bit appears on cfg_lcommand[3] on Xilinx's Endpoint Block Plus.
土曜の夕方からずっと胃腸炎で寝込んでいたわけですが、その間にも夢に PCI Express の transaction layer interface (Xilinx のやつ) の波形が出てきたりして、だいぶそっち方面でも病的だった。
昨日は死んだように眠っていたので、ほとんど何もしなかったんだけど、今日は布団の中で上半身起こして、わりとごりごりやって、RTL の波形ではかなりいい感じになった。少なくとも、Handshake はちゃんとできている感じ。
あとは、ヘッダをちゃんと作るとか、上位のモジュールとやりとりするための信号をいくつか作り込めばあとは、いま動いている PIO なインタフェイスとくっつける作業かな..
/* -----\/----- EXCLUDED -----\/-----
#(2*STEP)
trn_tdst_rdy_n <= 1;
#(1*STEP)
trn_tdst_rdy_n <= 0;
-----/\----- EXCLUDED -----/\----- */
While I'm writing a DMAC on my Virtex-5 PCIe card, I've found that the "MAX_PAYLOAD_SIZE" register has only 3 bits, while the size will be between 128 and 4096. And here's the answer:
3'b000 128B
3'b001 256B
3'b010 512B
3'b011 1024B
3'b100 2048B
3'b101 4096B
3'b110 Reserved
3'b111 Reserved
(from Xilinx application note XAPP1052 documentation).
and now I can continue!
授業の関係で、SPARTAN-3AN の評価キットでいろいろ作業中。
とりあえず、以前にも書いた VGA controller を、学生向けに簡単な記述で書き直してみたり。でも、まだなんか微妙に動かない。なんとなく原因はわかっているんだけどね。
Ethernet 動かせるかなー、とか考えていたら、FPGA 始めましたというページを発見。すごいなこの人...
昨日と今日の奮闘により、ちゃんと双方向通信ができるようになり、ホストからキーボードにコマンドを送れるようになった。つまり、Caps Lock とかの LED を操作したり、パリティエラーを検出した場合の再送要求ができたり、ということだ。
めでたい。
そういうわけで、なんだかすごくはまって1週間くらいかかりましたが、無事に PS/2 キーボードから入力がとれるようになりました。わほーい。
なんか、原因はよくわかりませんが、どうやら俺の書き方が XST のお気に召さなくて、FSM の合成がうまくできなかった模様で、state の持たせ方を変えたら直ったよ。ごく普通の one-hot state register だったんだけどなぁ...
どうも、Design Wave Magazine が休刊になる、という話だ。
青春だったのになあ。
中学生の頃、Design Wave というのはまだトラ技の別冊付録で、「FPGA とか CPLD っていうのはすごいデバイスだ! 74LS とかいらなくなるのかね?」とか、「回路書くのに HDL というのがあるのかー、すげーなー!! (でも CAD もそれを動かすためのコンピュータも高いよなあ)」とか、読みながらそんなことを考えてたわけです。
で、大学で研究室に入って、(まさかそんなことになるとは思っていなかったのだが) 自分が FPGA ボードとかを作るようになるころには月刊化されており、けっこう買っていて、とても勉強になった。博士を出てからは今年の夏までずっと生物系の研究室にいたので、しばらく買ってなかったが。
思えば月刊化されてからいままで、というのはプログラマブル・デバイスが急激に普及したり、高位言語からの合成が実用化され始めたり、いろいろな転換期だったような気がする。
売れないから休刊、というよりは、ひとつの時代と役目がおわったのかな。
ありがとうございました。

