Differences
This shows you the differences between two versions of the page.
Both sides previous revision
Previous revision
|
Last revision
Both sides next revision
|
std:channels [2022/07/17 07:00] rajit |
std:channels [2022/07/17 07:05] rajit |
| |
The namespace also includes definitions for the same channel names but starting with ''a'' instead of ''e''. These correspond to channels that use the standard acknowledge signal instead of the inverted acknowledge (enable) signal. | The namespace also includes definitions for the same channel names but starting with ''a'' instead of ''e''. These correspond to channels that use the standard acknowledge signal instead of the inverted acknowledge (enable) signal. |
| |
| <code act> |
| template<pint M> defchan eMx1of2 <: chan(int<M>) (std::data::Mx1of2?!<M> d; bool!? e); |
| template<pint M> defchan erMx1of2 <: chan(int<M>) (std::data::Mx1of2?!<M> d; bool!? e); |
| </code> |
| This defines a standard M-bit data channel with an inverted acknowledge. The ''er'' variant resets with a zero data value on its output. Channel definitions with acknowledges also exist, and they follow the standard naming convention starting with ''a'' rather than ''e''. |
| |
| |
| <code act> |
| template<pint M> defchan bd <: chan(int<M>) (bool?! d[M]; bool?! r; bool!? a); |
| template<pint M> defchan rbd <: chan(int<M>) (bool?! d[M]; bool?! r; bool!? a); |
| </code> |
| This is an M-bit bundled-data channel, with the ''.r'' field for the request and the ''.a'' field for the acknowledge. The channel name beginning with ''r'' corresponds to a bundled-data channel that resets with data on its output. |
| |
| |
| |
| |