mirror of https://github.com/llvm/circt.git
[Calyx] [obvious] Update documentation for ComponentOp.
This commit is contained in:
parent
8b08c41e6c
commit
3287496640
|
@ -59,18 +59,15 @@ def ComponentOp : CalyxOp<"component", [
|
|||
]> {
|
||||
let summary = "Calyx Component";
|
||||
let description = [{
|
||||
The "calyx.component" operation represents an overall
|
||||
Calyx component containing:
|
||||
(1) In- and output port definitions
|
||||
that define the interface.
|
||||
The "calyx.component" operation represents an overall Calyx component containing:
|
||||
(1) In- and output port definitions that define the interface.
|
||||
(2) The cells, wires, and control schedule.
|
||||
|
||||
A Calyx component requires the following ports with bit width 1:
|
||||
- Input ports: `go`, `clk`, and `reset`.
|
||||
- Output ports: `done`.
|
||||
A Calyx component requires attributes `clk`, `go`, and `reset` on separate input ports,
|
||||
and `done` on an output port.
|
||||
|
||||
```mlir
|
||||
calyx.component @MyComponent(%in: i32, %go: i1, %clk: i1, %reset: i1) -> (%out: i16, %done: i1) {
|
||||
calyx.component @C(%in: i32, %go: i1 {go}, %clk: i1 {clk}, %reset: i1 {reset}) -> (%out: i16, %done: i1 {done}) {
|
||||
...
|
||||
calyx.wires { ... }
|
||||
calyx.control { ... }
|
||||
|
@ -155,8 +152,7 @@ def InstanceOp : CalyxCell<"instance", [
|
|||
]> {
|
||||
let summary = "Calyx Component Instance";
|
||||
let description = [{
|
||||
Represents an instance of a Calyx component,
|
||||
which may include state.
|
||||
Represents an instance of a Calyx component, which may include state.
|
||||
|
||||
```mlir
|
||||
%name.in, %name.out = calyx.instance "name" @MyComponent : i64, i16
|
||||
|
|
Loading…
Reference in New Issue