SystemVeriogでTD4をAltera DE0 Boardに (その2)
前の記事で、TD4というCPU(!?)をAlteraのDE0に実装しました。今回は、いちおうその時のRTLを使って、ModelSimでSimulationを行なっていました。相変わらずのラーメンタイマです。
CPUの創り方という本は良くできた本なので、基本的なCPUのhardwareの中身が良く分かります。でも、CPUで遊ぶにはやっぱりFirmwareの開発環境が必要です。毎回、had assembleして、MemoryにLoadして、RTLでsimulationするわけにもいかないし。(でも、アメリカの西海岸にある会社と仕事したときには、そこのFirmwareの開発環境はこれに近かったなあ。)
`timescale 1ns/1ns `define SIM module tb_TD4(); wire [9:0] LEDG; reg [3:0] SW; reg CLK, RST; TD4 td4 (.*); initial begin CLK = 0; forever // 1 CYCLE = 20ns # 10 CLK = ~CLK; end initial begin RST = 1; $display("simulation"); # 6 RST = 0; end initial SW = 4'b0000; integer cnt = 0; always @(posedge CLK) cnt <= cnt+1; initial if (cnt > 200_000) $finish; endmodule