-
Notifications
You must be signed in to change notification settings - Fork 82
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
Comments
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
No description provided.
The text was updated successfully, but these errors were encountered: