pub struct YxiBackend;
Expand description
Backend that generates the YXI Interface Definition Language. YXI aims to be a description of toplevel hardware modules that we can then consume to create things like AXI wrappers on arbitrary programs
Trait Implementations§
Source§impl Backend for YxiBackend
impl Backend for YxiBackend
Source§fn validate(_ctx: &Context) -> CalyxResult<()>
fn validate(_ctx: &Context) -> CalyxResult<()>
Validate this program for emitting using this backend. Returns an
Err(..) if the program has unexpected constructs.
Source§fn link_externs(_prog: &Context, _write: &mut OutputFile) -> CalyxResult<()>
fn link_externs(_prog: &Context, _write: &mut OutputFile) -> CalyxResult<()>
Link the extern collected while parsing the program.
Source§fn emit(prog: &Context, file: &mut OutputFile) -> CalyxResult<()>
fn emit(prog: &Context, file: &mut OutputFile) -> CalyxResult<()>
Transforms the program into a formatted string representing a valid
and write it to
write
.Source§fn run(&self, prog: Context, file: OutputFile) -> CalyxResult<()>
fn run(&self, prog: Context, file: OutputFile) -> CalyxResult<()>
Convience function to validate and emit the program.
Source§impl Default for YxiBackend
impl Default for YxiBackend
Source§fn default() -> YxiBackend
fn default() -> YxiBackend
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for YxiBackend
impl RefUnwindSafe for YxiBackend
impl Send for YxiBackend
impl Sync for YxiBackend
impl Unpin for YxiBackend
impl UnwindSafe for YxiBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more