Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
H
Hdlmake
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
15
Issues
15
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
Hdlmake
Commits
1428cb08
Commit
1428cb08
authored
Mar 11, 2017
by
Javier D. Garcia-Lasheras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor how the combined project manifest is calculated
parent
212d24b3
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
22 deletions
+24
-22
action.py
hdlmake/action/action.py
+13
-0
core.py
hdlmake/action/core.py
+6
-0
make_sim.py
hdlmake/tools/make_sim.py
+1
-9
make_syn.py
hdlmake/tools/make_syn.py
+1
-9
makefile.py
hdlmake/tools/makefile.py
+0
-1
xilinx.py
hdlmake/tools/xilinx.py
+3
-3
No files found.
hdlmake/action/action.py
View file @
1428cb08
...
...
@@ -131,6 +131,19 @@ class Action(list):
"""Get the Top module from the pool"""
return
self
.
top_module
def
get_config_dict
(
self
):
"""Get the combined hierarchical Manifest dictionary from the pool"""
config_dict
=
{}
for
mod
in
self
:
manifest_dict_tmp
=
mod
.
manifest_dict
if
'fetchto'
in
manifest_dict_tmp
:
manifest_dict_tmp
[
'fetchto'
]
=
path_mod
.
relpath
(
os
.
path
.
join
(
mod
.
path
,
mod
.
manifest_dict
[
'fetchto'
]))
manifest_dict_tmp
.
update
(
config_dict
)
config_dict
=
manifest_dict_tmp
return
config_dict
def
_add
(
self
,
new_module
):
"""Add the given new module if this is not already in the pool"""
from
hdlmake.module
import
Module
...
...
hdlmake/action/core.py
View file @
1428cb08
...
...
@@ -127,6 +127,12 @@ class ActionCore(Action):
for
mod_aux
in
unfetched_modules
:
logging
.
warning
(
"List incomplete, module
%
s has not been fetched!"
,
mod_aux
)
print
(
"88888888888888888888888888888888888888"
)
for
module
in
self
:
print
(
module
.
manifest_dict
.
get
(
"action"
))
print
(
module
.
manifest_dict
.
get
(
"syn_top"
))
print
(
module
.
manifest_dict
.
get
(
"sim_top"
))
print
(
"88888888888888888888888888888888888888"
)
file_set
=
self
.
build_file_set
(
top_entity
=
self
.
env
.
options
.
top
)
file_list
=
dep_solver
.
make_dependency_sorted_list
(
file_set
)
files_str
=
[
file_aux
.
path
for
file_aux
in
file_list
]
...
...
hdlmake/tools/make_sim.py
View file @
1428cb08
...
...
@@ -33,15 +33,7 @@ class ToolSim(ToolMakefile):
def
simulation_makefile
(
self
,
pool
):
"""Execute the simulation action"""
pool
.
check_all_fetched_or_quit
()
manifest_project_dict
=
{}
for
mod
in
pool
:
manifest_project_dict
.
update
(
mod
.
manifest_dict
)
if
'fetchto'
in
mod
.
manifest_dict
:
self
.
repo_list
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
mod
.
path
,
mod
.
manifest_dict
[
'fetchto'
])))
manifest_project_dict
=
pool
.
get_config_dict
()
_check_simulation_manifest
(
manifest_project_dict
)
fset
=
pool
.
build_file_set
(
manifest_project_dict
.
get
(
"sim_top"
),
...
...
hdlmake/tools/make_syn.py
View file @
1428cb08
...
...
@@ -42,15 +42,7 @@ class ToolSyn(ToolMakefile):
def
synthesis_project
(
self
,
pool
):
"""Generate a project for the specific synthesis tool"""
pool
.
check_all_fetched_or_quit
()
manifest_project_dict
=
{}
for
mod
in
pool
:
manifest_project_dict
.
update
(
mod
.
manifest_dict
)
if
'fetchto'
in
mod
.
manifest_dict
:
self
.
repo_list
.
append
(
os
.
path
.
abspath
(
os
.
path
.
join
(
mod
.
path
,
mod
.
manifest_dict
[
'fetchto'
])))
manifest_project_dict
=
pool
.
get_config_dict
()
_check_synthesis_manifest
(
manifest_project_dict
)
top_module
=
pool
.
get_top_module
()
fileset
=
pool
.
build_file_set
(
...
...
hdlmake/tools/makefile.py
View file @
1428cb08
...
...
@@ -45,7 +45,6 @@ class ToolMakefile(object):
self
.
_hdl_files
=
[]
self
.
_supported_files
=
[]
self
.
_standard_libs
=
[]
self
.
repo_list
=
[]
self
.
fileset
=
None
if
filename
:
self
.
_filename
=
filename
...
...
hdlmake/tools/xilinx.py
View file @
1428cb08
...
...
@@ -82,9 +82,9 @@ if {{ $$keyword != "Complete!" }} {{
[
'part'
,
syn_device
+
syn_package
+
syn_grade
,
'current_project'
],
[
'target_language'
,
'VHDL'
,
'current_project'
],
[
'top'
,
syn_top
,
'get_property srcset [current_run]'
]]
if
not
self
.
repo_list
==
[]:
repo_string
=
'{'
+
" "
.
join
(
self
.
repo_list
)
+
'}'
properties
.
append
([
'ip_repo_paths'
,
repo_string
,
'current_fileset'
])
fetchto
=
self
.
manifest_dict
.
get
(
"fetchto"
)
if
not
fetchto
is
None
:
properties
.
append
([
'ip_repo_paths'
,
fetchto
,
'current_fileset'
])
if
not
syn_properties
is
None
:
properties
.
extend
(
syn_properties
)
for
prop
in
properties
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment