Перейти к содержанию
    

BILBO (Built-In-Logic-Block-Observation) с чем едят?

наткнулся на BILBO при поисках в контексте желания использовать LFSR для задач тестирования.

про BILBO (Built-In-Logic-Block-Observation) слышу впервые. вроде бы понятно что енто такое, но вот в каких случаях применяются и чем этот BILBO реально лучше в данной области?

притом, почти везде изложение от LFSR идет сразу к BILBO..

 

у кого-нить есть реальный опыт использования?

где бы об этом более подробно почитать? А то словосочетание "BILBO BIST" как-то плохо гуглится в РуНете.. М.б. у нас используется русскоязычный эквивалент названия сей методологии??

 

 

ссылки для ознакомления:

Logic BIST Architectures http://www.ece.wisc.edu/~va/COURSE/lec26.ppt

A Novel BIST Architecture With Built-in Self Check

http://eprint.iitd.ac.in/dspace/bitstream/...ullanov1996.pdf

Design for ‘X’ (интересный документ о концепциях тестирования аппаратуры на различных стадиях) http://www.itiv.uni-karlsruhe.de/download/...esign_for_x.pdf

BILBO sandwich project & assignment wants to get students more familiar to BILBO BIST techniques:

BILBO sandwich project http://www.eeng.dcu.ie/~ee404/Projects/bsp/index.html

BILBO sandwich assignment http://www.eeng.dcu.ie/~ee404/Projects/bsa/index.html

исходник: http://www.eeng.dcu.ie/~ee404/Projects/bsp/bilbo1_test.vhd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего сложного в BILBO нет - это классическая регулярная DFT структура, которая может работать в 4 режимах:

- параллельного регистра

- сдвигового регистра

- генератора псевдослучайных последовательностей (LFSR)

- многоканального сигнатурного анализатора (MISR)

 

Выбор режима задается двумя битами. Работает все это примерно так: в штатном режиме BILBO используется как обычный параллельный регистр в схеме. Когда нужно провести тестирование, BILBO на входе (перед тестирумой подсхемой) переключается в режим LFSR, BILBO на выходе переключается в режим MISR. Во входную BILBO загоняется начальное значение генератора (путем его временного переключения в режим сдвигового регистра), прогоняется определенное число тактов, потом полученная сигнатура с выходного BILBO выводится наружу или в модуль BIST для проверки путем переключения в режим сдвигового регистра.

 

В теории примерно так. За счет того, что структура может выполнять все 4 основные операции, экономится место на кристалле.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего сложного в BILBO нет - это классическая регулярная DFT структура, которая может работать в 4 режимах:

- параллельного регистра

- сдвигового регистра

- генератора псевдослучайных последовательностей (LFSR)

- многоканального сигнатурного анализатора (MISR)

 

Выбор режима задается двумя битами. Работает все это примерно так: в штатном режиме BILBO используется как обычный параллельный регистр в схеме. Когда нужно провести тестирование, BILBO на входе (перед тестирумой подсхемой) переключается в режим LFSR, BILBO на выходе переключается в режим MISR. Во входную BILBO загоняется начальное значение генератора (путем его временного переключения в режим сдвигового регистра), прогоняется определенное число тактов, потом полученная сигнатура с выходного BILBO выводится наружу или в модуль BIST для проверки путем переключения в режим сдвигового регистра.

спасибо за сообщение. действительно теперь ясно. штука довольно интересная.

переложил на верилог модуль из ссылки-примера.

но есть две непонятки:

строчка в которой LFSR - непонятная вовсе конструкция (1й раз вижу в классическом LFSR XOR с тремя разными сигналами):

aux = {aux[1] ^ flip_flops[0] ^ z[1],  aux[0] ^ z[2],  flip_flops[3] ^ z[3]};

 

непойму - зачем в реж.MISR XORить вдвигаемый разряд?!

2'b01: flip_flops <= {flip_flops[2:0],aux[2] ^ z[0]};    // MISR mode

 

 

В теории примерно так. За счет того, что структура может выполнять все 4 основные операции, экономится место на кристалле.

 

да, действительно, поигрался с вышеприведенным примером - довольно компактно (и по трассам тоже - загрузка/выгрузка по последовательному интервейсу -одна линия сюда - одна обратно)

 

//============================================================

код полностью:

//   bilbo.v
module bilbo_test(
        input rst,
        input clk,
        input scan_in,
        output scan_out, // inout
        input [1:0] b,
        input [3:0] z, 
        output [3:0] q);

    reg [3:0] flip_flops;
    wire [2:0] aux;

   always @ (posedge clk or negedge rst)    
     if (!rst)     
       flip_flops <= 0;
     else //if (ce) 
        case(b)        // synopsys full_case parallel_case
          2'b00: flip_flops <= {flip_flops[2:0],scan_in};    // SHIFT mode
         2'b01: flip_flops <= {flip_flops[2:0],aux[2] ^ z[0]};    // MISR mode                  
         2'b10: flip_flops <= 4'b0000;    // RESET mode
         2'b11: flip_flops <= z;      // PARALLEL LOAD mode
        endcase

   assign q = flip_flops;
   assign q = flip_flops;     
    assign scan_out = flip_flops[3];
    assign aux = {aux[1] ^ flip_flops[0] ^ z[1],  aux[0] ^ z[2],  flip_flops[3] ^ z[3]};

endmodule

Изменено пользователем Doka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

строчка в которой LFSR - непонятная вовсе конструкция (1й раз вижу в классическом LFSR XOR с тремя разными сигналами):

aux = {aux[1] ^ flip_flops[0] ^ z[1],  aux[0] ^ z[2],  flip_flops[3] ^ z[3]};

Это не LFSR, а MISR.

 

непойму - зачем в реж.MISR XORить вдвигаемый разряд?!

2'b01: flip_flops <= {flip_flops[2:0],aux[2] ^ z[0]};    // MISR mode

 

Происходит умножение (в смысле Галуа) входных данных на полином. Результатом является искомая сигнатура.

Изменено пользователем disel

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...