7
7
8
8
9
9
namespace eval ::slang {
10
- # INFO: Maps HDL files to respective top module(s)
11
- # top_map insertion syntax:
12
- # <file> <top module>
13
- array set top_map {
14
- and_latch.v and_latch
15
- multiclock_output_and_latch.v multiclock_output_and_latch
16
- multiclock_reader_writer.v multiclock_reader_writer
17
- multiclock_separate_and_latch.v multiclock_separate_and_latch
18
- arm_core.v arm_core
19
- bgm.v bgm
20
- blob_merge.v RLE_BlobMerging
21
- boundtop.v paj_boundtop_hierarchy_no_mem
22
- ch_intrinsics.v memset
23
- diffeq1.v diffeq_paj_convert
24
- diffeq2.v diffeq_f_systemC
25
- LU8PEEng.v LU8PEEng
26
- LU32PEEng.v LU32PEEng
27
- LU64PEEng.v LU64PEEng
28
- mcml.v mcml
29
- mkDelayWorker32B.v mkDelayWorker32B
30
- mkPktMerge.v mkPktMerge
31
- mkSMAdapter4B.v mkSMAdapter4B
32
- or1200.v or1200_flat
33
- raygentop.v paj_raygentop_hierarchy_no_mem
34
- sha.v sha1
35
- stereovision0.v sv_chip0_hierarchy_no_mem
36
- stereovision1.v sv_chip1_hierarchy_no_mem
37
- stereovision2.v sv_chip2_hierarchy_no_mem
38
- stereovision3.v sv_chip3_hierarchy_no_mem
39
- button_controller.sv top
40
- display_control.sv top
41
- debounce.sv top
42
- timer.sv top
43
- deepfreeze.style1.sv top
44
- pulse_led.v top
45
- clock .sv top
46
- single_ff.v top
47
- single_wire.v top
48
- PWM.v top
49
- flattened_pulse_width_led.sv top
50
- modify_count.sv top
51
- time_counter.sv top
52
- spree.v system
53
- attention_layer.v attention_layer
54
- bnn.v bnn
55
- tpu_like.small.os.v top
56
- tpu_like.small.ws.v top
57
- dla_like.small.v DLA
58
- conv_layer_hls.v top
59
- conv_layer.v conv_layer
60
- eltwise_layer.v eltwise_layer
61
- robot_rl.v robot_maze
62
- reduction_layer.v reduction_layer
63
- spmv.v spmv
64
- softmax.v softmax
65
- }
66
- # INFO: List of HDL includes files
67
- # includes_map insertion syntax:
68
- # <file> include
69
- array set includes_map {
70
- hard_block_include.v include
71
- }
72
10
73
11
74
- variable top_args {}
12
+ variable top_mods_slang {}
13
+ variable top_mods_verilog {}
75
14
76
15
# Function - build_filelist:
77
16
#
@@ -85,11 +24,14 @@ namespace eval ::slang {
85
24
# file_list - text file being written to that will contain
86
25
# the names of circuits from circuit list.
87
26
#
88
- proc build_filelist { circuit_list file_list } {
89
- variable top_args
27
+ proc build_filelist { circuit_list file_list tops_path} {
28
+ variable top_mods_slang
29
+ variable top_mods_verilog
90
30
variable top_map
91
31
variable includes_map
92
- set top_args {}
32
+ source [file join [pwd ] " $tops_path " ]
33
+ set top_mods_slang {}
34
+ set top_mods_verilog {}
93
35
set fh [open $file_list " w" ]
94
36
foreach f $circuit_list {
95
37
set ext [string tolower [file extension $f ]]
@@ -105,7 +47,8 @@ namespace eval ::slang {
105
47
} else {
106
48
puts $fh $f
107
49
set top_name $top_map($f)
108
- lappend top_args --top $top_name
50
+ lappend top_mods_slang --top $top_name
51
+ lappend top_mods_verilog -top $top_name
109
52
}
110
53
}
111
54
} else {
@@ -114,6 +57,6 @@ namespace eval ::slang {
114
57
}
115
58
}
116
59
close $fh
117
- return $top_args
60
+ return [ list $top_mods_slang $top_mods_verilog ]
118
61
}
119
62
}
0 commit comments