Build a DOS machine with FPGA.
Move "next186" on the board cut by CNC.
Even if the software is existing and reliable, there is no guarantee that the hardware will work, so take the following steps.
Step-1 Connect memory, IO, etc. to a commercially available FPGA (xc6lx9) board, move it with CP / M, and check the hardware operation.
* Even with CP / M, the main memory is not static but DRAM.
However, since burst access is not performed, defect verification is easy.
Step-2 Operate as a DOS system on the above hardware.
* Actually, the memory (DRAM) did not work properly, and I stepped on here for several months. How it works.
Step-3 Create a printed circuit board with CNC, first verify the operation of the hardware with CP / M, and then operate the DOS system.
Describe the hardware / software to be used for reference.
[lx9-Step-1-io] Expansion platform used in Steps 1 and 2. It is operated by piercing a commercially available board (XC6SLX9 Mini Board).
[MAIN-BOARD] Motherboard with FPGA and DRAM.
[PMOD-IO] A board that connects the SD card and keyboard. Stick in MAIN-BOARD.
[PMOD-VGA6] VGA display output. Stick in MAIN-BOARD.
[lx9-Step1-CPM80] Circuit for operating CP / M (verilog)
[lx9-Next186_SoC] Circuit for operating DOS (verilog)
「[SD2G_Dos_F.zip] free MS-DOS SD-image
For details, see "Qiita".
Part 2: I will run DOS using the CYC1000 board (cut-out edition)
#Move on breadboard
Just stab the CYC1000 into the breadboard and stab the IO in the same way. Only this.
IO is a board, but there is no problem with wiring on the board.
The wiring is the same as "[Board] ", so please refer to that.
#Move with a compact board.
A compact board with breadboard wiring cut by CNC. That's all.
[Board made with eagle] max1000_eagle
#soft
The breadboard and board are the same software.
However, I just changed the pin layout of next186.
[Software to write to FPGA] max1000_Next186_SoC
[Boot disk image] SD2G_Dos_F.zip
For details, see "Qiita".
DOSマシンをFPGAで作る。
「next186」をCNCで切削した基板上で動かす。
ソフトが既存で信頼できても、ハードが動作する保証は無いので、次のようなステップを踏む。
Step-1 市販FPGA(xc6lx9)基板にメモリ、IO等を繋ぎ、CP/Mで動かしハード動作を確認。
※CP/Mでも、メインメモリはスタティックでは無くDRAMで構成する。
但し、バーストアクセスは行わないので、不具合検証はやり易い。
Step-2 上記ハード上で、DOSシステムとして動作させる。
※実際の所、メモリ(DRAM)が正常に動作せず、ここで数か月足踏みした。しくしく。
Step-3 CNCでプリント基板を作成し、先にCP/Mでハードの動作検証を行い、その後DOSシステムを動作させる。
使用するハード/ソフトを参考まで記載。
[lx9-Step-1-io] Step-1,2で使用する拡張基盤。市販基板(XC6SLX9 Mini Board)に刺して動作させる。
[MAIN-BOARD] FPGAとDRAMを乗せた基盤。
[PMOD-IO] SDカードとキーボードを繋ぐ基板。MAIN-BOARDに刺す。
[PMOD-VGA6] VGAディスプレイ出力。MAIN-BOARDに刺す。
[lx9-Step1-CPM80] CP/Mを動作させる為の回路(verilog)
[lx9-Next186_SoC] DOSを動作させるための回路(verilog)
「SD2G_Dos_F.zip free MS-DOS SDイメージ
詳細は 「Qiita」を見てください。
その2:CYC1000ボードを使ってDOSを動かすぞ(手抜き編)
#ブレッドボード上で動かす
CYC1000をブレッドボードに刺し、同様にIOを刺すだけ。これだけです。
IOは基板にしたが、ボード上で配線でもなんら問題ない。
配線は「基板」と同じなので、そちらを参照してね。
#コンパクトな基板で動かす。
ブレッドボードの配線を、CNCで切削したコンパクトな基板。それだけです。
eagleで作製した基板
#ソフト
ブレッドボード、基板共に同一ソフトです。
と言っても、next186のピン配置を変えただけですが。
FPGAに書き込むソフト
ブートディスクのイメージ
詳細は 「Qiita」を見てください。