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

Add Interval support #202

Merged
merged 2 commits into from
Apr 13, 2020
Merged

Add Interval support #202

merged 2 commits into from
Apr 13, 2020

Conversation

chick
Copy link
Contributor

@chick chick commented Mar 26, 2020

Derived IntervalTypeClass from FixedPointTypeClass

  • DspRealTypeClass needs asInterval
  • FixedPoint, SInt and UInt type classes needs asInterval
  • ChiselConvertableFrom get asInterval prototypes
  • ImplicitsTop gets Interval references
  • Fixed problem with poking negative fixed point and intervals into verilator backend

Derived IntervalTypeClass from FixedPointTypeClass
- DspRealTypeClass needs asInterval
- FixedPoint, SInt and UInt type classes needs asInterval
- ChiselConvertableFrom get asInterval prototypes
- ImplicitsTop gets Interval references
- Fixed problem with poking negative fixed point and intervals into verilator backend
@chick chick requested a review from grebe March 26, 2020 17:06
@chick chick self-assigned this Mar 26, 2020
@chick chick changed the title First pass get things to compile with IntervalTypeClass.scala Add Interval support Mar 28, 2020
@chick
Copy link
Contributor Author

chick commented Mar 28, 2020

Tests working for this PR requires merge of PR #203

@chick
Copy link
Contributor Author

chick commented Mar 29, 2020

Dependent instead of PR #185

Copy link
Contributor

@grebe grebe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Chick, this is great! Sorry to be so slow on the review

// Note: The above doesn't rely on tools to expand, shrink correctly; the version below does.
// Assumes setBinaryPoint zero-extends. BUT Chisel doesn't seem to get widths properly and
// some other ops rely on width correctness... (even though Firrtl is right...)
//a.setBinaryPoint(newBP) >> n
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is unfortunate. do you think our goal should be to ultimately make setBinaryPoint work?

src/main/scala/dsptools/tester/DspTester.scala Outdated Show resolved Hide resolved
- fixed maskeValue typo
- cleaned up big ugly import
@chick chick merged commit 91690df into master Apr 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants