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 17
    • Issues 17
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • Hdlmake
  • Wiki
  • 2014 release

2014 release

Last edited by OHWR Gitlab support Mar 27, 2019
Page history
This is an old version of this page. You can view the most recent version or browse the history.

2014 Release

THIS DOCUMENT IS AN IN PROGRESS DRAFT!!

Intro

Bring the current master to a similar stage to the ISYP branch.

Docs

Command syntax and run arguments name/behavior have changed from ISYP to current master, but the documentation it's not well

In sources

It includes two pdf files that are not valid for current master as they are ISYP related.

  • hdlmake_manual.pdf: this is old, points to ISYP information. It only mentions VHDL supported, while some of the current hdlmake actions support Verilog, VHDL and even some other HDL languages such as System Verilog.
  • hdlmake_quick_start.pdf: this is old, related with ISYP.

The source file in La(tex) format.

  • hdlmake.tex: this is supposed to be the actual user document specific for current Master code, but it seems to be targeted to ISYP again.

Wiki

The ISYP and current Masted related info is mixed across the wiki.

  • Manifest-variables-description: this is from ISYP. Some of the critical variables for current Master are not listed: e.g. syn_tool
  • Run-arguments-summary:Run-arguments-summary: the argument syntax is from ISYP, but the argument set doesn't match with the actual code/binary.

Proposal

Separation between older releases stuff and current master.

  • Compile all the stuff related with ISYP/v1.0 and set a clear wiki section for this stuff.
  • Write a new user document in both wiki and texinfo

A full current feature set list with examples and parameter/options.

Developer doc: Include python comments and a Python generation (tested with "epydoc").

Demos

"Learn by example": use the same design samples for both documentation/tutorial and regression testing (this is one of the features to be done).

The core features we want to test are those the users would like to use.

I've run a set of preliminary demos that are on the test folder 2014.

Do we want to arrange a separated repository for the demos?

Supported tools

In adition to general purpose code managing capabilities, there are different tool specific actions:

Action ISE Quartus Modelsim Icarus
Project Generation YES YES N.A.?? N.A.
Simulation ISIM Modelsim YES YES
Synthesis YES NO NO NO

GHDL*: some work was made in a separate branch. This is not included in master and follows an older software design (2 years old).

Xilinx biased, no synthesis makefiles for Altera.

Proposal

Add a supported action table and a demo project / example.

Add support for Makefile generation handling Quartus synthesis.

Simulation

Each simulation makefile builds a run project / workspace and then specific.

Device Family Support

In order to generate an ISE or a Quartus project, the device family is required. In the current master, the family support is very limited.

The way in wich xise calculates the family requires a constant database update as new device families are introduced in the market (e.g. Zynq family)

Some naming schemes are not supported in the current automatic calculation (e.g. Spartan3E, Spartan3AN...). A more complex mechanism is required in order to manage some devices. Even worse, if new naming schemes are introduced in the future, the algorithm will need to be upgraded again.

Xilinx

Key Family
XC6S Spartan6
XC3S Spartan3
XC6V Virtex6
XC5V Virtex5
XC4V Virtex4
XC7K Kintex7
XC7A Artix7

Altera

Key Family
EP2AGX Arria II GX
EP3C Cyclone III

Proposal

Add family as an optional parameter, in this way we are not limiting the use of new devices. If not family option value is provided in the manifest, hdlmake will try to get the family name from the device parameter.

Remote Synthesis

Simulation

Need a local ISE install in order to build a local xise

Asks for user password multiple times halting the automated flow.

(I've not tested screen support, just default mode)

New workflow support

Higher level abstraction.

PlanAhead:

  • Embedded cores (xps) -> Zynq, Dual core.
  • IP (xco) -> Issue already requested #938.
  • Optimized for tcl: concurrent runs, work batches...

New Features

Current status?

N Name
1 Better HDLMAKE_COREDIR handling
6 Screen support for remote synthesis.
9 Fetch modules to a single directory, whatever the structure of the project is.
15 Fix all OHWR issues
19 Add finer control for synthesis stages
20 Arrange a separate repository with test projects
21 Add support for Windows OS
22 No binary in repo

Issues

Some of the issues marked as solved are not applied in master -- may they be on a branch?.

Some examples I've already fixed in 2014 branch)

e.g. Binary configuration file generation #637

e.g. Hierachy Separator property. This was reported to the mailing list but a issue was not filled. Current status is not solved.

Should we re-check issues?

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.