Long simulation runs in the data path engines (filters, FFT, IFFT etc) verifications are mostly due to
E.g. TCL script
# use the native "mem load" command to fill the contents of the memory from a file
proc mem_load_proc { file mem} {
if { [file exists $file] } {
mem load -i $file $mem
}
}
# use the native "mem display" command to save the contents from the memory to a file
proc mem_save_proc { file mem} {
set f [open $file w+]
puts $f [mem display -format mti -dataradix hexadecimal -addressradix hexadecimal -wordsperline 8 $mem]
flush $f
close $f
}
# concurrent When statement triggered based on the signal value conditional check
when "/tb_top/hier1/sig_a = '1'" {
# save the current memory contents
mem_save_proc $save_file $mem
# generate new data, in this case using DataGen.pl
exec DataGen.pl
# load the new memory contents
mem_load_proc $load_file $mem
}
- memory filling before the HW processing engine starts
- on the fly preparing the new memory contents and writing to the memories
- on the fly checking the memory contents for the expected HW behavior
E.g. TCL script
# use the native "mem load" command to fill the contents of the memory from a file
proc mem_load_proc { file mem} {
if { [file exists $file] } {
mem load -i $file $mem
}
}
# use the native "mem display" command to save the contents from the memory to a file
proc mem_save_proc { file mem} {
set f [open $file w+]
puts $f [mem display -format mti -dataradix hexadecimal -addressradix hexadecimal -wordsperline 8 $mem]
flush $f
close $f
}
# concurrent When statement triggered based on the signal value conditional check
when "/tb_top/hier1/sig_a = '1'" {
# save the current memory contents
mem_save_proc $save_file $mem
# generate new data, in this case using DataGen.pl
exec DataGen.pl
# load the new memory contents
mem_load_proc $load_file $mem
}
No comments:
Post a Comment