Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
H
Hdlmake
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 13
    • Issues 13
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 2
    • Merge Requests 2
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • Hdlmake
  • Wiki
  • Fusesoc

Fusesoc

Last edited by Tristan Gingold Jul 19, 2019
Page history

Comparison with FuseSoC (and ideas from FuseSoC)

Dependencies and hdl parsers

FuseSoC doesn't use any HDL parsers. The list of files to be used is the list of files given by the core and its dependencies. They are simply "sorted" by the topological order.

The HDL parsers in HDLMake are not really parser but are based on regexp. So they are incomplete and may produce wrong result. This is not fixable. Even if a full parser (with dependency analysis) was used, they may still have problems while dealing with encrypted cores.

File format

FuseSoC uses a YAML format (declarative) while HDLMake uses a python file (with all the power and dangers from python)

Flexibility

FuseSoC will always use the same set of files for an imported core. So you cannot abstract your tool (use one core with different implementations according to the target). There is support for conditions for tool and top_level; check issue 268. HDLMake has the full power and dangers of Python.

Use of make

Both HDLMake and FuseSoC generate a Makefile, which is annoying for Windows users. There is work in progress in HDLMake to generate a shell/command script.

Tools supported

Both HDLMake and FuseSoC support many tools (simulators or synthesis). But FuseSoC uses an external module (EDAlize) to handle tools.

Dealing with sources

FuseSoC gathers the sources from all dependencies and work with a copy of the sources. This is not very efficient and can be confusing as the file pointed by error messages is a copy. But this allows to package easily the set of sources. However there is the --no-export switch to avoid copying files.

Versioning

FuseSoC deals with core versions, while HDLMake has no notion of versions.

Clone repository
  • 2014 release
  • Building wrpc with hdlmake
  • Documents
  • Fusesoc
  • Home
  • Ideas
  • News
  • Quick start
  • Sample project
  • Faq
  • Full documentation
  • Manifest
  • Manifest variables description
  • Masterforisypusers
  • Documents
    • Project attachments
More Pages

New Wiki Page

Tip: You can specify the full path for the new file. We will automatically create any missing directories.