/*========== pinmux connections ============*/
{7}
{8}
- rule connect_i2c0_scl;
- pinmux.peripheral_side.twi_scl_out(i2c0.out.scl_out);
- pinmux.peripheral_side.twi_scl_outen(pack(i2c0.out.scl_out_en));
- endrule
- rule connect_i2c0_scl_in;
- i2c0.out.scl_in(pinmux.peripheral_side.twi_scl_in);
- endrule
- rule connect_i2c0_sda;
- pinmux.peripheral_side.twi_sda_out(i2c0.out.sda_out);
- pinmux.peripheral_side.twi_sda_outen(pack(i2c0.out.sda_out_en));
- endrule
- rule connect_i2c0_sda_in;
- i2c0.out.sda_in(pinmux.peripheral_side.twi_sda_in);
- endrule
- rule connect_uart1tx;
- pinmux.peripheral_side.uart_tx(uart1.coe_rs232.sout);
- endrule
- rule connect_uart1rx;
- uart1.coe_rs232.sin(pinmux.peripheral_side.uart_rx);
- endrule
for(Integer i=0;i<32;i=i+ 1)begin
rule connect_int_to_plic(wr_interrupt[i]==1);
ff_gateway_queue[i].enq(1);
if p.get('outen'):
fname = self.pinname_outen(pname)
if fname:
- ret.append(" {0}_outen({1}.{2});".format(ps, n, fname))
+ fname = "{0}{1}.{2}".format(n, count, fname)
+ fname = self.pinname_tweak(pname, 'outen', fname)
+ ret.append(" {0}_outen({1});".format(ps, fname))
ret.append(" endrule")
if typ == 'in' or typ == 'inout':
fname = self.pinname_in(pname)
def pinname_outen(self, pname):
return ''
+ def pinname_tweak(self, pname, typ, txt):
+ return txt
class uart(PBase):
return {'sda': 'out.sda_outen',
'scl': 'out.scl_outen'}.get(pname, '')
+ def pinname_tweak(self, pname, typ, txt):
+ if typ == 'outen':
+ return "pack({0})".format(txt)
+ return txt
class qspi(PBase):