From 23184f39dd7fee01f79564182b2dbcc96517e361 Mon Sep 17 00:00:00 2001 From: Carlos Camargo Date: Mon, 10 May 2010 15:09:13 -0500 Subject: [PATCH] Adding modelsim simulation files --- plasma/logic/simulation/glbl.v | 58 ++++++++++++++++++++++++++++ plasma/logic/simulation/plasma_TB.do | 28 ++++++++++++++ plasma/logic/simulation/wave.do | 36 +++++++++++++++++ plasma/logic/simulation/wave1.do | 28 ++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 plasma/logic/simulation/glbl.v create mode 100644 plasma/logic/simulation/plasma_TB.do create mode 100644 plasma/logic/simulation/wave.do create mode 100644 plasma/logic/simulation/wave1.do diff --git a/plasma/logic/simulation/glbl.v b/plasma/logic/simulation/glbl.v new file mode 100644 index 0000000..c9280c6 --- /dev/null +++ b/plasma/logic/simulation/glbl.v @@ -0,0 +1,58 @@ +// $Header: /devl/xcs/repo/env/Databases/CAEInterfaces/verunilibs/data/glbl.v,v 1.11.156.1 2007/03/09 18:12:55 patrickp Exp $ + +`timescale 1 ps / 1 ps + +module glbl (); + + parameter ROC_WIDTH = 100000; + parameter TOC_WIDTH = 0; + + wire GSR; + wire GTS; + wire PRLD; + + reg GSR_int; + reg GTS_int; + reg PRLD_int; + +//-------- JTAG Globals -------------- + wire JTAG_TDO_GLBL; + wire JTAG_TCK_GLBL; + wire JTAG_TDI_GLBL; + wire JTAG_TMS_GLBL; + wire JTAG_TRST_GLBL; + + reg JTAG_CAPTURE_GLBL; + reg JTAG_RESET_GLBL; + reg JTAG_SHIFT_GLBL; + reg JTAG_UPDATE_GLBL; + + reg JTAG_SEL1_GLBL = 0; + reg JTAG_SEL2_GLBL = 0 ; + reg JTAG_SEL3_GLBL = 0; + reg JTAG_SEL4_GLBL = 0; + + reg JTAG_USER_TDO1_GLBL = 1'bz; + reg JTAG_USER_TDO2_GLBL = 1'bz; + reg JTAG_USER_TDO3_GLBL = 1'bz; + reg JTAG_USER_TDO4_GLBL = 1'bz; + + assign (weak1, weak0) GSR = GSR_int; + assign (weak1, weak0) GTS = GTS_int; + assign (weak1, weak0) PRLD = PRLD_int; + + initial begin + GSR_int = 1'b1; + PRLD_int = 1'b1; + #(ROC_WIDTH) + GSR_int = 1'b0; + PRLD_int = 1'b0; + end + + initial begin + GTS_int = 1'b1; + #(TOC_WIDTH) + GTS_int = 1'b0; + end + +endmodule diff --git a/plasma/logic/simulation/plasma_TB.do b/plasma/logic/simulation/plasma_TB.do new file mode 100644 index 0000000..a16dcaf --- /dev/null +++ b/plasma/logic/simulation/plasma_TB.do @@ -0,0 +1,28 @@ +vlib work +vmap work +vcom -93 -work work ../mlite_pack.vhd +vcom -93 -work work ../plasma.vhd +vcom -93 -work work ../alu.vhd +vcom -93 -work work ../control.vhd +vcom -93 -work work ../mem_ctrl.vhd +vcom -93 -work work ../mult.vhd +vcom -93 -work work ../shifter.vhd +vcom -93 -work work ../bus_mux.vhd +vcom -93 -work work ../ddr_ctrl.vhd +vcom -93 -work work ../mlite_cpu.vhd +vcom -93 -work work ../pc_next.vhd +vcom -93 -work work ../cache.vhd +vcom -93 -work work ../pipeline.vhd +vcom -93 -work work ../reg_bank.vhd +vcom -93 -work work ../uart.vhd +vcom -93 -work work ../ram_image.vhd +vcom -93 -work work ../plasma_TB.vhd + +vsim -t 1ps tbench +view wave +#add wave * +do wave.do + +view structure +view signals +run 1ms diff --git a/plasma/logic/simulation/wave.do b/plasma/logic/simulation/wave.do new file mode 100644 index 0000000..68be45e --- /dev/null +++ b/plasma/logic/simulation/wave.do @@ -0,0 +1,36 @@ +onerror {resume} +quietly WaveActivateNextPane {} 0 +add wave -noupdate -format Logic /tbench/clk +add wave -noupdate -format Logic /tbench/reset +add wave -noupdate -format Logic /tbench/interrupt +add wave -noupdate -format Logic /tbench/mem_write +add wave -noupdate -format Literal -radix hexadecimal /tbench/data_read +add wave -noupdate -format Logic /tbench/pause1 +add wave -noupdate -format Logic /tbench/pause2 +add wave -noupdate -format Logic /tbench/pause +add wave -noupdate -format Logic /tbench/u1_plasma/enable_misc +add wave -noupdate -format Logic /tbench/u1_plasma/enable_uart +add wave -noupdate -format Logic /tbench/uart_write +add wave -noupdate -format Literal -radix hexadecimal /tbench/u1_plasma/cpu_data_w +add wave -noupdate -format Literal -radix hexadecimal /tbench/u1_plasma/cpu_data_r +add wave -noupdate -format Literal -radix hexadecimal /tbench/u1_plasma/address_next +add wave -noupdate -format Literal /tbench/gpioa_in +add wave -noupdate -format Logic /tbench/u1_plasma/write_enable +add wave -noupdate -format Literal /tbench/u1_plasma/cpu_byte_we +add wave -noupdate -format Literal -expand /tbench/u1_plasma/byte_we_next +TreeUpdate [SetDefaultTree] +WaveRestoreCursors {{Cursor 1} {75144797 ps} 0} +configure wave -namecolwidth 269 +configure wave -valuecolwidth 40 +configure wave -justifyvalue left +configure wave -signalnamewidth 0 +configure wave -snapdistance 10 +configure wave -datasetprefix 0 +configure wave -rowmargin 4 +configure wave -childrowmargin 2 +configure wave -gridoffset 0 +configure wave -gridperiod 1 +configure wave -griddelta 40 +configure wave -timeline 0 +update +WaveRestoreZoom {71704646 ps} {72130128 ps} diff --git a/plasma/logic/simulation/wave1.do b/plasma/logic/simulation/wave1.do new file mode 100644 index 0000000..076d7af --- /dev/null +++ b/plasma/logic/simulation/wave1.do @@ -0,0 +1,28 @@ +onerror {resume} +quietly WaveActivateNextPane {} 0 +add wave -noupdate -format Logic /plasma_TB_v/clk +add wave -noupdate -format Logic /plasma_TB_v/reset +add wave -noupdate -format Literal /plasma_TB_v/data_tx +add wave -noupdate -format Event /plasma_TB_v/reset_trigger +add wave -noupdate -format Event /plasma_TB_v/reset_done_trigger +add wave -noupdate -format Literal /plasma_TB_v/uut/data_read +add wave -noupdate -format Logic /plasma_TB_v/uut/ram_enable +add wave -noupdate -format Literal -radix hexadecimal /plasma_TB_v/uut/cpu_data_w +add wave -noupdate -format Literal -radix hexadecimal /plasma_TB_v/uut/cpu_data_r +add wave -noupdate -format Literal /plasma_TB_v/uut/byte_we_next +TreeUpdate [SetDefaultTree] +WaveRestoreCursors {{Cursor 1} {3952754 ps} 0} +configure wave -namecolwidth 240 +configure wave -valuecolwidth 100 +configure wave -justifyvalue left +configure wave -signalnamewidth 0 +configure wave -snapdistance 10 +configure wave -datasetprefix 0 +configure wave -rowmargin 4 +configure wave -childrowmargin 2 +configure wave -gridoffset 0 +configure wave -gridperiod 1 +configure wave -griddelta 40 +configure wave -timeline 0 +update +WaveRestoreZoom {3946113 ps} {4013617 ps}