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

PortBundles cannot contain lists #125

Open
dmlockhart opened this issue Feb 16, 2015 · 0 comments
Open

PortBundles cannot contain lists #125

dmlockhart opened this issue Feb 16, 2015 · 0 comments

Comments

@dmlockhart
Copy link
Contributor

No description provided.

dmlockhart added a commit that referenced this issue Feb 17, 2015
Some parameterizable generated code depends on the ability to slice
one-bit wires.

For example, accel/mvmult/MatrixVecLaneRTL.py contains a wrapper for a
multiply operation we use to enable register retiming for a synthesized
multiplier. It has a parametrizable number of register stages, these
registers can be enabled individually using the nbit s.enables input port.

The bitwidth of s.enables is set by the nstages parameter, and a loop in
the posedge_clk block is used with slicing to read each enable bit.  This
works fine if nstages is > 1 (wire [nstages-1:0] enable), but if nstages
is 1 the lack of the [0:0] prevents the wire from being sliced.  When we
had [0:0] it worked as expected.

I tried fixing the code to work around this limitation, but PortBundles
currently do not support lists of ports (opened as issue #125).
dmlockhart added a commit that referenced this issue Aug 26, 2015
Some parameterizable generated code depends on the ability to slice
one-bit wires.

For example, accel/mvmult/MatrixVecLaneRTL.py contains a wrapper for a
multiply operation we use to enable register retiming for a synthesized
multiplier. It has a parametrizable number of register stages, these
registers can be enabled individually using the nbit s.enables input port.

The bitwidth of s.enables is set by the nstages parameter, and a loop in
the posedge_clk block is used with slicing to read each enable bit.  This
works fine if nstages is > 1 (wire [nstages-1:0] enable), but if nstages
is 1 the lack of the [0:0] prevents the wire from being sliced.  When we
had [0:0] it worked as expected.

I tried fixing the code to work around this limitation, but PortBundles
currently do not support lists of ports (opened as issue #125).
dmlockhart added a commit that referenced this issue Aug 26, 2015
Some parameterizable generated code depends on the ability to slice
one-bit wires.

For example, accel/mvmult/MatrixVecLaneRTL.py contains a wrapper for a
multiply operation we use to enable register retiming for a synthesized
multiplier. It has a parametrizable number of register stages, these
registers can be enabled individually using the nbit s.enables input port.

The bitwidth of s.enables is set by the nstages parameter, and a loop in
the posedge_clk block is used with slicing to read each enable bit.  This
works fine if nstages is > 1 (wire [nstages-1:0] enable), but if nstages
is 1 the lack of the [0:0] prevents the wire from being sliced.  When we
had [0:0] it worked as expected.

I tried fixing the code to work around this limitation, but PortBundles
currently do not support lists of ports (opened as issue #125).
dmlockhart added a commit that referenced this issue Aug 31, 2015
Some parameterizable generated code depends on the ability to slice
one-bit wires.

For example, accel/mvmult/MatrixVecLaneRTL.py contains a wrapper for a
multiply operation we use to enable register retiming for a synthesized
multiplier. It has a parametrizable number of register stages, these
registers can be enabled individually using the nbit s.enables input port.

The bitwidth of s.enables is set by the nstages parameter, and a loop in
the posedge_clk block is used with slicing to read each enable bit.  This
works fine if nstages is > 1 (wire [nstages-1:0] enable), but if nstages
is 1 the lack of the [0:0] prevents the wire from being sliced.  When we
had [0:0] it worked as expected.

I tried fixing the code to work around this limitation, but PortBundles
currently do not support lists of ports (opened as issue #125).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant