| register-definition
|
::= |
register ident ((register-params)) ? = register-def |
| register-params
|
::= |
register-param (, register-param) * |
| register-param
|
::= |
ident : type-expr |
| register-def
|
::= |
(register-ports | reg-params) (, register-attribute) * : type-expr |
| register-ports
|
::= |
register-port (, register-port) ? |
| reg-params
|
::= |
reg-param (, reg-param) ? |
| register-port
|
::= |
(rw) ? regport-def |
| exprs
|
::= |
expr (, expr) * |
| regport-def
|
::= |
ident |
| |
| |
ident @ expr |
| reg-param
|
::= |
(rw) ? ident (exprs) |
| register-attribute
|
::= |
(rw) ? pre { (action-definition ;) + } |
| |
| |
(rw) ? post { (action-definition ;) + } |
| |
| |
(rw) ? mask bits-litteral |
rw
|
::= |
read |
| |
| |
write |
| action-definition
|
::= |
ident = expr |
| |
| |
ident.ident = expr |
| |
| |
ident[expr] = expr |
| |
| |
ident = { (action-definition ;) + } |