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

Agnostic multiplier #125

Merged
merged 11 commits into from
Nov 6, 2024
Merged

Agnostic multiplier #125

merged 11 commits into from
Nov 6, 2024

Conversation

desmonddak
Copy link
Contributor

Description & Motivation

Adds an optional Logic signal to integer multiplier to configure for signed or unsigned operands at runtime. This uses
the 1-bit wider unsigned footprint of the PartialProductArray, as well as modifies the sign extension. The signed configuration is disabled when this signal is configured.

Related Issue(s)

Issue 121: Sign agnostic multiplier

Testing

Random test added that generates signed and unsigned operands for multiplication.

Backwards-compatibility

Is this a breaking change that will not be backwards-compatible? If yes, how so?

No. If you use a signed configuration flag, you cannot use this feature, you must disable that configuration and pass in a Logic during construction which allows runtime control. Otherwise, you can continue to hard-configure signed or unsigned operations.

Documentation

Does the change require any updates to documentation? If so, where? Are they included?

Yes. The new operand is documented in the source and a checkbox added to the configurator.

@desmonddak desmonddak requested a review from mkorbel1 November 6, 2024 00:09
@desmonddak desmonddak merged commit 7499025 into intel:main Nov 6, 2024
4 checks passed
@mkorbel1 mkorbel1 linked an issue Nov 20, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sign agnostic multiplier
1 participant