OpenCores
URL https://opencores.org/ocsvn/openmsp430/openmsp430/trunk

Subversion Repositories openmsp430

[/] [openmsp430/] [trunk/] [core/] [sim/] [rtl_sim/] [run/] [run_all] - Blame information for rev 207

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 91 olivier.gi
#!/bin/bash
2 2 olivier.gi
 
3 65 olivier.gi
# Disable waveform dumping
4
OMSP_NODUMP=1
5
export OMSP_NODUMP
6
 
7 200 olivier.gi
# Choose GCC toolchain prefix ('msp430' for MSPGCC / 'msp430-elf' for GCC RedHat/TI)
8
# Note: default to MSPGCC until GCC RedHat/TI is mature enough
9 202 olivier.gi
if command -v msp430-gcc >/dev/null; then
10 200 olivier.gi
    MSPGCC_PFX=msp430
11
else
12
    MSPGCC_PFX=msp430-elf
13
fi
14
#MSPGCC_PFX=msp430
15
export MSPGCC_PFX
16
 
17 122 olivier.gi
# Choose simulator:
18
#                   - iverilog  : Icarus Verilog  (default)
19
#                   - cver      : CVer
20
#                   - verilog   : Verilog-XL
21
#                   - ncverilog : NC-Verilog
22
#                   - vcs       : VCS
23
#                   - vsim      : Modelsim
24
#                   - isim      : Xilinx simulator
25
OMSP_SIMULATOR=iverilog
26
export OMSP_SIMULATOR
27 2 olivier.gi
 
28 122 olivier.gi
 
29 202 olivier.gi
# Argument specifies number of regression loops
30
if [ $# -ne 1 ]; then
31
    LAST_REGRESSION=0
32
else
33
    LAST_REGRESSION=$(($1-1))
34
fi
35 2 olivier.gi
 
36 202 olivier.gi
# Cleanup from previous regression
37
LOG_DIR=./log
38
rm -rf $LOG_DIR/*
39 2 olivier.gi
 
40 202 olivier.gi
# Perform the regression runs
41
for (( ii=0; ii<=$LAST_REGRESSION; ii++ ))
42
  do
43 2 olivier.gi
 
44 202 olivier.gi
    # Cleanup & log directory setup
45
    rm -rf ./cov_work
46
    LOG_DIR=./log/$ii
47
    mkdir -p $LOG_DIR
48 134 olivier.gi
 
49 202 olivier.gi
    # Two-Operand Arithmetic test patterns
50
    ../bin/msp430sim two-op_mov               | tee $LOG_DIR/two-op_mov.log
51
    ../bin/msp430sim two-op_mov-b             | tee $LOG_DIR/two-op_mov-b.log
52
    ../bin/msp430sim two-op_add               | tee $LOG_DIR/two-op_add.log
53 2 olivier.gi
 
54 202 olivier.gi
    ../bin/msp430sim two-op_add-b             | tee $LOG_DIR/two-op_add-b.log
55
    ../bin/msp430sim two-op_addc              | tee $LOG_DIR/two-op_addc.log
56
    ../bin/msp430sim two-op_sub               | tee $LOG_DIR/two-op_sub.log
57
    ../bin/msp430sim two-op_subc              | tee $LOG_DIR/two-op_subc.log
58
    ../bin/msp430sim two-op_cmp               | tee $LOG_DIR/two-op_cmp.log
59
    ../bin/msp430sim two-op_bit               | tee $LOG_DIR/two-op_bit.log
60
    ../bin/msp430sim two-op_bic               | tee $LOG_DIR/two-op_bic.log
61
    ../bin/msp430sim two-op_bis               | tee $LOG_DIR/two-op_bis.log
62
    ../bin/msp430sim two-op_xor               | tee $LOG_DIR/two-op_xor.log
63
    ../bin/msp430sim two-op_and               | tee $LOG_DIR/two-op_and.log
64
    ../bin/msp430sim two-op_dadd              | tee $LOG_DIR/two-op_dadd.log
65
    ../bin/msp430sim two-op_autoincr          | tee $LOG_DIR/two-op_autoincr.log
66
    ../bin/msp430sim two-op_autoincr-b        | tee $LOG_DIR/two-op_autoincr-b.log
67 2 olivier.gi
 
68 202 olivier.gi
    # Conditional Jump test patterns
69
    ../bin/msp430sim c-jump_jeq               | tee $LOG_DIR/c-jump_jeq.log
70
    ../bin/msp430sim c-jump_jne               | tee $LOG_DIR/c-jump_jne.log
71
    ../bin/msp430sim c-jump_jc                | tee $LOG_DIR/c-jump_jc.log
72
    ../bin/msp430sim c-jump_jnc               | tee $LOG_DIR/c-jump_jnc.log
73
    ../bin/msp430sim c-jump_jn                | tee $LOG_DIR/c-jump_jn.log
74
    ../bin/msp430sim c-jump_jge               | tee $LOG_DIR/c-jump_jge.log
75
    ../bin/msp430sim c-jump_jl                | tee $LOG_DIR/c-jump_jl.log
76
    ../bin/msp430sim c-jump_jmp               | tee $LOG_DIR/c-jump_jmp.log
77 134 olivier.gi
 
78 202 olivier.gi
    # Single-Operand Arithmetic test patterns
79
    ../bin/msp430sim sing-op_rrc              | tee $LOG_DIR/sing-op_rrc.log
80
    ../bin/msp430sim sing-op_rra              | tee $LOG_DIR/sing-op_rra.log
81
    ../bin/msp430sim sing-op_swpb             | tee $LOG_DIR/sing-op_swpb.log
82
    ../bin/msp430sim sing-op_sxt              | tee $LOG_DIR/sing-op_sxt.log
83
    ../bin/msp430sim sing-op_push             | tee $LOG_DIR/sing-op_push.log
84
    ../bin/msp430sim sing-op_call             | tee $LOG_DIR/sing-op_call.log
85 2 olivier.gi
 
86 202 olivier.gi
    # Interrupts & NMI
87
    ../bin/msp430sim sing-op_reti             | tee $LOG_DIR/sing-op_reti.log
88
    ../bin/msp430sim nmi                      | tee $LOG_DIR/nmi.log
89
    ../bin/msp430sim irq32                    | tee $LOG_DIR/irq32.log
90
    ../bin/msp430sim irq64                    | tee $LOG_DIR/irq64.log
91 2 olivier.gi
 
92 202 olivier.gi
    # ROM Data Read access
93
    ../bin/msp430sim two-op_add_rom-rd        | tee $LOG_DIR/two-op_add_rom-rd.log
94
    ../bin/msp430sim sing-op_push_rom-rd      | tee $LOG_DIR/sing-op_push_rom-rd.log
95
    ../bin/msp430sim sing-op_call_rom-rd      | tee $LOG_DIR/sing-op_call_rom-rd.log
96 154 olivier.gi
 
97 202 olivier.gi
    # Power saving modes (CPUOFF, OSCOFF, SCG0, SCG1)
98
    ../bin/msp430sim op_modes                 | tee $LOG_DIR/op_modes.log
99
    ../bin/msp430sim op_modes_asic            | tee $LOG_DIR/op_modes_asic.log
100
    ../bin/msp430sim lp_modes_asic            | tee $LOG_DIR/lp_modes_asic.log
101
    ../bin/msp430sim lp_modes_dbg_asic        | tee $LOG_DIR/lp_modes_dbg_asic.log
102 134 olivier.gi
 
103 202 olivier.gi
    # CPU startup conditions
104
    ../bin/msp430sim cpu_startup_asic         | tee $LOG_DIR/cpu_startup_asic.log
105 134 olivier.gi
 
106 202 olivier.gi
    # Basic clock module
107
    ../bin/msp430sim clock_module             | tee $LOG_DIR/clock_module.log
108
    ../bin/msp430sim clock_module_asic        | tee $LOG_DIR/clock_module_asic.log
109
    ../bin/msp430sim clock_module_asic_mclk   | tee $LOG_DIR/clock_module_asic_mclk.log
110
    ../bin/msp430sim clock_module_asic_smclk  | tee $LOG_DIR/clock_module_asic_smclk.log
111
    ../bin/msp430sim clock_module_asic_lfxt   | tee $LOG_DIR/clock_module_asic_lfxt.log
112 2 olivier.gi
 
113 202 olivier.gi
    # Serial Debug Interface (UART)
114
    ../bin/msp430sim dbg_uart                 | tee $LOG_DIR/dbg_uart.log
115
    ../bin/msp430sim dbg_uart_sync            | tee $LOG_DIR/dbg_uart_sync.log
116
    ../bin/msp430sim dbg_uart_cpu             | tee $LOG_DIR/dbg_uart_cpu.log
117
    ../bin/msp430sim dbg_uart_mem             | tee $LOG_DIR/dbg_uart_mem.log
118
    ../bin/msp430sim dbg_uart_hwbrk0          | tee $LOG_DIR/dbg_uart_hwbrk0.log
119
    ../bin/msp430sim dbg_uart_hwbrk1          | tee $LOG_DIR/dbg_uart_hwbrk1.log
120
    ../bin/msp430sim dbg_uart_hwbrk2          | tee $LOG_DIR/dbg_uart_hwbrk2.log
121
    ../bin/msp430sim dbg_uart_hwbrk3          | tee $LOG_DIR/dbg_uart_hwbrk3.log
122
    ../bin/msp430sim dbg_uart_rdwr            | tee $LOG_DIR/dbg_uart_rdwr.log
123
    ../bin/msp430sim dbg_uart_halt_irq        | tee $LOG_DIR/dbg_uart_halt_irq.log
124
    ../bin/msp430sim dbg_uart_onoff           | tee $LOG_DIR/dbg_uart_onoff.log
125
    ../bin/msp430sim dbg_uart_onoff_asic      | tee $LOG_DIR/dbg_uart_onoff_asic.log
126 2 olivier.gi
 
127 202 olivier.gi
    # Serial Debug Interface (I2C)
128
    ../bin/msp430sim dbg_i2c                  | tee $LOG_DIR/dbg_i2c.log
129
    ../bin/msp430sim dbg_i2c_sync             | tee $LOG_DIR/dbg_i2c_sync.log
130
    ../bin/msp430sim dbg_i2c_cpu              | tee $LOG_DIR/dbg_i2c_cpu.log
131
    ../bin/msp430sim dbg_i2c_mem              | tee $LOG_DIR/dbg_i2c_mem.log
132
    ../bin/msp430sim dbg_i2c_hwbrk0           | tee $LOG_DIR/dbg_i2c_hwbrk0.log
133
    ../bin/msp430sim dbg_i2c_hwbrk1           | tee $LOG_DIR/dbg_i2c_hwbrk1.log
134
    ../bin/msp430sim dbg_i2c_hwbrk2           | tee $LOG_DIR/dbg_i2c_hwbrk2.log
135
    ../bin/msp430sim dbg_i2c_hwbrk3           | tee $LOG_DIR/dbg_i2c_hwbrk3.log
136
    ../bin/msp430sim dbg_i2c_rdwr             | tee $LOG_DIR/dbg_i2c_rdwr.log
137
    ../bin/msp430sim dbg_i2c_halt_irq         | tee $LOG_DIR/dbg_i2c_halt_irq.log
138
    ../bin/msp430sim dbg_i2c_onoff            | tee $LOG_DIR/dbg_i2c_onoff.log
139
    ../bin/msp430sim dbg_i2c_onoff_asic       | tee $LOG_DIR/dbg_i2c_onoff_asic.log
140 2 olivier.gi
 
141 202 olivier.gi
    # SFR test patterns
142
    ../bin/msp430sim sfr                      | tee $LOG_DIR/sfr.log
143 2 olivier.gi
 
144 202 olivier.gi
    # SCAN test patterns (only to increase coverage)
145
    ../bin/msp430sim scan                     | tee $LOG_DIR/scan.log
146 154 olivier.gi
 
147 202 olivier.gi
    # Watchdog test patterns
148
    ../bin/msp430sim wdt_interval             | tee $LOG_DIR/wdt_interval.log
149
    ../bin/msp430sim wdt_watchdog             | tee $LOG_DIR/wdt_watchdog.log
150
    ../bin/msp430sim wdt_clkmux               | tee $LOG_DIR/wdt_clkmux.log
151
    ../bin/msp430sim wdt_wkup                 | tee $LOG_DIR/wdt_wkup.log
152 154 olivier.gi
 
153 202 olivier.gi
    # GPIO test patterns
154
    ../bin/msp430sim gpio_rdwr                | tee $LOG_DIR/gpio_rdwr.log
155
    ../bin/msp430sim gpio_irq                 | tee $LOG_DIR/gpio_irq.log
156 2 olivier.gi
 
157 202 olivier.gi
    # Peripheral templates test patterns
158
    ../bin/msp430sim template_periph_8b       | tee $LOG_DIR/template_periph_8b.log
159
    ../bin/msp430sim template_periph_16b      | tee $LOG_DIR/template_periph_16b.log
160 67 olivier.gi
 
161 202 olivier.gi
    # Timer A patterns
162
    ../bin/msp430sim tA_modes                 | tee $LOG_DIR/tA_modes.log
163
    ../bin/msp430sim tA_compare               | tee $LOG_DIR/tA_compare.log
164
    ../bin/msp430sim tA_output                | tee $LOG_DIR/tA_output.log
165
    ../bin/msp430sim tA_capture               | tee $LOG_DIR/tA_capture.log
166
    ../bin/msp430sim tA_clkmux                | tee $LOG_DIR/tA_clkmux.log
167
 
168
    # DMA Interface
169
    ../bin/msp430sim dma_rdwr_16b             | tee $LOG_DIR/dma_rdwr_16b.log
170
    ../bin/msp430sim dma_rdwr_8b              | tee $LOG_DIR/dma_rdwr_8b.log
171
    ../bin/msp430sim dma_resp                 | tee $LOG_DIR/dma_resp.log
172
    ../bin/msp430sim dma_dbg_arbiter          | tee $LOG_DIR/dma_dbg_arbiter.log
173
    ../bin/msp430sim dma_lpm0_asic            | tee $LOG_DIR/dma_lpm0_asic.log
174
    ../bin/msp430sim dma_lpm1_asic            | tee $LOG_DIR/dma_lpm1_asic.log
175
    ../bin/msp430sim dma_lpm2_asic            | tee $LOG_DIR/dma_lpm2_asic.log
176
    ../bin/msp430sim dma_lpm3_asic            | tee $LOG_DIR/dma_lpm3_asic.log
177
    ../bin/msp430sim dma_lpm4_asic            | tee $LOG_DIR/dma_lpm4_asic.log
178
 
179
    # Simple full duplex UART (8N1 protocol)
180
    #../bin/msp430sim uart                    | tee $LOG_DIR/uart.log
181
 
182
    # Hardware multiplier test patterns
183
    ../bin/msp430sim mpy_basic                | tee $LOG_DIR/mpy_basic.log
184
 
185
 
186
    # Report regression results
187
    ../bin/parse_results $LOG_DIR             | tee $LOG_DIR/../summary.$ii.log
188
 
189
done
190
 
191
 
192
if [ $LAST_REGRESSION != 0 ]; then
193
    ../bin/parse_summaries                    | tee $LOG_DIR/../regressions_summary.log
194
fi

powered by: WebSVN 2.1.0

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