Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2x: Run output produced through vpr #672

Merged
merged 39 commits into from May 11, 2019

Conversation

Projects
None yet
3 participants
@mithro
Copy link
Member

commented May 3, 2019

This pull request;

  1. Adds tool which generates an arch.xml file which includes the v2x pb_type.xml and model.xml files. The wrapper includes;
    • One input pad for every input pin
    • One output pad for every output pin
    • A top level TILE wrapper around the pb_type.xml file.
  2. Adds tool which generates an eblif file which includes a subckt which should be placeable at the <pb_type> v2x generates.
  3. Adds a target to merge everything into an arch.xml and then do a simple place and route run through vpr.

This makes sure that the pb_type.xml and model.xml can be loaded into vpr correctly.

This fixes #668.

Depends on #664.

@mithro mithro requested review from litghost and kgugala May 3, 2019

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from a5b2d59 to 039171b May 3, 2019

Show resolved Hide resolved common/cmake/devices.cmake
Show resolved Hide resolved common/cmake/devices.cmake Outdated
Show resolved Hide resolved common/cmake/gen.cmake Outdated
Show resolved Hide resolved common/cmake/gen.cmake Outdated
Show resolved Hide resolved common/cmake/gen.cmake Outdated
Show resolved Hide resolved utils/vlog/vlog_to_test_eblif.py Outdated
Show resolved Hide resolved utils/vlog/vlog_to_test_eblif.py Outdated
Show resolved Hide resolved utils/vlog/vlog_to_test_arch.py Outdated
Show resolved Hide resolved utils/vlog/vlog_to_test_arch.py Outdated
Show resolved Hide resolved utils/vlog/vlog_to_test_arch.py Outdated

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch 3 times, most recently from a85f83a to 2ff9b18 May 3, 2019

@mithro
Copy link
Member Author

left a comment

I reworked the tools so they only depend on the XML files rather than the Verilog.

Show resolved Hide resolved common/cmake/v2x.cmake Outdated
Show resolved Hide resolved common/cmake/v2x.cmake Outdated
Show resolved Hide resolved common/cmake/v2x.cmake Outdated
Show resolved Hide resolved utils/lib/pb_type.py Outdated
Show resolved Hide resolved utils/vlog/tests/dsp_combinational/CMakeLists.txt Outdated
Show resolved Hide resolved utils/vpr_pbtype_arch_wrapper.py
@@ -77,10 +88,13 @@ def grid_format(tiles):
return "".join(s[:-1])


def grid_insert(tiles, x, values):
"""
def grid_place_in_column(tiles: GridDict, x: XPos, values: List[str]):

This comment has been minimized.

Copy link
@litghost

litghost May 6, 2019

Contributor

What is values? How do I set it?

This comment has been minimized.

Copy link
@litghost

litghost May 7, 2019

Contributor

Still missing argument documentation

Show resolved Hide resolved utils/vpr_pbtype_arch_wrapper.py Outdated

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from 449d988 to 0c856ca May 7, 2019

@mithro mithro requested a review from litghost May 7, 2019

Fixed most comments.

@kgugala

This comment has been minimized.

Copy link
Member

commented May 7, 2019

CI is failing on multiple_instance test. It looks like top level model was not emitted to the xml:

-  <model name="multiple_instance">
-    <input_ports>
-      <port combinational_sink_ports="sum cout" name="a"/>
-      <port combinational_sink_ports="sum cout" name="b"/>
-      <port combinational_sink_ports="sum cout" name="cin"/>
-    </input_ports>
-    <output_ports>
-      <port name="cout"/>
-      <port name="sum"/>
-    </output_ports>
-  </model>
 </models>
Show resolved Hide resolved utils/vlog/vlog_to_model.py
Show resolved Hide resolved utils/vlog/vlog_to_model.py

if __name__ == "__main__":
import doctest
doctest.testmod()

This comment has been minimized.

Copy link
@litghost

litghost May 7, 2019

Contributor

I'm pretty sure you don't mean to run the doctests every time this tool is invoked?

@@ -77,10 +88,13 @@ def grid_format(tiles):
return "".join(s[:-1])


def grid_insert(tiles, x, values):
"""
def grid_place_in_column(tiles: GridDict, x: XPos, values: List[str]):

This comment has been minimized.

Copy link
@litghost

litghost May 7, 2019

Contributor

Still missing argument documentation

Show resolved Hide resolved utils/vpr_pbtype_arch_wrapper.py

if __name__ == "__main__":
import doctest
doctest.testmod()

This comment has been minimized.

Copy link
@litghost

litghost May 7, 2019

Contributor

Don't think you mean to run doctest each time main is run?

Show resolved Hide resolved utils/lib/flatten.py Outdated
Show resolved Hide resolved utils/vpr_pbtype_to_eblif.py Outdated
Show resolved Hide resolved utils/vpr_pbtype_arch_wrapper.py Outdated
Show resolved Hide resolved utils/vpr_pbtype_arch_wrapper.py Outdated
Show resolved Hide resolved utils/vpr_pbtype_arch_wrapper.py Outdated
Show resolved Hide resolved utils/vlog/vlog_to_pbtype.py

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from 0c856ca to 665faaa May 7, 2019

@kgugala

kgugala approved these changes May 7, 2019

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from e968475 to f336ec7 May 8, 2019

@dep dep bot added the dependent label May 8, 2019

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from f336ec7 to 6d0b3ff May 8, 2019

@mithro

This comment has been minimized.

Copy link
Member Author

commented May 8, 2019

Currently dieing due to new tests in other pull requests added inputs which are missing timing information;

Error 1: /usr/local/google/home/tansell/github/SymbiFlow/symbiflow-arch-defs/build/utils/vlog/tests/dsp_inout_registered/dsp_inout_registered.arch.merged.xml:-1 <pb_type> 'dff' timing-annotation/<model> mismatch on port 'd' of model 'dff', port is a sequential input but has neither T_setup nor T_hold specified    

@mithro mithro added this to the Use v2x for XML generation milestone May 9, 2019

v2x: Fix mispelling in command line help.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>

mithro added some commits May 6, 2019

cmake: s/xml_sort/xml_canonicalize_merge.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
cmake: Use `append_file_dependency` in `vptr_test_pbtype`.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Adding a little more documentation.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Better naming of variables.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: `make format_python`
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
v2s: Only output leaf models file.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Generate layout based on leaf model which will be used.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Remove reverse from flatten.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
cmake: Don't use "" in `cmake_parse_arguments`
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
v2x: Remove the unused model.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Use unidir routing in template.
`bidir` stuff is a lot less tested in vpr. See
verilog-to-routing/vtr-verilog-to-routing#277

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
cmake: In `vpr_test_pbtype` depend on xmllint + fix Python deps.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
v2x: Update golden model for `dsp_out_registered` test.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
v2x: Reduce a level of indenting.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Pass in location of xmllint.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
v2x: Add `add_file_target` calls in CMakeLists.txt files.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Make format_python
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
v2x: Disable dsp_xxx_registered tests.
Currently fail with;
```
utils/vlog/tests/dsp_inout_registered/dsp_inout_registered.arch.merged.xml:-1
<pb_type> 'dff' timing-annotation/<model> mismatch on port 'd' of model
'dff', port is a sequential input but has neither T_setup nor T_hold
specified
```

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from 23c48b6 to 2af76b7 May 10, 2019

mithro added some commits May 10, 2019

cmake: Add TOP_MODULE argument.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Improve typing and documentation.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Remove stray comment.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Improve documentation.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: make format_python
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Small doc fix.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
utils: Fix broken type name.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>

@mithro mithro force-pushed the mithro:v2x-run-output-against-vpr branch from 9a1a00e to 50033a8 May 11, 2019

@mithro mithro merged commit 82bdc52 into SymbiFlow:master May 11, 2019

8 checks passed

Architecture Definitions (Presubmit) Build successful
Details
DCO DCO
Details
Documentation (Presubmit) Build successful
Details
Lattice iCE40 (Presubmit) Build successful
Details
Testing Architectures (Presubmit) Build successful
Details
WIP Ready for review
Details
Xilinx Series 7 (Presubmit) Build successful
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details

@mithro mithro deleted the mithro:v2x-run-output-against-vpr branch May 11, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.