Merge branch 'master' of ssh://libre-riscv.org:922/soclayout
authorJean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
Fri, 7 Aug 2020 11:19:39 +0000 (13:19 +0200)
committerJean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
Fri, 7 Aug 2020 11:19:39 +0000 (13:19 +0200)
Conflicts:
experiments9/doDesign.py

1  2 
experiments9/doDesign.py

index 22e9707c7b9e995b55c66ffe38ee9fe860339257,f9ae7c9b523f24ba56cdfdb6fb9935f825dbadb9..8a89103fe25a6bea170b97ba422b1279eb973bd2
@@@ -438,38 -438,38 +438,38 @@@ def scriptMain ( **kw )
          blockSpr0 = Block.create \
              ( spr0
              , ioPins=[
 -            (IN              , 'coresync_clk'                 , l(805.0) )
 -            , (IW | AB, 'cu_issue_i'                   , 0, l(20),  1)
 -            , (IW | AB, 'oper_i_alu_spr0_is_32bit'     , 0, l(20),  1)
 -            , (IW | AB, 'coresync_rst'                 , 0, l(20),  1)
 -            , (IW | AB, 'src4_i'                       , 0, l(10),  1)
 -            , (IW | AB, 'src5_i({})'                   , 0, l(10),  2)
 -            , (IW | AB, 'src6_i({})'                   , 0, l(10),  2)
 -            , (IW | AB, 'cu_rd_go_i({})'               , 0, l(20),  6)
 -            , (IW | AB, 'cu_rdmaskn_i({})'             , 0, l(20),  6)
 -            , (IW | AB, 'cu_wr_go_i({})'               , 0, l(20),  6)
 -            , (IW | AB, 'oper_i_alu_spr0_insn_type({})', 0, l(20),  7)
 -            , (IW | AB, 'oper_i_alu_spr0_fn_unit({})'  , 0, l(20), 11)
 -            , (IW | AB, 'oper_i_alu_spr0_insn({})'     , 0, l(20), 32)
 -            , (IW | AB, 'src3_i({})'                   , 0, l(10), 64)
 -            , (IS | AB, 'src1_i({})'                   , 0, l(10), 64)
 -            , (IS | AB, 'src2_i({})'                   , 0,  l(5), 64)
 -            , (IE | AE  , 'cu_busy_o'                    , 0, l(20),  1)
 -            , (IE | AE  , 'dest4_o'                      , 0, l(20),  1)
 -            , (IE | AE  , 'fast1_ok'                     , 0, l(20),  1)
 -            , (IE | AE  , 'o_ok'                         , 0, l(20),  1)
 -            , (IE | AE  , 'spr1_ok'                      , 0, l(20),  1)
 -            , (IE | AE  , 'xer_ca_ok'                    , 0, l(20),  1)
 -            , (IE | AE  , 'xer_ov_ok'                    , 0, l(20),  1)
 -            , (IE | AE  , 'xer_so_ok'                    , 0, l(20),  1)
 -            , (IE | AE  , 'cu_rd_rel_o({})'              , 0,     0,  6)
 -            , (IE | AE  , 'cu_wr_rel_o({})'              , 0,     0,  6)
 -            , (IE | AE  , 'dest5_o({})'                  , 0,     0,  2)
 -            , (IE | AE  , 'dest6_o({})'                  , 0,     0,  2)
 -            , (IE | AE  , 'dest3_o({})'                  , 0, l(20), 64)
 -            , (IS | AE  , 'dest2_o({})'                  , 0, l(20), 64)
 -            , (IS | AE  , 'dest1_o({})'                  , 0, l(20), 64)
 -                     ]
 +                (IN     , 'coresync_clk'                 , l(805.0) ),
 +                (IW | AB, 'cu_issue_i'                   , 0, l(20),  1),
 +                (IW | AB, 'oper_i_alu_spr0_is_32bit'     , 0, l(20),  1),
 +                (IW | AB, 'coresync_rst'                 , 0, l(20),  1),
 +                (IW | AB, 'src4_i'                       , 0, l(10),  1),
 +                (IW | AB, 'src5_i({})'                   , 0, l(10),  2),
 +                (IW | AB, 'src6_i({})'                   , 0, l(10),  2),
 +                (IW | AB, 'cu_rd_go_i({})'               , 0, l(20),  6),
 +                (IW | AB, 'cu_rdmaskn_i({})'             , 0, l(20),  6),
 +                (IW | AB, 'cu_wr_go_i({})'               , 0, l(20),  6),
 +                (IW | AB, 'oper_i_alu_spr0_insn_type({})', 0, l(20),  7),
 +                (IW | AB, 'oper_i_alu_spr0_fn_unit({})'  , 0, l(20), 11),
 +                (IW | AB, 'oper_i_alu_spr0_insn({})'     , 0, l(20), 32),
 +                (IW | AB, 'src3_i({})'                   , 0, l(10), 64),
 +                (IS | AB, 'src1_i({})'                   , 0, l(10), 64),
 +                (IS | AB, 'src2_i({})'                   , 0,  l(5), 64),
 +                (IE | AE, 'cu_busy_o'                    , 0, l(20),  1),
 +                (IE | AE, 'dest4_o'                      , 0, l(20),  1),
 +                (IE | AE, 'fast1_ok'                     , 0, l(20),  1),
 +                (IE | AE, 'o_ok'                         , 0, l(20),  1),
 +                (IE | AE, 'spr1_ok'                      , 0, l(20),  1),
 +                (IE | AE, 'xer_ca_ok'                    , 0, l(20),  1),
 +                (IE | AE, 'xer_ov_ok'                    , 0, l(20),  1),
 +                (IE | AE, 'xer_so_ok'                    , 0, l(20),  1),
 +                (IE | AE, 'cu_rd_rel_o({})'              , 0,     0,  6),
 +                (IE | AE, 'cu_wr_rel_o({})'              , 0,     0,  6),
-                 (IN | AE, 'dest5_o({})'                  , 0,     0,  2),
-                 (IN | AE, 'dest6_o({})'                  , 0,     0,  2),
++                (IE | AE, 'dest5_o({})'                  , 0,     0,  2),
++                (IE | AE, 'dest6_o({})'                  , 0,     0,  2),
 +                (IE | AE, 'dest3_o({})'                  , 0, l(20), 64),
-                 (IE | AE, 'dest2_o({})'                  , 0, l(20), 64),
-                 (IE | AE, 'dest1_o({})'                  , 0, l(20), 64),
++                (IS | AE, 'dest2_o({})'                  , 0, l(20), 64),
++                (IS | AE, 'dest1_o({})'                  , 0, l(20), 64),
 +            ]
              )
          blockSpr0.state.cfg.etesian.uniformDensity = True
          blockSpr0.state.cfg.etesian.spaceMargin    = 0.5
          cellInt  = af.getCell( 'int', CRL.Catalog.State.Views )
          blockInt = Block.create \
              ( cellInt
 -            , ioPins=[ (IN              , 'coresync_clk'    , l(805.0) )
 -                     , (IW | AB, 'coresync_rst'    , 0, l(20),  1)
 -                     , (IN | AB, 'wen({})'         , 0, l(20), 32)
 -                     , (IN | AB, 'wen_1({})'       , 0, l(20), 32)
 -                     , (IN | AB, 'dmi_ren({})'    , 0, l(20), 32)
 -                     , (IN | AB, 'src1_ren({})'    , 0, l(20), 32)
 -                     , (IN | AB, 'src2_ren({})'    , 0, l(20), 32)
 -                     , (IN | AB, 'src3_ren({})'    , 0, l(20), 32)
 -                     , (IN | AB, 'data_i({})'      , 0, l(20), 64)
 -                     , (IN | AB, 'data_i_2({})'    , 0, l(20), 64)
 -                     , (IN | AE  , 'dmi_data_o({})' , 0, l(10), 64)
 -                     , (IN | AE  , 'src1_data_o({})' , 0, l(10), 64)
 -                     , (IN | AE  , 'src2_data_o({})' , 0, l(10), 64)
 -                     , (IN | AE  , 'src3_data_o({})' , 0, l(10), 64)
 -                     ]
 +            , ioPins=[
 +                (IN     , 'coresync_clk'    , l(805.0) ),
 +                (IW | AB, 'coresync_rst'    , 0, l(20),  1),
 +                (IW | AB, 'wen({})'         , 0, l(20), 32),
 +                (IW | AB, 'wen_1({})'       , 0, l(20), 32),
++                (IN | AB, 'dmi_ren({})'     , 0, l(20), 32),
 +                (IW | AB, 'src1_ren({})'    , 0, l(20), 32),
 +                (IW | AB, 'src2_ren({})'    , 0, l(20), 32),
 +                (IW | AB, 'src3_ren({})'    , 0, l(20), 32),
 +                (IS | AB, 'data_i({})'      , 0, l(20), 64),
 +                (IS | AB, 'data_i_2({})'    , 0, l(20), 64),
++                (IN | AE, 'dmi_data_o({})'  , 0, l(10), 64),
 +                (IN | AE, 'src1_data_o({})' , 0, l(10), 64),
 +                (IN | AE, 'src2_data_o({})' , 0, l(10), 64),
 +                (IN | AE, 'src3_data_o({})' , 0, l(10), 64),
 +            ]
              )
          blockInt.state.cfg.etesian.uniformDensity = True
          blockInt.state.cfg.etesian.aspectRatio    = 1.0