import GetPut::*;
+ (*always_ready,always_enabled*)
interface MuxSelectionLines;
// declare the method which will capture the user pin-mux
endinterface
+ (*always_ready,always_enabled*)
interface PeripheralSideUART;
// interface declaration between UART and pinmux
interface Put#(Bit#(1)) tx;
// (*always_ready,always_enabled*) method Bit#(1) rx;
endinterface
+ (*always_ready,always_enabled*)
interface PeripheralSideGPIOA;
// interface declaration between GPIOA-0 and pinmux
interface Put#(Bit#(1)) a0_out;
interface Get#(Bit#(1)) a2_in;
endinterface
+ (*always_ready,always_enabled*)
interface PeripheralSideTWI;
// interface declaration between TWI and pinmux
interface Put#(Bit#(1)) sda_out;
interface Get#(Bit#(1)) scl_in;
endinterface
+ (*always_ready,always_enabled*)
interface PeripheralSide;
// declare the interface to the peripherals
// Each peripheral's function will be either an input, output