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