Ejemplo n.º 1
0
 def __init__(self, cd, async_reset):
     rst1 = Signal()
     self.specials += [
         Instance("SB_DFFS", i_D=0, i_S=async_reset, i_C=cd.clk, o_Q=rst1),
         Instance("SB_DFFS",
                  i_D=rst1,
                  i_S=async_reset,
                  i_C=cd.clk,
                  o_Q=cd.rst)
     ]
Ejemplo n.º 2
0
 def __init__(self, cd, async_reset):
     rst1 = Signal()
     self.specials += [
         Instance("FD1S3BX", i_D=0, i_PD=async_reset, i_CK=cd.clk,
                  o_Q=rst1),
         Instance("FD1S3BX",
                  i_D=rst1,
                  i_PD=async_reset,
                  i_CK=cd.clk,
                  o_Q=cd.rst)
     ]
Ejemplo n.º 3
0
    def __init__(self, i, o_p, o_n):
        self.specials += Instance("SB_IO",
                                  p_PIN_TYPE=C(0b011000, 6),
                                  p_IO_STANDARD="SB_LVCMOS",
                                  io_PACKAGE_PIN=o_p,
                                  i_D_OUT_0=i)

        self.specials += Instance("SB_IO",
                                  p_PIN_TYPE=C(0b011000, 6),
                                  p_IO_STANDARD="SB_LVCMOS",
                                  io_PACKAGE_PIN=o_n,
                                  i_D_OUT_0=~i)
Ejemplo n.º 4
0
 def __init__(self, i1, i2, o, clk):
     self.specials += Instance(
         "ODDRXD1",
         synthesis_directive="ODDRAPPS=\"SCLK_ALIGNED\"",
         i_SCLK=clk,
         i_DA=i1,
         i_DB=i2,
         o_Q=o)
Ejemplo n.º 5
0
 def __init__(self, cd, async_reset):
     rst1 = Signal()
     self.specials += [
         Instance("FDPE",
                  p_INIT=1,
                  i_D=0,
                  i_PRE=async_reset,
                  i_CE=1,
                  i_C=cd.clk,
                  o_Q=rst1),
         Instance("FDPE",
                  p_INIT=1,
                  i_D=rst1,
                  i_PRE=async_reset,
                  i_CE=1,
                  i_C=cd.clk,
                  o_Q=cd.rst)
     ]
Ejemplo n.º 6
0
 def __init__(self, i1, i2, o, clk):
     self.specials += Instance(
         "ODDR",
         p_DDR_CLK_EDGE="SAME_EDGE",
         i_C=clk,
         i_CE=1,
         i_S=0,
         i_R=0,
         i_D1=i1,
         i_D2=i2,
         o_Q=o,
     )
Ejemplo n.º 7
0
 def __init__(self, i1, i2, o, clk):
     self.specials += Instance(
         "ODDR2",
         p_DDR_ALIGNMENT="NONE",
         p_INIT=0,
         p_SRTYPE="SYNC",
         i_C0=clk,
         i_C1=~clk,
         i_CE=1,
         i_S=0,
         i_R=0,
         i_D0=i1,
         i_D1=i2,
         o_Q=o,
     )
Ejemplo n.º 8
0
 def __init__(self, cd, async_reset):
     if not hasattr(async_reset, "attr"):
         i, async_reset = async_reset, Signal()
         self.comb += async_reset.eq(i)
     rst_meta = Signal()
     self.specials += [
         Instance("FDPE",
                  p_INIT=1,
                  i_D=0,
                  i_PRE=async_reset,
                  i_CE=1,
                  i_C=cd.clk,
                  o_Q=rst_meta,
                  attr={"async_reg", "ars_ff"}),
         Instance("FDPE",
                  p_INIT=1,
                  i_D=rst_meta,
                  i_PRE=async_reset,
                  i_CE=1,
                  i_C=cd.clk,
                  o_Q=cd.rst,
                  attr={"async_reg", "ars_ff"})
     ]
     async_reset.attr.add("ars_false_path")
Ejemplo n.º 9
0
 def __init__(self, i, o_p, o_n):
     self.specials += Instance("OBUFDS", i_I=i, o_O=o_p, o_OB=o_n)
Ejemplo n.º 10
0
 def __init__(self, i_p, i_n, o):
     self.specials += Instance("IBUFDS", i_I=i_p, i_IB=i_n, o_O=o)
Ejemplo n.º 11
0
 def __init__(self, i_p, i_n, o):
     self.specials += Instance("ALT_INBUF_DIFF",
                               name="ibuf_diff",
                               i_i=i_p,
                               i_ibar=i_n,
                               o_o=o)
Ejemplo n.º 12
0
 def __init__(self, i, o_p, o_n):
     self.specials += Instance("ALT_OUTBUF_DIFF",
                               name="obuf_diff",
                               i_i=i,
                               o_o=o_p,
                               o_obar=o_n)