コード例 #1
0
ファイル: ImportedObject_test.py プロジェクト: yxd97/pymtl3
 def construct(s):
     s.in_ = InPort(Bits32)
     s.out = OutPort(Bits32)
     s.v = VReg()
     s.v.in_ //= s.in_
     s.v.out //= s.out
     s.verilog_translate_import = True
コード例 #2
0
        def construct(s):
            s.in_ = InPort(Bits32)
            s.out = OutPort(Bits32)

            @s.update_on_edge
            def upblk():
                s.out = s.in_
コード例 #3
0
        def construct(s):
            s.in_ = [InPort(Bits1) for _ in range(4)]
            s.out = OutPort(Bits1)

            @s.update
            def upblk():
                s.out = s.in_[4]
コード例 #4
0
        def construct(s):
            s.in_ = InPort(Bits32)
            s.out = OutPort(Bits64)

            @s.update
            def upblk():
                s.out = concat(s.in_, Bits32(0))
コード例 #5
0
        def construct(s):
            s.in_ = [InPort(Bits32) for _ in range(2)]
            s.out = OutPort(Bits64)

            @s.update
            def upblk():
                s.out = concat(s.in_[0], s.in_[1])
コード例 #6
0
    def construct( s ):
      s.in_ = InPort( Bits16 )
      s.out = OutPort( Bits16 )

      @s.update
      def multi_components_B():
        s.out = s.in_
コード例 #7
0
        def construct(s):
            s.in_ = InPort(Bits32)
            s.out = OutPort(Bits32)

            @s.update_ff
            def upblk():
                s.out <<= s.in_
コード例 #8
0
ファイル: ComponentAPI_test.py プロジェクト: DanteSung/pymtl3
    def construct( s ):
      s.in_ = InPort( Bits32 )
      s.inner = Inner()
      s.out = OutPort( Bits32 )

      connect( s.in_, s.inner.in_)
      connect( s.inner.out, s.out )
コード例 #9
0
        def construct(s):
            s.in_ = InPort(Bits8)
            s.out = OutPort(Bits16)

            @s.update
            def upblk():
                s.out = concat(s, s.in_)
コード例 #10
0
ファイル: ImportedObject_test.py プロジェクト: qtt2/pymtl3
 def construct(s):
     s.in_ = InPort(Bits32)
     s.out = OutPort(Bits32)
     s.set_metadata(VerilogPlaceholderPass.port_map, {
         s.in_: "d",
         s.out: "q",
     })
コード例 #11
0
    def construct(s, shamt=1):
        s.in_ = InPort(Bits32)
        s.out = OutPort(Bits32)

        @s.update
        def up_real():
            s.out = s.in_ + shamt
コード例 #12
0
ファイル: ImportedObject_test.py プロジェクト: qtt2/pymtl3
 def construct(s, nports, nbits):
     s.in_ = [InPort(mk_bits(nbits)) for _ in range(nports)]
     s.out = [OutPort(mk_bits(nbits)) for _ in range(nports)]
     s.set_metadata(VerilogPlaceholderPass.params, {
         'num_ports': nports,
         'bitwidth': nbits,
     })
コード例 #13
0
    def construct(s, nbits=1):
        s.in_ = InPort(nbits)
        s.out = OutPort(nbits)

        @update
        def up_x2():
            s.out @= s.in_ << 1
コード例 #14
0
        def construct(s):
            s.in_ = InPort(Bits16)
            s.out = OutPort(Bits32)

            s.inner = FooStruct(16)
            s.inner.in_ //= s.in_
            connect(s.inner.out.b, s.out)
コード例 #15
0
    def construct( s ):
      s.in_ = InPort( Bits16 )
      s.out = OutPort( Bits8 )

      @s.update
      def mismatch_width_assign():
        s.out = s.in_
コード例 #16
0
        def construct(s):
            s.buf = InPort(Bits32)
            s.out = OutPort(Bits32)

            @s.update
            def upblk():
                s.out = s.buf
コード例 #17
0
    def construct( s ):
      s.in_ = InPort( Bits16 )
      s.out = OutPort( Bits16 )

      @s.update
      def bits_basic():
        s.out = s.in_ + Bits16( 10 )
コード例 #18
0
 def construct( s ):
   s.in_ = InPort( B )
   s.out = OutPort( Bits32 )
   @s.update
   def upblk():
     u = s.in_
     s.out = u.foo
コード例 #19
0
 def construct( s ):
   s.in_ = InPort( Bits16 )
   s.out = [ OutPort( Bits8 ) for _ in range(2) ]
   @s.update
   def upblk():
     for i in range(2):
       s.out[i] = s.in_[i*8 : i*8 + 8]
コード例 #20
0
 def construct( s ):
   s.in_ = InPort( Bits4 )
   s.out = [ OutPort( Bits1 ) for _ in range(5) ]
   s.comp_array = [ B() for _ in range(5) ]
   @s.update
   def upblk():
     s.out = s.comp_array[ 0 ].out
コード例 #21
0
        def construct(s):
            s.in_ = InPort(B)
            s.out = OutPort(Bits96)

            @s.update
            def upblk():
                s.out = concat(s.in_.bar[0], s.in_.c.woof, s.in_.foo)
コード例 #22
0
 def construct( s ):
   s.in_ = InPort( Bits32 )
   s.idx = B()
   s.out = OutPort( Bits4 )
   @s.update
   def upblk():
     s.out = s.in_[ 0:s.idx ]
コード例 #23
0
        def construct(s):
            s.in_ = InPort(Bits32)
            s.out = OutPort(Bits64)

            @s.update
            def upblk():
                s.out = zext(s.in_, 64)
コード例 #24
0
        def construct(s):
            s.in_ = InPort(B)
            s.out = OutPort(Bits1)

            @s.update
            def upblk():
                s.out = Bits1(1) + s.in_
コード例 #25
0
        def construct(s):
            s.in_ = InPort(Bits64)
            s.out = OutPort(Bits32)

            @s.update
            def upblk():
                s.out = s.in_[4:36]
コード例 #26
0
ファイル: Placeholder_test.py プロジェクト: yxd97/pymtl3
    def construct(s, nbits=0):
        s.in_ = InPort(mk_bits(nbits))
        s.out = OutPort(mk_bits(nbits))
        s.w = Wire(mk_bits(nbits))
        connect(s.w, s.out)

        s.inner = Foo(32)(in_=s.in_, out=s.w)
コード例 #27
0
        def construct(s):
            s.in_ = InPort(Bits8)
            s.out = OutPort(Bits16)

            @s.update
            def upblk():
                s.out = sext(s.in_, 4)
コード例 #28
0
ファイル: Placeholder_test.py プロジェクト: yxd97/pymtl3
    def construct(s, nbits=0):
        s.in_ = InPort(mk_bits(nbits))
        s.out = OutPort(mk_bits(nbits))

        @s.update
        def up_x2():
            s.out = s.in_ << 1
コード例 #29
0
        def construct(s):
            s.in_ = InPort(Bits4)
            s.out = OutPort(Bits1)

            @s.update
            def upblk():
                s.out = s.in_[4]
コード例 #30
0
 def construct( s ):
   foo = InPort( B )
   s._foo = foo
   s.out = OutPort( Bits32 )
   @s.update
   def upblk():
     s.out = foo.foo