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

Adding new meta-entity mult array (multiplication array generator) #13

Merged
merged 27 commits into from
Aug 30, 2018

Conversation

nibrunie
Copy link
Contributor

No description provided.

nibrunie and others added 27 commits August 12, 2018 11:41
Details:
*    + enable the implementation of canonical NaN
Details:
*     + Implementing new generation mechanism for expression:
*       building node list ordered by depth to avoid too many level
*       of recursions during code generation
Details:
*    + Comparsion (Equal or NotEqual) of RTL_FixedPointFormat now relies on raw
*      logic vector comparison
Details:
*    + Adding PP tree compression algorithm: Wallace, Dadda, and
*      4 to 2 based Wallace
*    + Refactor 3 to 2 and 4 to 2 compressor implementation using
*      bare logic rather than bit arithmetic
Details:
*    + output precision frac size was wrong
Details:
*    + adding support for command line option --method to select compression
*      method
*    + Adding 2-stage array compression with pipeline register insertion in
*      pipelined mode
*    + Implementing prototype for Wallace and Dadda reductions based on 4to2
*      compressors
*    + Fixing support of accumulation operands
Details:
*    + mult_array's input arrival stage can now be configured
*      to an extra "[<stage>]" attribute after operation format
*      on the --mult-desc argument option
*    + partial input insertion and heaps reduction is performed at each stage
*      the limit of stage height can be set through --stage-height-limit
*      command line option (partially functionnal)
Details:
*    + fixing vhdl_code_generator generate_expr effect on optree which
*      was memoized as a CodeExpression and generated using force_input_variable
*      Translation between CodeExpression and CodeVariable is now performed
*      after memoization map access (and it includes result storage)
*    + adding proper __str__ method for CodeVariable and CodeExpression
*      classes
*    + code cleaning in code_generation.generator_utility module
Details:
*   + Adding clear error message when ML_Base_FixedPoint_Format
*     get_integer_coding value parameter exceeds format's bounds
Details:
*    + Partial Product computation in mult_array meta entity can now
*      be preceded by a booth radix-4 recoding and used it to reduce
*      the number of partial product bits generated
*    + This feature is enabled by the --booth command line option
Details:
*    + due to the overloading of ML_StdLogicVectorFormat's __eq__ method
*      its __hash__ method became None, making it "unhashable". It has been
*      fixed by fallbacking to its Parent ML_Format.__hash__ method
@nibrunie nibrunie added the enhancement New feature or request label Aug 30, 2018
@nibrunie nibrunie merged commit 345616f into master Aug 30, 2018
@nibrunie nibrunie deleted the mult_array branch August 30, 2018 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant