亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bistpimseqonlinefull.java

?? Java遺傳算法庫
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * BISTIM.java
 *
 * Created on 19 May 2002, 18:56
 */

package jaga.pj.circuits.control;

import jaga.evolve.Evolver;
import jaga.deploy.Deployment;
import jaga.experiment.*;
import jaga.control.StandardInteractionModel;
import jaga.*;
import jaga.pj.circuits.CircuitState;
import jaga.pj.circuits.fpgaft.*;
import jaga.pj.circuits.SimulatorLogicElement;
import jaga.pj.circuits.experiment.ConfigurableSequentialCircuitExperiment;
import jaga.pj.circuits.experiment.MealyFSMEdge;
import jaga.pj.circuits.experiment.MealyFSMNode;

import java.util.Random;
import java.util.Vector;
import java.util.Hashtable;

import islandev.SnapshotPainter;
import islandev.EmptySnapshotPainter;


/** Like BISTPIM but:
 * <ul><li>Only On-Line BIST evaluated (must report first fault affecting outputs)</li>
 * <li>Optimization in SimulatorFaultyCircuitOpt used for sequenial circuits</li>
 * <li>For combinational circuits use BISTPIM</li>
 * <li>Overdetecting always good.
 * </ul>
 *
 * Could cache generated TPS per generation for use with NoisyIM
 */
public class BISTPIMSeqOnlineFull extends StandardInteractionModel
{
    // Constants
    final int E_HIGH = 1;
    final int E_LOW_OK = 0;
    final int E_LOW_ERROR = -1;
    
    final int nrEs = 1;
    
    // Config Vars
    
    // Variables for finding E
    protected int EStartAt = 0; // For each input cycle, start at ...
    protected int inputResetLength = 0;
    protected int eSize;
    protected int DQTol;
    
    // Variable for extracting value of output (kind of inverse of t_setup)
    protected double threshold = 0.1;
    
    //Working Vars
    protected double currMaxF_e = -1;
    protected SingleFaultModel faultModel;
    protected SingleRandomFaultModel srfm = null; // If its randomness, its randomness will need to be controlled
    protected ConfigurableSequentialCircuitExperiment scexp;
    protected SimulatorFaultyCircuit circuit;
    protected Hashtable TPS = new Hashtable();
    
    /** Evaluate a sequential circuit's BIST behaviour under all State, Fault, Input combinations
     * @param evo Evolver
     * @param dep Deployment
     * @param cir A SimulatorFaultyCircuit which must allow running a section of a test pattern
     * @param exp A Configurable Sequential Circuit Experiment to know at what point in the test pattern new states are entered
     * @param iss Input Sample Separation
     * @param fm Fault Model
     * @param es Number of consecutve highs at the error line E to trigger a "fault detected" event
     * @param painter Circuit painter
     * @param EStartAt Position within test cycle of length input sample separation until which we can ignore behaviour
     * @param inputResetLength How many input cycles it takes to bring this sequential circuit to its reset state
     */
    public BISTPIMSeqOnlineFull(Evolver evo, Deployment dep, SimulatorFaultyCircuit cir, ConfigurableSequentialCircuitExperiment exp, int iss, SingleFaultModel fm, int es, int DQTol, SnapshotPainter painter, int EStartAt, int inputResetLength) {
        this( evo, dep, cir, exp, iss, fm, es, DQTol );
        this.painter = painter;
        this.EStartAt = EStartAt;
        this.inputResetLength = inputResetLength;
    }
    
    public BISTPIMSeqOnlineFull(Evolver evo, Deployment dep, SimulatorFaultyCircuit cir, ConfigurableSequentialCircuitExperiment exp, int iss, SingleFaultModel fm, int es, int DQTol) {
        super( evo, dep, exp, iss );
        scexp = exp;
        circuit = cir;
        faultModel = fm;
        if( faultModel instanceof SingleRandomFaultModel )
        {
            srfm = ( SingleRandomFaultModel ) fm;
        }        
        eSize = es;
        this.DQTol = DQTol;
        
        // Build TPS: Test Patterns to apply at each state s such that all leaving arrows are tested.
        MealyFSMNode[] allStates = exp.getStateGraphNodes();
        int nrStates = allStates.length;
        int nrIns = exp.getNumOfInputs();
        int nrNoCkIns = nrIns - 1;
        int nrNoCkVectors = 1 << nrNoCkIns;
        
        for( int sl = 0; sl < nrStates; sl++ )
        {
            // 1. Create TP BitSets
            MealyFSMNode currState = allStates[ sl ];
            BitSet[] testBits = new BitSet[ nrIns ];
            int nrEdges = currState.getNumOfEdges();
            for( int bl = 0; bl < nrIns; bl++ )
            {
                testBits[ bl ] = new BitSet( nrEdges );
            }
            
            // 2. Fill up TP BitSets
            int TPPos = 0;
            for( int el = 0; el < nrNoCkVectors; el++ )
            {
                if( currState.nextStates[ el ] != null )
                {
                    ESLib.setLine( testBits, TPPos++, el * 2 ); // * 2 because last line (clock) = 0
                }
            }
            
            // 3. Generate SampleData TP from BitSets
            //SampleData[] currTPS = ExperimentLib.generateInputFromTest( testBits, 1, nrEdges, inputSampleSeparation );
            
            // 4. Store TP in TPS Hashset
            TPS.put( currState, testBits );
        }
    }
        
    public void evolve()
    {
        super.evolve();
        if( srfm != null )
        {
            srfm.nextRandomSeries(); // Same for all per generation, but != 'tween generations.
        }
        currMaxF_e = -1;
    }
    
    /** Evaluates these individuals using the deployment and experiments and
     * procedure of this model.
     */
    synchronized public double[] evaluate(Genotype[] inds)
    {
        Genotype ind = inds[ 0 ];

        // 1) Evaluate Ind with no faults.
        deployment.program( ind );
        SampleData[] input = experiment.generateInput( inputSampleSeparation );
        int[] stateEnterPos = scexp.getStateEnterPos();
        MealyFSMNode[] stateEnterNodes = scexp.getStateGraphNodes();
        int nrStates = stateEnterPos.length;
        int prevStateTPPos = 0;
        CircuitState currentState;
                
        //TI//if( !stateNoise ) {
        //TI//circuit.reset();
        //TI//}else{
        //circuit.randomReset();
        //TI//}
        
        SampleData[] noFQWithE = deployment.run( input );
        int nrOuts = noFQWithE.length - 1;
        SampleData[] noFQNoE = ESLib.getLines( noFQWithE, 0, nrOuts );
        double f_e = experiment.getFitness( input, noFQNoE );
        double f_b = 0, f_b_t = 0;
        boolean mainTaskOK = f_e > currMaxF_e - threshold;

        // 2) Compute f_b now for all combinations of inputs under every fault at each state
        if( mainTaskOK && !BISTLib.getE( inputResetLength, noFQWithE, eSize, nrEs, inputSampleSeparation, EStartAt ) ) // Check that E low for no faults! If it isn't, then discard.
        {
            Hashtable shuffledTPS = new Hashtable();
            Hashtable TPQS = new Hashtable();
            Hashtable circuitStates = new Hashtable();
            Hashtable EBehaviour = new Hashtable();
            
            currMaxF_e = Math.max( f_e, currMaxF_e );
            
            // 2.1) Init variables.
            boolean[] used = getUsed( nrOuts ); // Skipping faults in unused elements.

            int nrInstances = 1; // how many faults tested for 
            int diagInstances = 1; // how many correctly diagnosed, including no faults.
            
            // 2.2) Move to every state in turn
            for( int sl = 0; sl < nrStates; sl++ )
            {
                circuit.run( input, prevStateTPPos, stateEnterPos[ sl ] + 1 ); // **
                prevStateTPPos = stateEnterPos[ sl ];
                MealyFSMNode currNode = stateEnterNodes[ sl ];

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久蜜桃| 激情综合网最新| 亚洲激情校园春色| 亚洲三级久久久| 中文字幕亚洲在| 亚洲天堂av一区| 亚洲综合无码一区二区| 亚洲美女一区二区三区| 亚洲自拍偷拍九九九| 亚洲成人福利片| 蜜桃一区二区三区在线| 久久er99精品| 国产成人啪免费观看软件| 国产成人免费网站| 色综合视频在线观看| 欧美图片一区二区三区| 欧美一级理论片| 欧美va亚洲va在线观看蝴蝶网| 欧美tk—视频vk| 久久蜜臀中文字幕| 亚洲天堂福利av| 天天爽夜夜爽夜夜爽精品视频| 日韩在线观看一区二区| 久草精品在线观看| 国产精品1区二区.| 99re热这里只有精品视频| 91国产视频在线观看| 在线综合亚洲欧美在线视频| 在线91免费看| 久久久精品国产免大香伊| 亚洲欧美怡红院| 丝袜美腿亚洲一区| 国产高清精品在线| 欧美亚洲一区二区三区四区| 日韩精品中文字幕在线不卡尤物| 久久蜜桃av一区精品变态类天堂 | 亚洲视频你懂的| 亚洲一区在线电影| 欧美aaaaaa午夜精品| 国产精品系列在线播放| 91麻豆精品在线观看| 欧美日韩一区在线观看| 精品国产百合女同互慰| 亚洲天堂成人在线观看| 麻豆91在线观看| 色综合咪咪久久| 精品国产sm最大网站| 一区二区在线观看视频| 九九热在线视频观看这里只有精品 | 国产欧美精品国产国产专区| 亚洲欧洲99久久| 奇米一区二区三区av| 成人激情综合网站| 亚洲日本va午夜在线电影| 日本不卡一区二区| 91丨九色丨国产丨porny| 69p69国产精品| 中文字幕在线一区免费| 日韩国产精品91| 色综合一区二区三区| 精品久久免费看| 亚洲曰韩产成在线| 国产精品小仙女| 欧美一级专区免费大片| 亚洲精品视频免费观看| 国产精品 日产精品 欧美精品| 色婷婷久久久久swag精品| 国产视频视频一区| 秋霞午夜av一区二区三区| 91麻豆swag| 久久精品一二三| 久久99国产精品久久| 在线观看不卡一区| 国产精品美女久久久久aⅴ| 韩国午夜理伦三级不卡影院| 欧美日韩中字一区| 中文字幕制服丝袜一区二区三区 | 色妹子一区二区| 国产视频一区在线观看 | 色婷婷一区二区三区四区| 久久色.com| 欧美aaa在线| 欧美日韩精品一二三区| 亚洲美女在线一区| 99视频有精品| 中文在线资源观看网站视频免费不卡| 裸体歌舞表演一区二区| 欧美一区二区三区免费| 日韩av不卡在线观看| 欧美三级中文字幕在线观看| 亚洲色图在线看| 91免费视频大全| 国产精品久久久久久久浪潮网站| 狠狠色丁香婷婷综合久久片| 欧美xxxxxxxx| 狠狠色丁香久久婷婷综合丁香| 日韩无一区二区| 全国精品久久少妇| 日韩一级大片在线观看| 日本在线不卡视频| 欧美精品视频www在线观看| 亚洲不卡一区二区三区| 一本大道综合伊人精品热热| 亚洲精品中文字幕在线观看| 色综合视频在线观看| 亚洲精品成人天堂一二三| 91福利视频在线| 亚洲一区二区偷拍精品| 欧美在线免费视屏| 婷婷中文字幕综合| 欧美一区二区三区播放老司机| 免费成人在线视频观看| 日韩天堂在线观看| 国产一二精品视频| 国产精品剧情在线亚洲| 久久美女艺术照精彩视频福利播放| 玖玖九九国产精品| 久久久亚洲精品一区二区三区 | 国产91色综合久久免费分享| 国产视频911| 99re热视频这里只精品| 悠悠色在线精品| 欧美日韩综合在线| 蜜桃视频在线观看一区| 国产亚洲成av人在线观看导航| 国产成人精品1024| 亚洲私人黄色宅男| 欧美久久久久中文字幕| 免费在线观看精品| 国产欧美精品一区aⅴ影院 | 在线观看视频欧美| 奇米亚洲午夜久久精品| 国产视频在线观看一区二区三区 | 久久精品一区二区三区不卡牛牛| 成人av动漫网站| 亚洲午夜久久久久久久久电影网 | 人妖欧美一区二区| 日本一区二区三区久久久久久久久不| 不卡一二三区首页| 日日夜夜免费精品| 久久久精品综合| 92国产精品观看| 日本伊人精品一区二区三区观看方式 | 欧美放荡的少妇| 久久精品99久久久| 亚洲欧美一区二区久久| 91精品国产入口在线| 播五月开心婷婷综合| 香蕉成人伊视频在线观看| 国产日韩欧美精品电影三级在线| 欧洲一区在线电影| 精品在线播放免费| 亚洲尤物视频在线| 国产人成亚洲第一网站在线播放 | 福利一区福利二区| 亚洲国产日产av| 国产欧美一区二区三区沐欲| 欧美三级日韩三级国产三级| 国产高清久久久久| 欧美亚洲一区二区在线观看| 久久99精品久久久久| 亚洲精品欧美专区| 日本一区二区三区国色天香 | 在线观看免费成人| 国产成人综合在线| 日韩avvvv在线播放| 国产精品久久久久精k8| 日韩欧美久久久| 在线观看av一区二区| 国产成人精品一区二| 日本午夜一本久久久综合| 亚洲视频 欧洲视频| 国产午夜精品福利| 日韩免费看网站| 欧美片在线播放| 色香蕉成人二区免费| 成人免费av资源| 国产在线精品一区二区夜色| 五月天中文字幕一区二区| 中文字幕永久在线不卡| 久久久高清一区二区三区| 日韩欧美亚洲另类制服综合在线| 欧美天天综合网| 色94色欧美sute亚洲线路一久| 国产成人午夜片在线观看高清观看| 男女性色大片免费观看一区二区| 亚洲一卡二卡三卡四卡无卡久久| 国产精品乱人伦中文| 久久综合一区二区| 精品卡一卡二卡三卡四在线| 欧美精品1区2区| 欧美日韩国产综合视频在线观看| 97超碰欧美中文字幕| 成人国产精品免费网站| 国产一区二区不卡| 国内精品久久久久影院薰衣草| 日韩高清一区二区| 日韩 欧美一区二区三区| 日本少妇一区二区| 麻豆成人久久精品二区三区红 |