SDRAMメモ
CPU実験のレイトレ(See DockerでMinCamlの例のレイトレを動かす)はバイナリサイズだけで600KBくらいになりそうで(x86のバイナリサイズがこのくらい)、Artix-7クラスのFPGAボードのもつブロックRAM(100KB〜500KB)だけで動かすのは難しそう(※1)。なのでSDRAMの使い方を覚える必要がありそう。 MinCamlの実行時に「1MB」のスタック領域と「4MB」のヒープ領域を確保している。最低限でもこれくらいのメモリの確保が必要だとすると、ブロックRAMだけでは領域不足なのは確実。SDRAMは必須っぽい。
code:min-caml/stub.c
9 int main( int argc, char *argv[] ) {
10 char *hp, *sp;
11
12 sp = alloca(1000000); hp = malloc(4000000);
13 if (hp == NULL || sp == NULL) {
14 fprintf(stderr, "malloc or alloca failed\n");
15 return 1;
16 }
以下SDRAMに関する雑多なメモ。
Zucker SOCのSDRAMコントローラを使えば自作CPU上でULX3SのSDRAMを利用できそう SDRAMをメインメモリとするMIPS-CPUのFPGA化
先端コンピュータアーキテクチャ
(第3回 記憶階層がメモリコントローラに関係ありそうな)
LiteDRAM
TANG PriMER搭載のSDRAMを使ってみる
DDR3_SDRAMにおけるコマンドとオペレーション
DRAMに関するメモ
エルピーダ SDRAMの使い方
MAX10でSDRAMを制御
ハードウェア実験 第8回 AXI-SDRAM
AXI BlockRAM Controller
SDRAM付きのボードを用意するまではブロックRAMで練習すれば良いかな
vivadoでaxiバスを利用
Design and implementation of SDRAM Controller
SDRAM controller user guide