berkeley-hardfloat | repository contains hardware floating-point units | Apps library
kandi X-RAY | berkeley-hardfloat Summary
kandi X-RAY | berkeley-hardfloat Summary
This repository contains hardware floating-point units written in Chisel. This library contains parameterized floating-point units for fused multiply-add operations, conversions between integer and floating-point numbers, and conversions between floating-point conversions with different precision. WARNING: These units are works in progress. They may not be yet completely free of bugs, nor are they fully optimized.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of berkeley-hardfloat
berkeley-hardfloat Key Features
berkeley-hardfloat Examples and Code Snippets
Community Discussions
Trending Discussions on berkeley-hardfloat
QUESTION
There are brief definitions of Queue
and other Standard Library Interfaces of Chisel (Decoupled
, Valid
, etc) in the Cheat-Sheet and a bit more detail in the Chisel Manual. I also found these two answers here at StackOverflow - here and here.
However, neither of these resources explains in the plastic way - and I feel that would help me better understand the purpose of these Interfaces - what do these lines of code synthesize to - what do they look like in actual hardware?
For example, here is a snippet of the FPU code from the package HardFloat:
val input = Decoupled(new DivRecFN_io(expWidth, sigWidth)).flip
where DivRecFN_io
is a class as follows:
class DivRecFN_io(expWidth: Int, sigWidth: Int) extends Bundle {
val a = ...
val b = ...
val ...
...
}
What exactly is achieved with the line containing Decouple
?
Thank you.
...ANSWER
Answered 2017-Dec-18 at 17:41Decoupled wires a DivRecFN Bundle to field named bits and adds ready and valid signals that are typically used to manage flow control for Modules that do not return results within a single cycle. By default DecoupledIO's data fields would be Output
. The flip at the end of the line would convert that to Input
. Considering a module C which contains the val input
and a module P that uses an instance of Module(C), The module C would be consuming the data in the Bundle, the parent of this module P would be producing the data placed in the Bundle. C would assert ready
to indicate it is ready for data, and would read/use that data when valid
is asserted by P.
The fields in the decoupled Bundle would be
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install berkeley-hardfloat
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page