[Calyx] [obvious] Update documentation for ComponentOp.

This commit is contained in:
Chris Gyurgyik 2021-09-14 15:08:05 -07:00 committed by GitHub
parent 8b08c41e6c
commit 3287496640
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 10 deletions

View File

@ -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