What is the meaning of :*= and :=* operators?
up vote
4
down vote
favorite
I see some examples in the RocketChip, but could not find info in the API reference
masterNode :=* tlOtherMastersNode
DisableMonitors { implicit p => tlSlaveXbar.node :*= slaveNode }
chisel rocket-chip
add a comment |
up vote
4
down vote
favorite
I see some examples in the RocketChip, but could not find info in the API reference
masterNode :=* tlOtherMastersNode
DisableMonitors { implicit p => tlSlaveXbar.node :*= slaveNode }
chisel rocket-chip
add a comment |
up vote
4
down vote
favorite
up vote
4
down vote
favorite
I see some examples in the RocketChip, but could not find info in the API reference
masterNode :=* tlOtherMastersNode
DisableMonitors { implicit p => tlSlaveXbar.node :*= slaveNode }
chisel rocket-chip
I see some examples in the RocketChip, but could not find info in the API reference
masterNode :=* tlOtherMastersNode
DisableMonitors { implicit p => tlSlaveXbar.node :*= slaveNode }
chisel rocket-chip
chisel rocket-chip
edited Nov 10 at 20:43
seldridge
52538
52538
asked Nov 10 at 20:06
Tampler
1138
1138
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
3
down vote
accepted
These are not Chisel operators. Instead, they're defined and used by Rocket Chip's diplomacy
package. These are shorthand operators for doing different types of binding between diplomatic nodes.
No published API documentation for this exists, but you can start poking around in the diplomacy
package. The releveant location where these are defined is src/main/scala/diplomacy/Nodes.scala
.
1
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Note, that while esoteric, it solves a very real problem: I want to hook upN
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.
– seldridge
Nov 10 at 21:20
1
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
add a comment |
up vote
0
down vote
It might be useful to read the documentation on diplomacy by lowrisc: https://www.lowrisc.org/docs/diplomacy/
New contributor
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
These are not Chisel operators. Instead, they're defined and used by Rocket Chip's diplomacy
package. These are shorthand operators for doing different types of binding between diplomatic nodes.
No published API documentation for this exists, but you can start poking around in the diplomacy
package. The releveant location where these are defined is src/main/scala/diplomacy/Nodes.scala
.
1
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Note, that while esoteric, it solves a very real problem: I want to hook upN
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.
– seldridge
Nov 10 at 21:20
1
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
add a comment |
up vote
3
down vote
accepted
These are not Chisel operators. Instead, they're defined and used by Rocket Chip's diplomacy
package. These are shorthand operators for doing different types of binding between diplomatic nodes.
No published API documentation for this exists, but you can start poking around in the diplomacy
package. The releveant location where these are defined is src/main/scala/diplomacy/Nodes.scala
.
1
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Note, that while esoteric, it solves a very real problem: I want to hook upN
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.
– seldridge
Nov 10 at 21:20
1
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
These are not Chisel operators. Instead, they're defined and used by Rocket Chip's diplomacy
package. These are shorthand operators for doing different types of binding between diplomatic nodes.
No published API documentation for this exists, but you can start poking around in the diplomacy
package. The releveant location where these are defined is src/main/scala/diplomacy/Nodes.scala
.
These are not Chisel operators. Instead, they're defined and used by Rocket Chip's diplomacy
package. These are shorthand operators for doing different types of binding between diplomatic nodes.
No published API documentation for this exists, but you can start poking around in the diplomacy
package. The releveant location where these are defined is src/main/scala/diplomacy/Nodes.scala
.
answered Nov 10 at 20:51
seldridge
52538
52538
1
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Note, that while esoteric, it solves a very real problem: I want to hook upN
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.
– seldridge
Nov 10 at 21:20
1
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
add a comment |
1
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Note, that while esoteric, it solves a very real problem: I want to hook upN
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.
– seldridge
Nov 10 at 21:20
1
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
1
1
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Yeah, Diplomacy, while being a great differentiator of Chisel, is a highly esoteric feature with a poor documentation. We need to add more info about that and publish simple examples beyond Rocket
– Tampler
Nov 10 at 20:55
Note, that while esoteric, it solves a very real problem: I want to hook up
N
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.– seldridge
Nov 10 at 21:20
Note, that while esoteric, it solves a very real problem: I want to hook up
N
things together and I want their parameters to be a function of what I'm hooking up. Before, this would require very complicated configuration files. Diplomacy makes that far easier, albeit with some complicated software engineering on top of Chisel to enable pre-elaboration actions. If you haven't taken a look at the Diplomacy paper from CARRV 2017, it's a great reference: carrv.github.io/2017/papers/cook-diplomacy-carrv2017.pdf.– seldridge
Nov 10 at 21:20
1
1
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
Here's a bit of documentation lowrisc.org/docs/diplomacy
– Chick Markley
Nov 11 at 1:33
add a comment |
up vote
0
down vote
It might be useful to read the documentation on diplomacy by lowrisc: https://www.lowrisc.org/docs/diplomacy/
New contributor
add a comment |
up vote
0
down vote
It might be useful to read the documentation on diplomacy by lowrisc: https://www.lowrisc.org/docs/diplomacy/
New contributor
add a comment |
up vote
0
down vote
up vote
0
down vote
It might be useful to read the documentation on diplomacy by lowrisc: https://www.lowrisc.org/docs/diplomacy/
New contributor
It might be useful to read the documentation on diplomacy by lowrisc: https://www.lowrisc.org/docs/diplomacy/
New contributor
New contributor
answered Nov 15 at 17:31
Farzad
1
1
New contributor
New contributor
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53242955%2fwhat-is-the-meaning-of-and-operators%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown