soc_maker 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/History.txt +4 -0
- data/LICENSE +678 -0
- data/README.rdoc +228 -0
- data/Rakefile +46 -0
- data/bin/soc_maker_cli +80 -0
- data/bin/soc_maker_parser +85 -0
- data/core_lib/cores/adv_debug_sys/01_adv_debug_sys.yaml +245 -0
- data/core_lib/cores/or1200_rel2/01_or1200.yaml +208 -0
- data/core_lib/cores/or1200_rel2/02_or1200_files.yaml +421 -0
- data/core_lib/cores/or1200_rel2/03_or1200_sparam.yaml +188 -0
- data/core_lib/cores/or1200_rel2/or1200_defines.v.in +1799 -0
- data/core_lib/cores/ram_wb/ram_wb.yaml +102 -0
- data/core_lib/cores/ram_wb/ram_wb_b3.v.in +259 -0
- data/core_lib/cores/uart16550/01_uart16550.yaml +99 -0
- data/core_lib/cores/uart16550/02_uart16550_files.yaml +70 -0
- data/core_lib/cores/wb_connect/minsoc_tc_top.v +1802 -0
- data/core_lib/cores/wb_connect/wb_connect.yaml +733 -0
- data/core_lib/inc.yaml +13 -0
- data/core_lib/interfaces/clk_rst/clk.yaml +9 -0
- data/core_lib/interfaces/clk_rst/rst.yaml +9 -0
- data/core_lib/interfaces/clk_rst/single.yaml +7 -0
- data/core_lib/interfaces/debug/debug.yaml +32 -0
- data/core_lib/interfaces/jtag/jtag.yaml +13 -0
- data/core_lib/interfaces/jtag/jtag_tap.yaml +22 -0
- data/core_lib/interfaces/power/or_power.yaml +25 -0
- data/core_lib/interfaces/uart/uart.yaml +21 -0
- data/core_lib/interfaces/wishbone/wishbone_ma_b3.yaml +54 -0
- data/core_lib/interfaces/wishbone/wishbone_sl_b3.yaml +51 -0
- data/doc/class_arch.uml +5113 -0
- data/doc/fig/hierarchical.svg +273 -0
- data/examples/or1200_test/or1200_test.cmd +78 -0
- data/examples/or1200_test/or1200_test.rb +136 -0
- data/examples/or1200_test/rtl/or1200_test_top.vhd +274 -0
- data/examples/or1200_test/rtl/s3astarter.ucf +10 -0
- data/examples/or1200_test/rtl/xilinx_internal_jtag.v +438 -0
- data/examples/or1200_test/rtl/xilinx_internal_jtag_options.v +12 -0
- data/examples/or1200_test/sw/README.txt +35 -0
- data/examples/or1200_test/sw/bin2vmem.c +159 -0
- data/examples/or1200_test/sw/board.h +24 -0
- data/examples/or1200_test/sw/compile.sh +18 -0
- data/examples/or1200_test/sw/except.S +152 -0
- data/examples/or1200_test/sw/int.c +79 -0
- data/examples/or1200_test/sw/int.h +14 -0
- data/examples/or1200_test/sw/interconnect.h +17 -0
- data/examples/or1200_test/sw/interrupts.c +14 -0
- data/examples/or1200_test/sw/main.c +16 -0
- data/examples/or1200_test/sw/or1200.h +454 -0
- data/examples/or1200_test/sw/orp.ld +60 -0
- data/examples/or1200_test/sw/reset.S +112 -0
- data/examples/or1200_test/sw/support.c +123 -0
- data/examples/or1200_test/sw/support.h +33 -0
- data/examples/or1200_test/sw/tick.c +30 -0
- data/examples/or1200_test/sw/tick.h +2 -0
- data/examples/or1200_test/sw/uart.c +136 -0
- data/examples/or1200_test/sw/uart.h +126 -0
- data/lib/soc_maker.rb +324 -0
- data/lib/soc_maker/cli.rb +544 -0
- data/lib/soc_maker/conf.rb +310 -0
- data/lib/soc_maker/core_def.rb +579 -0
- data/lib/soc_maker/core_inst.rb +305 -0
- data/lib/soc_maker/err.rb +211 -0
- data/lib/soc_maker/hdl_coder.rb +500 -0
- data/lib/soc_maker/hdl_file.rb +166 -0
- data/lib/soc_maker/hdl_parser.rb +431 -0
- data/lib/soc_maker/ifc_def.rb +193 -0
- data/lib/soc_maker/ifc_port.rb +133 -0
- data/lib/soc_maker/ifc_spc.rb +180 -0
- data/lib/soc_maker/lib.rb +289 -0
- data/lib/soc_maker/lib_inc.rb +109 -0
- data/lib/soc_maker/parameter.rb +149 -0
- data/lib/soc_maker/soc_def.rb +847 -0
- data/lib/soc_maker/sparameter.rb +289 -0
- data/lib/soc_maker/version.rb +8 -0
- data/lib/soc_maker/ypp.rb +130 -0
- data/soc_maker.gemspec +28 -0
- data/spec/cli_cmds1.txt +39 -0
- data/spec/cli_spec.rb +49 -0
- data/spec/conf_spec.rb +44 -0
- data/spec/core_def_spec.rb +503 -0
- data/spec/core_inst_spec.rb +169 -0
- data/spec/hdl_file_spec.rb +154 -0
- data/spec/hdl_parser_spec.rb +201 -0
- data/spec/ifc_def_spec.rb +121 -0
- data/spec/ifc_port_spec.rb +92 -0
- data/spec/ifc_spc_spec.rb +196 -0
- data/spec/lib_inc_spec.rb +99 -0
- data/spec/lib_spec.rb +209 -0
- data/spec/parameter_spec.rb +86 -0
- data/spec/soc_def_spec.rb +611 -0
- data/spec/soc_maker_spec.rb +7 -0
- data/spec/sparameter_spec.rb +182 -0
- data/spec/spec_helper.rb +78 -0
- data/spec/test_soc.yaml +105 -0
- data/spec/test_soc2.yaml +60 -0
- data/spec/test_soc_lib/cores/core_A_rel1/00_core_a.yaml +75 -0
- data/spec/test_soc_lib/cores/core_A_rel1/01_core_a.yaml +57 -0
- data/spec/test_soc_lib/cores/core_A_rel1/core_a.vhd +29 -0
- data/spec/test_soc_lib/cores/core_A_rel1/core_a_pkg.vhd.src +3 -0
- data/spec/test_soc_lib/cores/core_A_rel1/core_a_pkg2.vhd.src +4 -0
- data/spec/test_soc_lib/cores/core_A_rel1/core_a_pkg3.v.src +6 -0
- data/spec/test_soc_lib/cores/core_B_rel1/core_b.vhd +25 -0
- data/spec/test_soc_lib/cores/core_B_rel1/core_b.yaml +36 -0
- data/spec/test_soc_lib/cores/core_C_v1/core_C.vhd +57 -0
- data/spec/test_soc_lib/cores/core_C_v1/core_c.yaml +42 -0
- data/spec/test_soc_lib/cores/soc_A/soc_A.yaml +12 -0
- data/spec/test_soc_lib/cores/soc_maker_include.yaml +6 -0
- data/spec/test_soc_lib/ifcs/core_AB_ifc/bidir_ifc.yaml +19 -0
- data/spec/test_soc_lib/ifcs/core_AB_ifc/core_AB_ifc.yaml +15 -0
- data/spec/test_soc_lib/ifcs/core_AB_ifc/top_ifc.yaml +9 -0
- data/spec/test_soc_lib/soc_maker_include.yaml +4 -0
- data/spec/yaml_examples.rb +367 -0
- data/spec/ypp_spec.rb +156 -0
- data/test/test_soc_maker.rb +0 -0
- metadata +255 -0
@@ -0,0 +1,182 @@
|
|
1
|
+
###############################################################
|
2
|
+
#
|
3
|
+
# File: sparameter_spec.rb
|
4
|
+
#
|
5
|
+
# Author: Christian Hättich
|
6
|
+
#
|
7
|
+
# Project: System-On-Chip Maker
|
8
|
+
#
|
9
|
+
# Target: Linux / Windows / Mac
|
10
|
+
#
|
11
|
+
# Language: ruby
|
12
|
+
#
|
13
|
+
#
|
14
|
+
###############################################################
|
15
|
+
#
|
16
|
+
#
|
17
|
+
# Copyright (C) 2014 Christian Hättich - feddischson [ at ] opencores.org
|
18
|
+
#
|
19
|
+
# This program is free software: you can redistribute it and/or modify
|
20
|
+
# it under the terms of the GNU General Public License as published by
|
21
|
+
# the Free Software Foundation, either version 3 of the License, or
|
22
|
+
# (at your option) any later version.
|
23
|
+
#
|
24
|
+
# This program is distributed in the hope that it will be useful,
|
25
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
26
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
27
|
+
# GNU General Public License for more details.
|
28
|
+
#
|
29
|
+
# You should have received a copy of the GNU General Public License
|
30
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
31
|
+
#
|
32
|
+
#
|
33
|
+
###############################################################
|
34
|
+
#
|
35
|
+
# Description:
|
36
|
+
# Test specification for SOCMaker::SParameter and
|
37
|
+
# SOCMaker::SParameterEntry
|
38
|
+
#
|
39
|
+
#
|
40
|
+
#
|
41
|
+
#
|
42
|
+
###############################################################
|
43
|
+
require_relative( 'spec_helper' )
|
44
|
+
|
45
|
+
require "yaml_examples.rb"
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
describe SOCMaker::Parameter do
|
50
|
+
|
51
|
+
include_context "yaml examples"
|
52
|
+
|
53
|
+
describe "#initialize" do
|
54
|
+
|
55
|
+
it "return an object of type SOCMaker::SParameter when creating it with new" do
|
56
|
+
o = SOCMaker::SParameter.new( "./path/to/file.src", "./path/to/file.dst" )
|
57
|
+
expect( o.class ).to be( SOCMaker::SParameter )
|
58
|
+
expect( o.parameters.class ).to be( Hash )
|
59
|
+
end
|
60
|
+
|
61
|
+
it "raises an error if the destination path has zero length" do
|
62
|
+
expect{ SOCMaker::SParameter.new( "./path/to/file.src", "" ) }.
|
63
|
+
to raise_error( SOCMaker::ERR::InitError )
|
64
|
+
end
|
65
|
+
|
66
|
+
it "raises an error if the destination path is nil" do
|
67
|
+
expect{ SOCMaker::SParameter.new( "./path/to/file.src", nil ) }.
|
68
|
+
to raise_error( SOCMaker::ERR::InitError )
|
69
|
+
end
|
70
|
+
|
71
|
+
it "raises an error if the destination path is not a string" do
|
72
|
+
expect{ SOCMaker::SParameter.new( "./path/to/file.src", 4 ) }.
|
73
|
+
to raise_error( SOCMaker::ERR::InitError )
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
it "raises an error if the src path has zero length" do
|
78
|
+
expect{ SOCMaker::SParameter.new( "", "./path/to/file.dst" ) }.
|
79
|
+
to raise_error( SOCMaker::ERR::InitError )
|
80
|
+
end
|
81
|
+
|
82
|
+
it "raises an error if the src path is nil" do
|
83
|
+
expect{ SOCMaker::SParameter.new( nil, "./path/to/file.dst" ) }.
|
84
|
+
to raise_error( SOCMaker::ERR::InitError )
|
85
|
+
end
|
86
|
+
|
87
|
+
it "raises an error if the src path is not a string" do
|
88
|
+
expect{ SOCMaker::SParameter.new( 4,"./path/to/file.dst" ) }.
|
89
|
+
to raise_error( SOCMaker::ERR::InitError )
|
90
|
+
end
|
91
|
+
|
92
|
+
it "returns an object of type SOCMaker::SParameterentry when creating it with new" do
|
93
|
+
o = SOCMaker::SParameterEntry.new( "type", "mytoken" )
|
94
|
+
expect( o.class).to be( SOCMaker::SParameterEntry )
|
95
|
+
end
|
96
|
+
|
97
|
+
it "raises an error if token is nil" do
|
98
|
+
expect{ SOCMaker::SParameterEntry.new( "type", nil ) }.
|
99
|
+
to raise_error( SOCMaker::ERR::InitError )
|
100
|
+
end
|
101
|
+
|
102
|
+
it "raises an error if token is an empty string" do
|
103
|
+
expect{ SOCMaker::SParameterEntry.new( "type", "" ) }.
|
104
|
+
to raise_error( SOCMaker::ERR::InitError )
|
105
|
+
end
|
106
|
+
|
107
|
+
it "raises an error if token is not a string" do
|
108
|
+
expect{ SOCMaker::SParameterEntry.new( "type", 4 ) }.
|
109
|
+
to raise_error( SOCMaker::ERR::InitError )
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
it "raises an error if the path is not defined" do
|
114
|
+
expect{ SOCMaker::from_s( @F_YAML_STATIC_NO_PATH ) }.
|
115
|
+
to raise_error( SOCMaker::ERR::InitError )
|
116
|
+
end
|
117
|
+
|
118
|
+
it "raises an error if the token is not defined" do
|
119
|
+
expect{ SOCMaker::from_s( @F_YAML_STATIC_NO_TOKEN ) }.
|
120
|
+
to raise_error( SOCMaker::ERR::InitError )
|
121
|
+
end
|
122
|
+
|
123
|
+
it "raises an error if the type is not defined" do
|
124
|
+
expect{ SOCMaker::from_s( @F_YAML_STATIC_NO_TYPE ) }.
|
125
|
+
to raise_error( SOCMaker::ERR::InitError )
|
126
|
+
end
|
127
|
+
|
128
|
+
|
129
|
+
it "raises an error if the destination is not defined" do
|
130
|
+
expect{ SOCMaker::from_s( @F_YAML_STATIC_NO_DST1 ) }.
|
131
|
+
to raise_error( SOCMaker::ERR::InitError )
|
132
|
+
end
|
133
|
+
|
134
|
+
|
135
|
+
it "raises an error if an entry is not provided" do
|
136
|
+
expect{ SOCMaker::from_s( @F_YAML_STATIC_NO_SENTRY ) }.
|
137
|
+
to raise_error( SOCMaker::ERR::InitError )
|
138
|
+
end
|
139
|
+
|
140
|
+
describe "object handling, en-decoding:" do
|
141
|
+
|
142
|
+
it "is possible to encode and decode a static parameter" do
|
143
|
+
o1 = SOCMaker::SParameter.new(
|
144
|
+
"./path/to/file.src",
|
145
|
+
"./path/to/file.dst",
|
146
|
+
'parameters' => { p1: SOCMaker::SParameterEntry.new( "file.src", "file.dst" ) } )
|
147
|
+
|
148
|
+
yaml_str = o1.to_yaml
|
149
|
+
o2 = YAML::load( yaml_str )
|
150
|
+
expect( o1 ).to eq( o2 )
|
151
|
+
end
|
152
|
+
|
153
|
+
it "returns false for two non-equal objects" do
|
154
|
+
o1 = SOCMaker::SParameterEntry.new(
|
155
|
+
"./path/to/file.src",
|
156
|
+
"./path/to/file.dst" )
|
157
|
+
o2 = Marshal::load(Marshal.dump(o1))
|
158
|
+
o2.min = 4
|
159
|
+
expect( o2 == o1 ).to be( false )
|
160
|
+
end
|
161
|
+
|
162
|
+
it "is possible to encode and decode a static parameter entry" do
|
163
|
+
o1 = SOCMaker::SParameterEntry.new(
|
164
|
+
"./path/to/file.src",
|
165
|
+
"./path/to/file.dst",
|
166
|
+
'default' => 0,
|
167
|
+
'min' => 0,
|
168
|
+
'max' => 3,
|
169
|
+
'visible' => true,
|
170
|
+
'editable' => false,
|
171
|
+
'description' => "test description" )
|
172
|
+
yaml_str = o1.to_yaml
|
173
|
+
o2 = YAML::load( yaml_str )
|
174
|
+
expect( o1 ).to eq( o2 )
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
# vim: noai:ts=2:sw=2
|
182
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
###############################################################
|
2
|
+
#
|
3
|
+
# File: spec_helper.rb
|
4
|
+
#
|
5
|
+
# Author: Christian Hättich
|
6
|
+
#
|
7
|
+
# Project: System-On-Chip Maker
|
8
|
+
#
|
9
|
+
# Target: Linux / Windows / Mac
|
10
|
+
#
|
11
|
+
# Language: ruby
|
12
|
+
#
|
13
|
+
#
|
14
|
+
###############################################################
|
15
|
+
#
|
16
|
+
#
|
17
|
+
# Copyright (C) 2014 Christian Hättich - feddischson [ at ] opencores.org
|
18
|
+
#
|
19
|
+
# This program is free software: you can redistribute it and/or modify
|
20
|
+
# it under the terms of the GNU General Public License as published by
|
21
|
+
# the Free Software Foundation, either version 3 of the License, or
|
22
|
+
# (at your option) any later version.
|
23
|
+
#
|
24
|
+
# This program is distributed in the hope that it will be useful,
|
25
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
26
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
27
|
+
# GNU General Public License for more details.
|
28
|
+
#
|
29
|
+
# You should have received a copy of the GNU General Public License
|
30
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
31
|
+
#
|
32
|
+
#
|
33
|
+
###############################################################
|
34
|
+
#
|
35
|
+
# Description:
|
36
|
+
# This little helper is included in all specifications.
|
37
|
+
# We initialise the SOCMaker module
|
38
|
+
# - without loading the library
|
39
|
+
# - with logging to NULL
|
40
|
+
# In addition, we enable warnings and colors.
|
41
|
+
#
|
42
|
+
#
|
43
|
+
###############################################################
|
44
|
+
require 'rubygems'
|
45
|
+
require 'rspec'
|
46
|
+
require 'rspec/its'
|
47
|
+
require 'simplecov'
|
48
|
+
SimpleCov.start
|
49
|
+
require 'soc_maker'
|
50
|
+
|
51
|
+
RSpec.configure do |config|
|
52
|
+
|
53
|
+
|
54
|
+
SOCMaker::load( skip_refresh: true, # no loading of a lib
|
55
|
+
logger_out: File.open(File::NULL, "w") # no logger output
|
56
|
+
)
|
57
|
+
config.warnings = true
|
58
|
+
config.color = true
|
59
|
+
|
60
|
+
# == Mock Framework
|
61
|
+
#
|
62
|
+
# RSpec uses it's own mocking framework by default. If you prefer to
|
63
|
+
# use mocha, flexmock or RR, uncomment the appropriate line:
|
64
|
+
#
|
65
|
+
# config.mock_framework = :mocha
|
66
|
+
# config.mock_framework = :flexmock
|
67
|
+
# config.mock_framework = :rr
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
data/spec/test_soc.yaml
ADDED
@@ -0,0 +1,105 @@
|
|
1
|
+
SOCM_SOC
|
2
|
+
name: test_soc
|
3
|
+
description: 'This is a test SOC'
|
4
|
+
id: test_soc,v1
|
5
|
+
date: '13. May 2014'
|
6
|
+
license: 'GPL'
|
7
|
+
licensefile: ''
|
8
|
+
author: 'feddischson'
|
9
|
+
authormail: 'feddischson [ at ] opencores.org'
|
10
|
+
vccmd: ''
|
11
|
+
interfaces:
|
12
|
+
:top_ifc: SOCM_IFC
|
13
|
+
name: core_AB_ifc
|
14
|
+
dir: 0
|
15
|
+
id: core_AB_ifc,1
|
16
|
+
ports:
|
17
|
+
:sig_con1a: SOCM_PORT
|
18
|
+
spc_ref: sig_a
|
19
|
+
len: 8
|
20
|
+
:sig_con1b: SOCM_PORT
|
21
|
+
spc_ref: sig_b
|
22
|
+
len: 16
|
23
|
+
:sig_con1c: SOCM_PORT
|
24
|
+
spc_ref: sig_c
|
25
|
+
len: 1
|
26
|
+
:top_ifc2: SOCM_IFC
|
27
|
+
name: bidir_io
|
28
|
+
dir: 0
|
29
|
+
id: bidir_ifc,1
|
30
|
+
ports:
|
31
|
+
:clk_i: SOCM_PORT
|
32
|
+
spc_ref: clk
|
33
|
+
len: 1
|
34
|
+
:rst: SOCM_PORT
|
35
|
+
spc_ref: rst
|
36
|
+
len: 1
|
37
|
+
:en: SOCM_PORT
|
38
|
+
spc_ref: en
|
39
|
+
len: 1
|
40
|
+
:wr: SOCM_PORT
|
41
|
+
spc_ref: wr
|
42
|
+
len: 1
|
43
|
+
:bidir: SOCM_PORT
|
44
|
+
spc_ref: bidir
|
45
|
+
len: 8
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
functions: {}
|
51
|
+
inst_parameters: {}
|
52
|
+
static_parameters: {}
|
53
|
+
cores:
|
54
|
+
:inst_a: SOCM_INST
|
55
|
+
type: core_A,rel1
|
56
|
+
params:
|
57
|
+
:param1: 8
|
58
|
+
:param2: 16
|
59
|
+
:param3: 16
|
60
|
+
:inst_b: SOCM_INST
|
61
|
+
type: core_A,rel1
|
62
|
+
params:
|
63
|
+
:param1: 8
|
64
|
+
:param2: 16
|
65
|
+
:param3: 16
|
66
|
+
:inst_c: SOCM_INST
|
67
|
+
type: core_B,rel1
|
68
|
+
params: {}
|
69
|
+
:inst_d: SOCM_INST
|
70
|
+
type: core_B,rel1
|
71
|
+
params: {}
|
72
|
+
|
73
|
+
:inst_io: SOCM_INST
|
74
|
+
type: core_C,v1
|
75
|
+
params: {}
|
76
|
+
|
77
|
+
|
78
|
+
static:
|
79
|
+
:core_Arel1:
|
80
|
+
:p1: 11
|
81
|
+
:pv1: 0
|
82
|
+
|
83
|
+
cons:
|
84
|
+
:a_new_con:
|
85
|
+
:mapping:
|
86
|
+
- :inst_a: :ifc01
|
87
|
+
- :inst_c: :myifc
|
88
|
+
:a_2nd_con:
|
89
|
+
:mapping:
|
90
|
+
- :inst_b: :ifc01
|
91
|
+
- :test_soc: :top_ifc
|
92
|
+
|
93
|
+
:io_con:
|
94
|
+
:mapping:
|
95
|
+
- :inst_io: :ifc01
|
96
|
+
- :test_soc: :top_ifc2
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
# :top_con:
|
101
|
+
# :mapping:
|
102
|
+
# - :test_soc: :top_ifc1
|
103
|
+
# - :inst_d: :myifc
|
104
|
+
hdlfiles: {}
|
105
|
+
toplevel: test_soc
|
data/spec/test_soc2.yaml
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
SOCM_SOC
|
2
|
+
name: Test SOC Top
|
3
|
+
description: 'This is a test SOC'
|
4
|
+
id: test_soc_top,v1
|
5
|
+
date: '16. Aug 2014'
|
6
|
+
license: 'GPL'
|
7
|
+
licensefile: ''
|
8
|
+
author: 'feddischson'
|
9
|
+
authormail: 'feddischson [ at ] opencores.org'
|
10
|
+
vccmd: ''
|
11
|
+
interfaces:
|
12
|
+
:top_ifc: SOCM_IFC
|
13
|
+
name: core_AB_ifc
|
14
|
+
dir: 0
|
15
|
+
id: core_AB_ifc,1
|
16
|
+
ports:
|
17
|
+
:sig_con1a: SOCM_PORT
|
18
|
+
spc_ref: sig_a
|
19
|
+
len: 8
|
20
|
+
:sig_con1b: SOCM_PORT
|
21
|
+
spc_ref: sig_b
|
22
|
+
len: 16
|
23
|
+
:sig_con1c: SOCM_PORT
|
24
|
+
spc_ref: sig_c
|
25
|
+
len: 1
|
26
|
+
|
27
|
+
functions: {}
|
28
|
+
inst_parameters: {}
|
29
|
+
static_parameters: {}
|
30
|
+
cores:
|
31
|
+
:inst_t1: SOCM_INST
|
32
|
+
type: test_soc,v1
|
33
|
+
:inst_t2: SOCM_INST
|
34
|
+
type: test_soc,v1
|
35
|
+
:inst_t3: SOCM_INST
|
36
|
+
type: core_B,rel1
|
37
|
+
params: {}
|
38
|
+
|
39
|
+
static: {}
|
40
|
+
|
41
|
+
cons:
|
42
|
+
:t_con:
|
43
|
+
:mapping:
|
44
|
+
- :inst_t2: :top_ifc
|
45
|
+
- :test_soc_top: :top_ifc
|
46
|
+
:i_con:
|
47
|
+
:mapping:
|
48
|
+
- :inst_t1: :top_ifc
|
49
|
+
- :inst_t3: :myifc
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
# :top_con:
|
55
|
+
# :mapping:
|
56
|
+
# - :test_soc: :top_ifc
|
57
|
+
# - :inst_d: :myifc
|
58
|
+
hdlfiles: {}
|
59
|
+
toplevel: test_soc_top
|
60
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
SOCM_CORE
|
2
|
+
name: Core A
|
3
|
+
description: A test IP-core, which has no functionallity
|
4
|
+
id: core_A,rel1
|
5
|
+
date: 1.1.2014
|
6
|
+
license: LGPL
|
7
|
+
licensefile:
|
8
|
+
author: Christian Hättich
|
9
|
+
authormail: feddischson@opencores.org
|
10
|
+
repocmd:
|
11
|
+
toplevel: core_a
|
12
|
+
interfaces:
|
13
|
+
:ifc01: SOCM_IFC
|
14
|
+
name: core_AB_ifc
|
15
|
+
dir: 0
|
16
|
+
id: core_AB_ifc,1
|
17
|
+
ports:
|
18
|
+
:sig_con1a: SOCM_PORT
|
19
|
+
spc_ref: sig_a
|
20
|
+
len: param1
|
21
|
+
:sig_con1b: SOCM_PORT
|
22
|
+
spc_ref: sig_b
|
23
|
+
len: param2
|
24
|
+
:sig_con1c: SOCM_PORT
|
25
|
+
spc_ref: sig_c
|
26
|
+
len: 1
|
27
|
+
:ifc02: SOCM_IFC
|
28
|
+
name: core_AB_ifc
|
29
|
+
dir: 1
|
30
|
+
id: core_AB_ifc,1
|
31
|
+
ports:
|
32
|
+
:sig_con1ax: SOCM_PORT
|
33
|
+
spc_ref: sig_a
|
34
|
+
len: param1
|
35
|
+
:sig_con1bx: SOCM_PORT
|
36
|
+
spc_ref: sig_b
|
37
|
+
len: param2
|
38
|
+
:sig_con1cx: SOCM_PORT
|
39
|
+
spc_ref: sig_c
|
40
|
+
len: 1
|
41
|
+
|
42
|
+
|
43
|
+
hdlfiles:
|
44
|
+
:core_a.vhd: SOCM_HDL_FILE
|
45
|
+
use_syn: true
|
46
|
+
use_sys_sim: true
|
47
|
+
use_mod_sim: true
|
48
|
+
type: vhdl
|
49
|
+
path: ./core_a.vhd
|
50
|
+
|
51
|
+
inst_parameters:
|
52
|
+
:param1: SOCM_PARAM
|
53
|
+
type: integer
|
54
|
+
default: 8
|
55
|
+
min: 0
|
56
|
+
max: 10
|
57
|
+
visible: true
|
58
|
+
editable: true
|
59
|
+
description: More setup
|
60
|
+
:param2: SOCM_PARAM
|
61
|
+
type: integer
|
62
|
+
default: 0
|
63
|
+
min: 0
|
64
|
+
max: 4
|
65
|
+
visible: true
|
66
|
+
editable: true
|
67
|
+
description: More setup
|
68
|
+
:param3: SOCM_PARAM
|
69
|
+
type: integer
|
70
|
+
default: 0
|
71
|
+
min: 0
|
72
|
+
max: 4
|
73
|
+
visible: true
|
74
|
+
editable: true
|
75
|
+
description: More setup
|