家电论坛

广告合作
 注册  找回密码

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

楼主: luxple

陈年琐事里的暖意

[复制链接]

14

主题

899

帖子

32

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2006-2-3
发表于 2006-11-27 20:28 | 显示全部楼层
原帖由 luxple 于 2006-11-27 20:25 发表


说说,大家帮你想

专业问题,这个坛子里没人能帮我:Q:Q:Q
先以左的名义抢劫,再以右的名义分赃。以社会主义为名化平民之私为公,以市场经济为名化公为权贵之私。
回复 支持 反对

使用道具 举报

31

主题

3898

帖子

113

威望

荣誉会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

交易诚信度
0
注册时间
2006-6-29
发表于 2006-11-27 20:29 | 显示全部楼层
观音jj啊,肯定能帮到你
把自己的观点(或无观点)曲折地以博识,零乱,引用,比喻,误读,卖弄,堆砌,篡改,捏造,断章和想当然的后现代方式表达出来
親不见,愛无心,產不生,廠空空,麵无麦,運无車,導无道,兒无首,佇无脚,飛单翼,湧无力,有雲无雨,開關无门,鄉里无郎,義成凶,魔仍是魔。
回复 支持 反对

使用道具 举报

14

主题

899

帖子

32

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2006-2-3
发表于 2006-11-27 20:31 | 显示全部楼层
原帖由 luxple 于 2006-11-27 20:24 发表
孔子传?

政治得失。
先以左的名义抢劫,再以右的名义分赃。以社会主义为名化平民之私为公,以市场经济为名化公为权贵之私。
回复 支持 反对

使用道具 举报

11

主题

1795

帖子

250

威望

核心会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

交易诚信度
0
注册时间
2001-11-21
 楼主| 发表于 2006-11-27 20:34 | 显示全部楼层
原帖由 浅斟低唱 于 2006-11-27 20:31 发表

政治得失。


没看过[s:18]

我连湖上闲思路还没看完
想上火,喝王老吉
回复 支持 反对

使用道具 举报

14

主题

899

帖子

32

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2006-2-3
发表于 2006-11-27 20:35 | 显示全部楼层

这段程序debug 不过去了

原帖由 fomomo 于 2006-11-27 20:29 发表
观音jj啊,肯定能帮到你

int Do_So_Burst (int dut_num, int kid_num, int tn, /*int dn,*/ int ecrmode,  int vcc_level,
                    int pattern, int topology, int ers_row, int ers_col, int rd_row,
                    int rd_col, int sotype, int btype,int bwrap,int speed)
{
        int status, dut_status;

        int dut_mask;
        int dut_list;
        int kid_mask;
        int conf1_data, conf2_data;
        int sowrd, vcc_level1, socnt;
        int bst_length, cr0_ws, cr1_ws;
        int wr_dgrp,word_num;
        int clk_delay, nclock, nlatency;

        char pattern_name[42], banknum_label[42], rownum_label[42], xaddr_label[42],
             yaddr_label[42], ystep_label[42],clkdly_label[42];
        char set_label[42], erase_xaddr_label[42], erase_yaddr_label[42];

        dut_mask = SER_TEST_MASK;
        dut_list = MULTI_DUT_PLIST;
        kid_mask = SER_KID_MASK;

        status = PASS;
        dut_status = PASS;

        PowerUp (dut_mask, kid_mask, vcc_level);

        Setup_Timing_Sync(dut_mask, speed);       

        Setup_ECR_Burst();

        if(topology)
                Setup_Scramble(ENABLE_SCRAMBLE);
        else
                Setup_Scramble(DISABLE_SCRAMBLE);

        if((sotype == 1)||(sotype ==2))
                bst_length = BURST_CONT;
        else if(sotype == 3)
                bst_length = BURST_LENGTH_8;
        else if(sotype == 4)
                bst_length = BURST_LENGTH_16;
        else
                bst_length = 0;

        word_num = 16;
        if (btype == BURST_LENGTH_8)
                word_num = 8;
        else if(btype == BURST_LENGTH_16)
                word_num = 16;
        else if(btype == BURST_LENGTH_32)
                word_num = 32;

        Setup_Timing_Conf(dut_mask);


        switch (speed)
        {
                case TIMING_54MHZ:
                        cr0_ws = 0x2000;
                        cr1_ws = 0x0000;
                        break;

                case TIMING_66MHZ:
                        cr0_ws = 0x2800;
                        cr1_ws = 0x0000;
                        break;

            case TIMING_80MHZ:
                        cr0_ws = 0x0000;
                        cr1_ws = 0x0001;
                        break;

                case TIMING_108MHZ:
                        cr0_ws = 0x2000;
                        cr1_ws = 0x0001;
                        break;

                case TIMING_120MHZ:
                        cr0_ws = 0x1000;
                        cr1_ws = 0x0001;
                        break;
               
                default:
                        break;
        }
        Set_Conf_Reg(btype, bwrap, OP_MODE_LEGACY, RDY_MODE_WITH_CLK,
                                RDY_POL_HIGH, SYNC_RD, cr0_ws, cr1_ws, ODRV_FULL,&wr_dgrp, &clk_delay,
                                &nclock, &conf1_data, &conf2_data, &nlatency);
        sprintf(pattern_name,"%s_BURST_LEN%d_WS%d",(bwrap==BURST_NO_WRAP)? "NOWRAP":"WRAP", word_num, nclock);

        printdl(dlog, LOG_DETAILS, "conf_data1 = 0x%x, conf_data2=%x\n", conf1_data, conf2_data);

        load_vlf(_SET_CONFDATA1, conf1_data);
        load_vlf(_SET_CONFDATA2, conf2_data);
        testnum(tn + 1);
        RUN_APG(_SET_CONFIG_REGISTER);

        load_vlf(_READ_CONFDATA1, conf1_data);
        load_vlf(_READ_CONFDATA2, conf2_data);
        testnum(tn + 2);
        RUN_APG(_READ_CONFIG_REGISTER);

        dut_status = check_pin_errors(io_pins, 0x04);

        if(dut_status)
        {
                status |= 1 << dut_num;
                printdl(dlog, LOG_DETAILS, "Failed at reading config register!\n");
        }

        printdl(dlog, LOG_DETAILS, "Set config %s\n", (dut_status==0)? "Pass" : "Fail" );
       
//@              ////////////////////////////////////////////////////////////////////////////////////////
//@              vcc_level=VCC_MIN;
//@              Select_Pattern(pattern);
//@              Setup_Timing_Burst(dut_mask, speed);
//@              for(vcc_loop=1;vcc_loop<=2;vcc_loop++)
//@              {
//@                      if (vcc_loop==1) vcc_level=VCC_MIN;
//@                      if (vcc_loop==2) vcc_level=VCC_MAX;
//@      
//@                      Set_Levels_Vt(dut_mask, vcc_level, 0, vcc_level, vcc_level/2, vcc_level/2);
//@      
//@                      load_vlf_offset(pattern_name,        1,        0);        //Read one row only
//@                      load_vlf_offset(pattern_name,        2,        128-word_num);  //@@@@@
//@                      load_vlf_offset(pattern_name,        3,        nclock-3 );
//@                      load_vlf_offset(pattern_name,        4,        15/*MAX_BANK*/);
//@                      load_vlf_offset(pattern_name,        5,        1); //For func test, skip icc test                       
//@                      RUN_APG(pattern_name);
//@                     
//@                      //printdl(dlog, LOG_DETAILS, "pattern %s run %d us\n", pattern_name, (end_time-start_time));
//@      
//@                  dut_status = check_pin_errors(io_pins, 0x04);
//@      
//@                         if(dut_status)
//@                         {
//@                                 status |= 1 << dut_num;
//@                                 printdl(dlog, LOG_DETAILS, "Failed Linear Burst  : vcc=%4d mV, speed=%d, nclock=%d, bst_length=%d, bst_wrap=%d\n\n",
//@                                         vcc_level, speed, nclock, btype, bwrap);
//@                         }
//@                         else
//@                                 printdl(dlog, LOG_DETAILS, "Pass wrap Burst : vcc=%4d mV, speed=%d, bst_length=%d, bst_wrap=%d\n\n",
//@                                         vcc_level, speed, btype, bwrap);
//@      
//@               }

           ////////////////////////////////////////////////////////////////////////////////////////////
   

        for(socnt=0; socnt<2; socnt++)
        {
                if(socnt==0)
                        vcc_level1 = VCC_MIN;
                else
                        vcc_level1 = VCC_MAX;

                Set_Levels_Vt(dut_mask, vcc_level1, 0, vcc_level1, vcc_level1/2, vcc_level1/2 );

                Setup_Timing_So_Burst(dut_mask, speed);                        //

                Setup_ECR (ecrmode);

                Select_Pattern(pattern);

                load_vlf(_SO_ERASE_XADDR,        ers_row);
                load_vlf(_SO_ERASE_YADDR,        ers_col);

                testnum(tn+3);

                 RUN_APG(_SO_ERASE);                //erase
               
                load_vlf(_READ_ONE_WORD_XADDR,        ers_row);
                load_vlf(_READ_ONE_WORD_YADDR,        ers_row);

                testnum(tn+4);

                RUN_APG(_READ_ONE_WORD);     //polling          


                if(sotype == 1)
                {
                        strcpy(banknum_label, pattern_name);
                        strcpy(rownum_label, pattern_name);
                        strcpy(xaddr_label,pattern_name);
                        strcpy(yaddr_label,pattern_name);
                        strcpy(ystep_label,pattern_name);
                               
                        strcat(banknum_label, "_BNK_NUM");
                        strcat(rownum_label, "_ROW_NUM");
                        strcat(xaddr_label,"_XADDR");
                        strcat(yaddr_label,"_YADDR");
                        strcat(ystep_label,"_YADDR_STEP");
                       
                        load_vlf(xaddr_label, rd_row);   //x
                        load_vlf(yaddr_label, rd_col);        //y       
                                                  
                        load_vlf(ystep_label, 0x100);                //y step

                        testnum(tn + 5);

                        RUN_APG(pattern_name);
                        dut_status = check_pin_errors(io_pins, 0x04);
                        if(dut_status)
                                status |= 1 << dut_num;
                }
                else if(sotype == 2)
                {

                        testnum(tn + 5);

                        RUN_APG(pattern_name);
                        dut_status = check_pin_errors(io_pins, 0x04);
                        if(dut_status)
                                status |= 1 << dut_num;
                }
                else if(sotype == 3)
                {

                Set_Levels_Vt(dut_mask, vcc_level, 0, vcc_level, vcc_level/2, vcc_level/2);

                load_vlf_offset(pattern_name,        1,        0X3ffe);        //Read one row only
                load_vlf_offset(pattern_name,        2,        128-word_num);  //@@@@@
                load_vlf_offset(pattern_name,        3,        nclock-3 );
                load_vlf_offset(pattern_name,        4,        15/*MAX_BANK*/);
                load_vlf_offset(pattern_name,        5,        1); //For func test, skip icc test                       
                RUN_APG(pattern_name);
               
//                          sprintf(pattern_name,"_BURST_WRAP_AROUND_8WORDS");
                        testnum(tn + 5);

                        RUN_APG(pattern_name);
                        dut_status = check_pin_errors(io_pins, 0x04);
                        if(dut_status)
                                status |= 1 << dut_num;
                }
                else if(sotype == 4)
                {


                        testnum(tn + 5);

                        RUN_APG(pattern_name);
                        dut_status = check_pin_errors(io_pins, 0x04);
                        if(dut_status)
                                status |= 1 << dut_num;
                }

        }

        RUN_APG(_RESET_DUT);

        Setup_ECR (DISABLE);

        Setup_Scramble(DISABLE_SCRAMBLE);


        DeviceSpecificPowerDown();

        return (status);

}


/*--------------------------------------------------
        Function:                So_Wrap8_Brst1
        Description:       
        Last modified:        Agilent
                                        Sep 07, 2006
----------------------------------------------------*/




int So_Wrap8_Brst1 (int tseq, /*int dnum,*/ char *desc, int ecrmode, int vcc_level, int pattern,int btype,int bwrap)
{
        int dut_status, kid_num;

        StartTest(tseq, desc, LOG_DETAILS);
       
        Do_For_Each_Alive_DUT
        {
                Matrix_Connect_Single (dut_count, MATRIX_FLASH);

                dut_status = PASS;

                for ( kid_num = 0; kid_num < KID_PER_MCP; kid_num ++)
                        dut_status |= Do_So_Burst (dut_count, kid_num, tn, /*dnum*100,*/ ecrmode, vcc_level, pattern, TOPOLOGY_OFF,
                                                        0x0200, 0x000, 0x000, 0x080, SO_WRAP8, btype,bwrap,TIMING_54MHZ);
                 
                Add_DUT_Status (dut_status);
        }
                       
        EndTest();
}

int So_Wrap8_Brst2 (int tseq, /*int dnum,*/ char *desc, int ecrmode, int vcc_level, int pattern,int btype,int bwrap)
{
        int dut_status, kid_num;

        StartTest(tseq, desc, LOG_DETAILS);
       
        Do_For_Each_Alive_DUT
        {
                Matrix_Connect_Single (dut_count, MATRIX_FLASH);

                dut_status = PASS;

                for ( kid_num = 0; kid_num < KID_PER_MCP; kid_num ++)
                        dut_status |= Do_So_Burst (dut_count, kid_num, tn, /*dnum*100,*/ ecrmode, vcc_level, pattern, TOPOLOGY_OFF,
                                                   0x0200, 0x080, 0x000, 0x000, SO_WRAP8, btype,bwrap,TIMING_54MHZ);
                 
                Add_DUT_Status (dut_status);
        }
                       
        EndTest();
}
先以左的名义抢劫,再以右的名义分赃。以社会主义为名化平民之私为公,以市场经济为名化公为权贵之私。
回复 支持 反对

使用道具 举报

11

主题

1795

帖子

250

威望

核心会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

交易诚信度
0
注册时间
2001-11-21
 楼主| 发表于 2006-11-27 20:37 | 显示全部楼层
原帖由 浅斟低唱 于 2006-11-27 20:35 发表

int Do_So_Burst (int dut_num, int kid_num, int tn, /*int dn,*/ int ecrmode,  int vcc_level,
                    int pattern, int topology, int ers_row, int ers_col, int rd_row,
                 ...


一定是有bug[s:6]
想上火,喝王老吉
回复 支持 反对

使用道具 举报

11

主题

1795

帖子

250

威望

核心会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

交易诚信度
0
注册时间
2001-11-21
 楼主| 发表于 2006-11-27 20:38 | 显示全部楼层
我知道眼泪一定能帮你

眼泪快来
想上火,喝王老吉
回复 支持 反对

使用道具 举报

31

主题

3898

帖子

113

威望

荣誉会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

交易诚信度
0
注册时间
2006-6-29
发表于 2006-11-27 20:44 | 显示全部楼层
恩,支持楼上意见
把自己的观点(或无观点)曲折地以博识,零乱,引用,比喻,误读,卖弄,堆砌,篡改,捏造,断章和想当然的后现代方式表达出来
親不见,愛无心,產不生,廠空空,麵无麦,運无車,導无道,兒无首,佇无脚,飛单翼,湧无力,有雲无雨,開關无门,鄉里无郎,義成凶,魔仍是魔。
回复 支持 反对

使用道具 举报

30

主题

722

帖子

141

威望

荣誉会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

交易诚信度
0
注册时间
2006-8-2
发表于 2006-11-27 20:49 | 显示全部楼层
中间Sramble语句后面应该加个EGG, 变成"炒鸡蛋"通顺一点.
回复 支持 反对

使用道具 举报

14

主题

899

帖子

32

威望

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

交易诚信度
0
注册时间
2006-2-3
发表于 2006-11-28 16:56 | 显示全部楼层
原帖由 无求无得 于 2006-11-27 20:49 发表
中间Sramble语句后面应该加个EGG, 变成"炒鸡蛋"通顺一点.

[s:18][s:18]
先以左的名义抢劫,再以右的名义分赃。以社会主义为名化平民之私为公,以市场经济为名化公为权贵之私。
回复 支持 反对

使用道具 举报

52

主题

9105

帖子

354

威望

版主

Rank: 10

交易诚信度
27
注册时间
2004-11-19
QQ
发表于 2006-11-28 17:24 | 显示全部楼层
编程太烦人
在无耻的路上肆无忌惮的放声高歌
回复 支持 反对

使用道具 举报

10

主题

4911

帖子

141

威望

荣誉会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

交易诚信度
0
注册时间
2005-11-24
QQ
发表于 2006-11-28 18:17 | 显示全部楼层
不懂,纯帮顶.
最实惠的一句情话:饭在锅里,我在床上

回复 支持 反对

使用道具 举报

11

主题

1795

帖子

250

威望

核心会员

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

交易诚信度
0
注册时间
2001-11-21
 楼主| 发表于 2006-11-28 18:56 | 显示全部楼层
预告:晚上再写一段
想上火,喝王老吉
回复 支持 反对

使用道具 举报

52

主题

9105

帖子

354

威望

版主

Rank: 10

交易诚信度
27
注册时间
2004-11-19
QQ
发表于 2006-11-28 18:57 | 显示全部楼层
原帖由 luxple 于 2006-11-28 18:56 发表
预告:晚上再写一段

嘿嘿,
在无耻的路上肆无忌惮的放声高歌
回复 支持 反对

使用道具 举报

10

主题

4911

帖子

141

威望

荣誉会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

交易诚信度
0
注册时间
2005-11-24
QQ
发表于 2006-11-28 18:59 | 显示全部楼层
等            
最实惠的一句情话:饭在锅里,我在床上

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|手机版|客服:010-60152166 邮箱:zx@jd-bbs.com QQ:895456697|广告合作|账号注销|家电联盟网

京公网安备 11010602010207号 ( 京ICP证041102号,京ICP备09075138号-9 )

GMT+8, 2026-3-25 21:18 , Processed in 0.133780 second(s), 22 queries , Gzip On.

快速回复 返回顶部 返回列表