Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Features

Constraint

  • [Constraint] setSite() command: compliance with LUT DFF and CY / Constraint can be set at any moment before Placing 1/5 (included)

  • [Constraint] constrainPath: DSP, RF, RAM and CY recognized. Distinction between Hard constrainPath (only instances in path are constrained) and Soft constrainpath (registers connected to all instances in path are constrained too).

  • [Constraint] reportRegisters: report the list of all registers at any step of progress

  • [Constraint] NxRegExp: Check Appendix “NxRegExp”

  • [Constraint]: addBlackbox (IP): Preplacing IP and implement the routed project in the top project. All TILE and CGB instances are supported.

Primitive

  • [Primitive] NX_GCK: ‘MUX’ mode with input generated into the fabric

  • [Primitive] NX_RAM: Support of Multi-Register Memory Read Port (case when no pipe at the output)

Logging

  • [Logging] Options table for bitstreaming in logs

  • [Logging] Added GCK to reportInstances table

Tool

  • [Tool] DSP_U : Inferred large multiplications allowed

  • [Tool] addVlogDefine command: command to override ‘Define’ in verilog file

Bug fix

Constraint

  • [Constraint] IO: Wrong IO name mustn’t reserve a pad

Logging

  • [Logging] Termination: TerminationReference only allowed for pads with termination

  • [Logging] Multiple Emitter: Name of the signal concerned by error is reported to user

  • [Logging] Termination: No termination for 3.3V for MEDIUM + LARGE / User IO name is reported in case of wrong termination value

Netlist

  • [Netlist] NX_IOB: generics set by addPad are now passed through the macro cell

  • [Netlist] NX_PLL_U: ‘use_cal’ set as integer instead of std_logic

Appendix

NxRegExp

Impacted methods:

The following methods allow regular expressions / wildcard formats in order to match with multiple instances:

·       addDSPLocation

·       addModule

·       addRAMLocation

·       constrainPath

·       getInstances

·       getModels

·       getRegisters

·       setSite

·       …

 

Maintainability:

It is no longer necessary to escape (with the ‘\’ character) special characters for these methods.

Affected special characters are:

·       ‘[‘

·       ‘]’

·       ‘(‘

·       ‘)’

·       ‘|’

For instance, the constraint:

addModule('timing_pipe\(X2A98C8C6\)', 'GEN_HIER0.GEN_COL\[0\].COL_PIPE', 'GEN_HIER0_COL-%')

can be replaced by:

addModule('timing_pipe(X2A98C8C6)', 'GEN_HIER0.GEN_COL[0].COL_PIPE', 'GEN_HIER0_COL-%')

However, the old format is still compliant and still operates.

 

User use:

In a usual way, a copy/paste of a path from a log file works for the constraint.

In addition, it is comfortable to use ‘*’ and ‘+’ characters to match several paths.

‘*’ matches with any character: can be very useful to match with all paths beginning with a specified path.

‘+’ matches with any character but ‘|’: can be very useful to match with all paths beginning with a specified path without matching with lower hierarchy levels.

Hereafter an example with existing paths and constraints:

Existing Path \ Path in constraint

start_path|mycell_*

start_path|mycell_+

start_path|mycell_12

Match

Match

start_path|mycell_12|some_sub_cell

Match

No match

 

If the user needs to use regular expressions ignoring auto-escaping of special characters, it is possible to set the constraint under quotes as follow:

addMappingDirective("getModels('add_[1-2][0-9]u_.*')", …)

  • No labels