Exemple #1
0
                                          pll_flowDir, extDir, pvtFormatDir,
                                          platform, pll_name, lvs, pex)

    if outMode == 'full':
        #--------------------------------------------------------
        # run analog sim
        #--------------------------------------------------------
        print(
            '#======================================================================'
        )
        print('# running post-pex analog sim for DCO alone')
        print(
            '#======================================================================'
        )
        run_pex_flow.gen_post_pex_netlist(platform, dcoName, pvtFormatDir,
                                          dco_flowDir, extDir, calibreRulesDir,
                                          wellpin, pex_spectre)
        run_pex_sim.gen_dco_pex_wrapper(extDir, pex_netlistDir, pvtFormatDir,
                                        Ncc, Ndrv, Nfc, Nstg, ninterp, dcoName,
                                        fc_en_type, FC_half)
        run_pex_sim.gen_tb_wrapped(hspiceModel, pex_tbDir, pvtFormatDir, Ncc,
                                   Ndrv, Nfc, Nstg, vdd, temp, fc_en_type,
                                   pex_sim_time, corner_lib, dcoName,
                                   pex_netlistDir, single_ended, pex_spectre,
                                   tapeout_mode)
        dcoNames = [dcoName]
        run_pex_sim.gen_mkfile_pex(pvtFormatDir, hspiceDir, pex_resDir,
                                   pex_tbDir, num_core, dcoNames, tech_node)

        #-------------------------------------------
        # read pex sim results
Exemple #2
0
   with open(flowDir + '/scripts/dc/dc.filelist.tcl', 'w') as file:
      file.write(filedata)

   #---------------------------------------------------------------------------
   # Run Synthesis and APR
   #---------------------------------------------------------------------------
   print('# Array Size %s - Running Synthesis and APR...' % arrSize)
   designArea = rdf.run_synth_n_apr(args.platform, designName, flowDir)
   p = sp.Popen(['cp',flowDir+'/reports/innovus/'+designName+'.main.htm.ascii',simDir+'/run/'])
   print('# Array Size %s - Synthesis and APR finished' % arrSize)

   #---------------------------------------------------------------------------
   # Generate post PEX netlist
   #---------------------------------------------------------------------------
   print('# Array Size %s - Generating post PEX netist...' % arrSize)
   pex.gen_post_pex_netlist(args.platform, designName, flowDir, extDir, \
                            calibreRulesDir)
   print('# Array Size %s - Post PEX netlist Generated' % arrSize)

   #---------------------------------------------------------------------------
   # Run Hspice Sims
   #---------------------------------------------------------------------------
   print('# Array Size %s - Running Hspice Sims...' % arrSize)
   sim.run_post_pex_model_imax_worst(args.platform, \
                                     platformConfig['hspiceModels'], \
                                     designName, extDir, simDir, \
                                     simTool, arrSize)
   print('# Array Size %s - Hspice Sim Completed' % arrSize)

   #---------------------------------------------------------------------------
   # Parse the Sim Results
   #---------------------------------------------------------------------------