summaryrefslogtreecommitdiffstats
path: root/test_rrobin_problem/simulation
diff options
context:
space:
mode:
Diffstat (limited to 'test_rrobin_problem/simulation')
-rw-r--r--test_rrobin_problem/simulation/Makefile42
-rw-r--r--test_rrobin_problem/simulation/run.do69
-rw-r--r--test_rrobin_problem/simulation/vhdl_files.txt68
-rw-r--r--test_rrobin_problem/simulation/wave.do27
4 files changed, 206 insertions, 0 deletions
diff --git a/test_rrobin_problem/simulation/Makefile b/test_rrobin_problem/simulation/Makefile
new file mode 100644
index 0000000..30ce796
--- /dev/null
+++ b/test_rrobin_problem/simulation/Makefile
@@ -0,0 +1,42 @@
+#
+# $HeadURL: https://svn.fzd.de/repo/concast/FWF_Projects/FWKE/beam_position_monitor/hardware/board_sp605/simulation/Makefile $
+# $Date: 2011-09-09 14:11:20 +0200 (Fr, 09. Sep 2011) $
+# $Author: lange $
+# $Revision: 1246 $
+#
+
+library = test_rrobin
+top = top_tb
+
+library_list = $(shell cut --field 1 --delimiter=" " --only-delimited vhdl_files.txt | uniq)
+
+# http://sourceforge.net/projects/vmk/
+VMK = vmk
+
+compile: Makefile.msim
+ make --directory ../software | ccze -A
+ export ANAFLAGS="-quiet -2008"; \
+ make -f Makefile.msim | ccze -A
+
+
+simulate:
+ export top=$(top); \
+ vsim -quiet -gui $(library).$(top) -do run.do -l transcript.log
+
+
+clean:
+ @# modelsim stuff
+ rm -f transcript.log
+ rm -f *.wlf
+ rm -f wlf*
+ @# vmk stuff
+ make -f Makefile.msim clean
+ rm -f Makefile.msim
+ for lib in $(library_list); do rm -rf $$lib; done
+
+
+# generate Makefile.msim with vmk
+Makefile.msim: vhdl_files.txt
+ for lib in $(library_list); do vlib $$lib; done
+ $(VMK) -t modelsim -O -w $(library) -F vhdl_files.txt
+
diff --git a/test_rrobin_problem/simulation/run.do b/test_rrobin_problem/simulation/run.do
new file mode 100644
index 0000000..01270bb
--- /dev/null
+++ b/test_rrobin_problem/simulation/run.do
@@ -0,0 +1,69 @@
+
+#
+# helper functions
+#
+
+
+# neues Spiel, neues Glueck
+proc nsng {} {
+
+ restart -f
+ set StdArithNoWarnings 1
+ set NumericStdNoWarnings 1
+
+ when -label enable_Warn {reset == '0'} {echo "Enable Warnings" ; set StdArithNoWarnings 0 ; set NumericStdNoWarnings 0 ;}
+
+ run -all
+}
+
+
+proc r {} {
+ restart -f
+ run -all
+}
+
+
+# restart with clear
+proc rc {} {
+ .main clear
+ r
+}
+
+
+
+proc my_debug {} {
+ global env
+ foreach key [array names env] {
+ puts "$key=$env($key)"
+ }
+}
+
+
+proc e {} {
+ exit -force
+}
+
+proc x {} {
+ exit -force
+}
+
+
+
+
+# get env variables
+global env
+quietly set top $env(top)
+
+
+if {[file exists wave_$top.do]} {
+ do wave_$top.do
+} else {
+ if {[file exists wave.do]} {
+ do wave.do
+ } else {
+ puts "INFO: no wave file found."
+ }
+}
+
+
+run -all
diff --git a/test_rrobin_problem/simulation/vhdl_files.txt b/test_rrobin_problem/simulation/vhdl_files.txt
new file mode 100644
index 0000000..a4fba31
--- /dev/null
+++ b/test_rrobin_problem/simulation/vhdl_files.txt
@@ -0,0 +1,68 @@
+test_rrobin ../rtl/led_control_ahb.vhd
+test_rrobin ../rtl/box.vhd
+test_rrobin ../rtl/top.vhd
+test_rrobin ../rtl_tb/top_tb.vhd
+grlib ../../grlib/rtl/ahbctrl.vhd
+grlib ../../grlib/rtl/amba.vhd
+grlib ../../grlib/rtl/apbctrl.vhd
+grlib ../../grlib/rtl/devices.vhd
+grlib ../../grlib/rtl/report_version.vhd
+grlib ../../grlib/rtl/stdlib.vhd
+grlib ../../grlib/rtl/version.vhd
+techmap ../../techmap/rtl/generic_syncram.vhd
+techmap ../../techmap/rtl/gencomp.vhd
+techmap ../../techmap/rtl/allmem.vhd
+techmap ../../techmap/rtl/syncram_2p.vhd
+techmap ../../techmap/rtl/syncram_dp.vhd
+techmap ../../techmap/rtl/memory_unisim.vhd
+gaisler ../../gaisler/rtl/ahbdpram.vhd
+gaisler ../../gaisler/rtl/ahbmst.vhd
+gaisler ../../gaisler/rtl/ahbram.vhd
+gaisler ../../gaisler/rtl/ahbrom.vhd
+gaisler ../../gaisler/rtl/ahbstat.vhd
+gaisler ../../gaisler/rtl/ahbuart.vhd
+gaisler ../../gaisler/rtl/apbuart.vhd
+gaisler ../../gaisler/rtl/apbvga.vhd
+gaisler ../../gaisler/rtl/charrom.vhd
+gaisler ../../gaisler/rtl/charrom_package.vhd
+gaisler ../../gaisler/rtl/dcom.vhd
+gaisler ../../gaisler/rtl/dcom_uart.vhd
+gaisler ../../gaisler/rtl/ddr_phy.vhd
+gaisler ../../gaisler/rtl/ddrsp16a.vhd
+gaisler ../../gaisler/rtl/ddrspa.vhd
+gaisler ../../gaisler/rtl/eth_ahb_mst.vhd
+gaisler ../../gaisler/rtl/eth_rstgen.vhd
+gaisler ../../gaisler/rtl/ethcomp.vhd
+gaisler ../../gaisler/rtl/ethernet_mac.vhd
+gaisler ../../gaisler/rtl/gptimer.vhd
+gaisler ../../gaisler/rtl/greth.vhd
+gaisler ../../gaisler/rtl/greth_rx.vhd
+gaisler ../../gaisler/rtl/greth_tx.vhd
+gaisler ../../gaisler/rtl/grethc.vhd
+gaisler ../../gaisler/rtl/grethpkg.vhd
+gaisler ../../gaisler/rtl/grgpio.vhd
+gaisler ../../gaisler/rtl/i2cmst.vhd
+gaisler ../../gaisler/rtl/irqmp.vhd
+gaisler ../../gaisler/rtl/leon3.vhd
+gaisler ../../gaisler/rtl/libdcom.vhd
+gaisler ../../gaisler/rtl/mctrl.vhd
+gaisler ../../gaisler/rtl/memctrl.vhd
+gaisler ../../gaisler/rtl/memoryctrl.vhd
+gaisler ../../gaisler/rtl/misc.vhd
+gaisler ../../gaisler/rtl/net.vhd
+gaisler ../../gaisler/rtl/spimctrl.vhd
+gaisler ../../gaisler/rtl/spictrl.vhd
+gaisler ../../gaisler/rtl/uart.vhd
+opencores ../../opencores/rtl/i2c_master_bit_ctrl.vhd
+opencores ../../opencores/rtl/i2c_master_byte_ctrl.vhd
+opencores ../../opencores/rtl/i2coc.vhd
+opencores ../../opencores/rtl/8b10_enc.vhd
+opencores ../../opencores/rtl/8b10_dec.vhd
+tools ../../tools/rtl/edge_detect_synchronizer.vhd
+tools ../../tools/rtl/level_synchronizer.vhd
+tools ../../tools/rtl/synchronizer_package.vhd
+tools ../../tools/rtl_tb/fio_pck_body.vhd
+tools ../../tools/rtl_tb/fio_pkg.vhd
+tools ../../tools/rtl_tb/image_pkg.vhd
+hzdr ../../hzdr/rtl/component_package.vhd
+hzdr ../../hzdr/rtl/debug_con_apb.vhd
diff --git a/test_rrobin_problem/simulation/wave.do b/test_rrobin_problem/simulation/wave.do
new file mode 100644
index 0000000..7ba2647
--- /dev/null
+++ b/test_rrobin_problem/simulation/wave.do
@@ -0,0 +1,27 @@
+onerror {resume}
+quietly WaveActivateNextPane {} 0
+add wave -noupdate /top_tb/top_i0/box_i0/clk
+add wave -noupdate /top_tb/top_i0/box_i0/ahbctrl_i0/msto(0).hbusreq
+add wave -noupdate /top_tb/top_i0/box_i0/ahbctrl_i0/msto(1).hbusreq
+add wave -noupdate -divider ahbctrl
+add wave -noupdate -expand /top_tb/top_i0/box_i0/ahbctrl_i0/msti.hgrant
+add wave -noupdate /top_tb/top_i0/box_i0/ahbctrl_i0/msti.hready
+add wave -noupdate -divider gpio
+add wave -noupdate -expand /top_tb/top_i0/gpio_led
+TreeUpdate [SetDefaultTree]
+WaveRestoreCursors {{Cursor 1} {64180831 ps} 0}
+configure wave -namecolwidth 150
+configure wave -valuecolwidth 100
+configure wave -justifyvalue left
+configure wave -signalnamewidth 1
+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
+configure wave -timelineunits ns
+update
+WaveRestoreZoom {0 ps} {1840927 ps}
OpenPOWER on IntegriCloud