OpenCores
URL https://opencores.org/ocsvn/1g_ethernet_dpi/1g_ethernet_dpi/trunk

Subversion Repositories 1g_ethernet_dpi

[/] [1g_ethernet_dpi/] [trunk/] [hw/] [msim/] [start_sim.tcl] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 kuzmi4
#
2
quit -sim
3
 
4
# def names
5
quietly set SCR_PATH "../layout/process/project_n1.ip_user_files/sim_scripts/bd/modelsim"
6
quietly set CPU_FILES [list "microblaze_v9_5_vh_rfs.vhd" "base_microblaze_design_microblaze_0_0.vhd"]
7
quietly set BD_SCR_FILE "compile.do"
8
quietly set BD_SIM_FILE "simulate.do"
9
 
10
# cfg-env
11
quietly set FAST_SIM $::env(FAST_SIM)
12
quietly set LIB_DEV_NAME $::env(LIB_DEV_NAME)
13
quietly set LIB_HOSTB_NAME $::env(LIB_HOSTB_NAME)
14
 
15
# ??
16
proc match_element {llist arg} {
17
        foreach idx $llist {
18
                if {$arg == $idx} {
19
                        return 1
20
                }
21
        }
22
        return 0
23
}
24
 
25
 
26
#
27
# cp+prep compile.do
28
quietly set infile  [open "$SCR_PATH/$BD_SCR_FILE" r]
29
quietly set outfile [open $BD_SCR_FILE w]
30
 
31
quietly set lines [split [read $infile] \n]
32
quietly set skip_list [list]
33
 
34
quietly set cpu_line_cnt 0
35
foreach line $lines {
36
        foreach idx $CPU_FILES {
37
                if {[ expr [regexp $idx $line] == 1]} {
38
                        lappend skip_list [expr $cpu_line_cnt - 1]
39
                        lappend skip_list [expr $cpu_line_cnt - 0]
40
                }
41
        }
42
        incr cpu_line_cnt
43
}
44
#puts "skip_list: $skip_list"
45
quietly set cpu_line_cnt 0
46
foreach line $lines {
47
        if {[ expr [regexp "glbl.v" $line] == 1]} {
48
                incr cpu_line_cnt
49
                continue
50
        }
51
        if {[ expr [regexp "vmap" $line] == 1]} {
52
                incr cpu_line_cnt
53
                continue
54
        }
55
        if {[match_element $skip_list $cpu_line_cnt] == 1} {
56
                incr cpu_line_cnt
57
                continue
58
        }
59
        incr cpu_line_cnt
60
 
61
        set sitem0 "../../../ipstatic"
62
        set ritem0 "../layout/process/project_n1.ip_user_files/ipstatic"
63
 
64
        set sitem1 "../../../../project_n1.srcs"
65
        set ritem1 "../layout/process/project_n1.srcs"
66
 
67
        regsub -all "vlib work" $line " " line
68
        regsub -all " msim/" $line " " line
69
        regsub -all "vcom " $line "vcom -quiet " line
70
        regsub -all "vlog " $line "vlog -quiet " line
71
 
72
        regsub -all $sitem0 $line $ritem0 line
73
        regsub -all $sitem1 $line $ritem1 line
74
 
75
        puts $outfile $line
76
}
77
close $infile
78
close $outfile
79
 
80
# get LIB-list
81
quietly set infile  [open "$SCR_PATH/$BD_SIM_FILE" r]
82
 
83
quietly set lines [split [read $infile] \n]
84
foreach line $lines {
85
        if {[ expr [regexp "vsim" $line] != 1]} {
86
                continue
87
        }
88
        set sta_pos [string first "-L" $line]
89
        set stp_pos [string first " " $line [expr [string last "-L" $line] + 3]]
90
        set lib_list [string range $line $sta_pos $stp_pos]
91
 
92
}
93
close $infile
94
# cut-out secureip-lib
95
quietly regsub -all " -L secureip " $lib_list " " lib_list
96
#puts "lib_list: $lib_list"
97
 
98
# bd-files
99
foreach idx [glob -type f -nocomplain "${SCR_PATH}/*.mem"] {
100
        file copy -force $idx ./
101
}
102
source $BD_SCR_FILE
103
vlog -quiet -work xil_defaultlib $SCR_PATH/glbl.v
104
 
105
 
106
# user-src
107
vlog -quiet -work xil_defaultlib -sv -f vlog_synth.f
108
vlog -quiet -work xil_defaultlib +incdir+../src/tb/bfm_eth_log -sv -f vlog_sim.f
109
 
110
# sim
111
if { $FAST_SIM == 1 } {
112
 eval "vsim -sv_lib $LIB_DEV_NAME -sv_lib $LIB_HOSTB_NAME -quiet  -t ps $lib_list xil_defaultlib.testcase xil_defaultlib.glbl"
113
} else {
114
 eval "vsim -sv_lib $LIB_DEV_NAME -sv_lib $LIB_HOSTB_NAME -novopt -t ps $lib_list xil_defaultlib.testcase xil_defaultlib.glbl"
115
 
116
 log -r /*
117
 do wave.do
118
}
119
quietly set StdArithNoWarnings 1
120
quietly set NumericStdNoWarnings 1
121
 
122
run -all

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.