BR112016016518B1 - Dispositivos eletrônico, criptográfico e de gerenciamento de teste remoto, terminal móvel, métodos para testar um circuito lógico digital, e, mídia de armazenamento legível por computador - Google Patents

Dispositivos eletrônico, criptográfico e de gerenciamento de teste remoto, terminal móvel, métodos para testar um circuito lógico digital, e, mídia de armazenamento legível por computador Download PDF

Info

Publication number
BR112016016518B1
BR112016016518B1 BR112016016518-7A BR112016016518A BR112016016518B1 BR 112016016518 B1 BR112016016518 B1 BR 112016016518B1 BR 112016016518 A BR112016016518 A BR 112016016518A BR 112016016518 B1 BR112016016518 B1 BR 112016016518B1
Authority
BR
Brazil
Prior art keywords
test
digital logic
electronic device
logic circuit
signature
Prior art date
Application number
BR112016016518-7A
Other languages
English (en)
Other versions
BR112016016518A2 (pt
Inventor
Elena DUBROVA
Mats Näslund
Gunnar Carlsson
John Fornehed
Bernard Smeets
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of BR112016016518A2 publication Critical patent/BR112016016518A2/pt
Publication of BR112016016518B1 publication Critical patent/BR112016016518B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2884Testing of integrated circuits [IC] using dedicated test connectors, test elements or test circuits on the IC under test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/31813Test pattern generators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318335Test pattern compression or decompression
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern

Abstract

dispositivos eletrônico, criptográfico e de gerenciamento de teste remoto, terminal móvel, métodos para testar um circuito lógico digital, e, mídia de armazenamento legível por computador. são providos dispositivos eletrônicos (320) que compreendem um circuito lógico digital (101) e um módulo de teste (322) adaptado para receber parâmetros de teste de um dispositivo de gerenciamento de teste remoto (310), gerar padrões de teste com base nos parâmetros de teste, aplicar os padrões de teste ao circuito lógico digital, receber respostas de teste do circuito lógico digital, compactar as respostas de teste em uma assinatura de teste, e transmitir a assinatura de teste ao dispositivo de gerenciamento de teste remoto ou determinar um resultado de teste com base em uma comparação de uma assinatura esperada recebida do dispositivo de gerenciamento de teste remoto com a assinatura de teste. são adicionalmente providos dispositivos de gerenciamento de teste remoto compreendendo meios adaptados para adquirir parâmetros de teste adequados para gerar padrões de teste para um circuito lógico digital, adquirir uma assinatura esperada correspondente aos padrões de teste, transmitir os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital, e receber uma assinatura de teste do pelo menos um dispositivo eletrônico e determinar um resultado de teste com base em uma comparação da assinatura esperada com a assinatura de teste, ou transmitir a assinatura esperada para o pelo menos um dispositivo eletrônico.

Description

Campo Técnico
[001] A invenção refere-se a dispositivos eletrônicos compreendendo um circuito lógico digital e um módulo de teste para testar o circuito lógico digital, dispositivos de gerenciamento de teste remoto para testar remotamente os circuitos lógicos digitais compreendidos nos dispositivos eletrônicos, métodos correspondentes, programas de computador correspondentes e produtos de programa de computador correspondentes.
Fundamentos
[002] Uma falha de hardware em um circuito lógico digital pode afetar negativamente sua função. Em particular, isto se aplica a circuitos lógicos digitais provendo funcionalidade criptográfica, uma vez que a operação segura pode ser prejudicada pelas falhas de hardware. Portanto, é desejável que circuitos lógicos digitais executem Auto Testes Incorporados (BIST) durante seu tempo de vida. Circuitos integrados (IC) com funcionalidade BIST tipicamente incorporam lógica no chip para geração de teste e análise de resposta de teste.
[003] BIST lógico (LBIST) que é usado para testar circuitos lógicos digitais, tipicamente emprega um Gerador de Padrão Pseudoaleatório (PRPG) para gerar padrões de teste que são aplicados ao circuito sob teste (CUT), e um Registro de Assinatura de Entrada Múltipla (MISR) para obter uma resposta compactada, à assim chamada assinatura do CUT para estes padrões de teste. Uma saída MISR incorreta indica uma falha no CUT.
[004] LBIST é tipicamente usado em uma combinação com projeto de digitalização, que é uma técnica de projeto para teste provendo um meio simples de configurar e observar cada célula ou elemento de armazenagem em um circuito lógico digital. No projeto de digitalização, todos os elementos de armazenagem do circuito lógico digital são conectados em um ou mais registros de deslocamento, chamados cadeias de digitalização, multiplicando suas respectivas entradas para suportar um modo de digitalização que permite carregamento e descarregamento em série do conteúdo de uma cadeia de digitalização. Para cada cadeia de digitalização, um padrão de teste é carregado na cadeia dos elementos de armazenagem, e o estado de cada elemento de armazenagem é lido. Em modo de operação normal, as cadeias de digitalização não afetam a operação do circuito.
[005] LBIST é comumente gerenciado e controlado por uma unidade de controle que ou reside no CUT ou na mesma placa de circuito que o CUT. A unidade de controle inicia LBIST provendo parâmetros de teste ao PRPG, tal como um valor de inicialização e número de padrões de teste a serem gerados, com base nos quais o PRPG gera os padrões de teste que são aplicados subsequentemente ao CUT. Então, as respostas de teste recebidas do CUT são compactadas pelo MISR em uma assinatura que é comparada com uma assinatura esperada no sentido de determinar um resultado de teste. Os parâmetros de teste e a assinatura esperada são armazenados em uma memória ou conectados fisicamente. Tipicamente, LBIST é realizado automaticamente na energização e reinício, ou em resposta a um disparador externo, por exemplo, se um hardware ou software supervisionando o chip indica uma falha.
[006] Em adição, LBIST pode ser iniciado por um operador, por exemplo, para fins de depuração quando um chip defeituoso é enviado para reparo.
[007] No LBIST conhecido, o mesmo conjunto de padrões de teste é usado toda vez que é realizado um teste. Isto é devido ao fato de que o PRPG sempre começa a partir do mesmo estado inicial, o que é determinado pelo valor de utilização provido durante a fabricação, e consequentemente gera o mesmo conjunto de padrões de teste. Ainda mais, a assinatura de teste que é obtida acumulando e compactando as respostas de teste é comparada com a mesma assinatura esperada que é armazenada ou conectada fisicamente no chip e provida durante a fabricação. Isto abre uma porta para Trojans de hardware, isto é, modificações maliciosas de elementos de circuito durante o processo de fabricação, o que não altera a assinatura criada pelo MISR. Isto é possível porque as respostas de teste do CUT são acumuladas e compactadas em uma assinatura, e a probabilidade de que um circuito defeituoso produza a mesma assinatura que o circuito correto é não nula. Este último é frequentemente referido como "erro de reconstrução" (aliasing error). A viabilidade de tal ataque foi recentemente demonstrada para gerador de número aleatório de hardware da Intel usado no processador Ivy Bridge, que foi considerado criptograficamente seguro e que estava protegido por LBIST (G. T. Becker, F. Regazzoni, C. Paar and W. P. Burleson, "Stealthy DopantLevel Hardware Trojans", in "Cryptographic Hardware and Embedded Systems - CHES2013", Lecture Notes IN Computer Science, Volume 8086, Springer Berlin Heidelberg, 2013, páginas 197-214).
Sumário
[008] É um objetivo da invenção prover uma alternativa melhorada para as técnicas acima e técnica anterior.
[009] Mais especificamente, é um objetivo da invenção prover teste incorporado de lógica melhorado de dispositivos eletrônicos compreendendo um circuito lógico digital e em particular teste incorporado de lógica capaz de detectar modificações maliciosas de elementos de circuitos do circuito lógico digital. Objetivos adicionais da invenção são prover cobertura de teste melhorada e habilitar o teste remoto de uma quantidade potencialmente grande de dispositivos eletrônicos possuindo circuitos lógicos digitais similares.
[0010] Estes e outros objetivos da invenção são alcançados por meio de diferentes aspectos da invenção, conforme definido pelas reivindicações independentes. Modalidades da invenção são caracterizadas pelas reivindicações dependentes.
[0011] De acordo com um primeiro aspecto da invenção, é provido um dispositivo eletrônico. O dispositivo eletrônico provê um circuito lógico digital e um módulo de teste. O módulo de teste é adaptado para receber um ou mais parâmetros de teste a partir do dispositivo de gerenciamento de teste remoto e para gerar um ou mais padrões de teste com base nos parâmetros de teste. O módulo de teste é adicionalmente adaptado para aplicar os padrões de teste ao circuito lógico digital, receber uma ou mais respostas de teste do circuito lógico digital, compactar as respostas de teste em uma assinatura de teste e transmitir a assinatura de teste e o dispositivo de gerenciamento de teste remoto.
[0012] De acordo com o segundo aspecto da invenção, é provido um dispositivo eletrônico. O dispositivo eletrônico compreende um circuito lógico digital e um módulo de teste. O módulo de teste é adaptado para receber um ou mais parâmetros de teste a partir do dispositivo de gerenciamento de teste remoto e para gerar um ou mais padrões de teste com base nos parâmetros de teste. O módulo de teste é adicionalmente adaptado para aplicar os padrões de teste ao circuito lógico digital, receber uma ou mais respostas de teste do circuito lógico digital, compactar as respostas de teste em uma assinatura de teste, receber uma assinatura esperada correspondente aos padrões de teste, do dispositivo de gerenciamento de teste remoto e determinar um resultado do teste. O resultado de teste é determinado com base em uma comparação da assinatura esperada com a assinatura de teste.
[0013] De acordo com um terceiro aspecto da invenção, é provido um dispositivo de gerenciamento de teste remoto. O dispositivo de gerenciamento de teste remoto compreende meios adaptados para adquirir um ou mais parâmetros de teste que são adequados para gerar um ou mais padrões de teste para um circuito lógico digital. Os meios são adicionalmente adaptados para adquirir uma assinatura esperada correspondente aos padrões de teste, e transmitir os parâmetros de teste a pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital. Os meios são adicionalmente adaptados para receber uma assinatura de teste do pelo menos um dispositivo eletrônico e determinar um resultado de teste com base em uma comparação da assinatura esperada com a assinatura de teste.
[0014] De acordo com um quarto aspecto da invenção, é provido um dispositivo de gerenciamento de teste remoto. O dispositivo de gerenciamento de teste remoto compreende meios adaptados para adquirir um ou mais parâmetros de teste que são adequados para gerar um ou mais padrões de teste para um circuito lógico digital. Os meios são adicionalmente adaptados para adquirir uma assinatura esperada correspondentes aos padrões de teste, transmitir os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital, e transmitir a assinatura esperada para pelo menos um dispositivo eletrônico.
[0015] De acordo com um quinto aspecto da invenção, é provido um método para testar um circuito lógico digital compreendido em um dispositivo eletrônico. O método é realizado pelo dispositivo eletrônico. O método compreende receber um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto e gerar um ou mais padrões de teste com base nos parâmetros de teste. O método compreende adicionalmente aplicar os padrões de teste ao circuito lógico digital, receber uma ou mais respostas de teste do circuito lógico digital, compactar as respostas de teste em uma assinatura de teste e transmitir a assinatura de teste para o dispositivo de gerenciamento de teste remoto.
[0016] De acordo com um sexto aspecto da invenção, é provido um método para testar um circuito lógico digital compreendendo em um dispositivo eletrônico. O método é realizado pelo dispositivo eletrônico. O método compreende receber um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto e gerar um ou mais padrões de teste com base nos parâmetros de teste. O método compreende adicionalmente aplicar os padrões de teste ao circuito lógico digital, receber uma ou mais respostas de teste do circuito lógico digital, compactar as respostas de teste em uma assinatura de teste, receber uma assinatura esperada correspondente aos padrões de teste, do dispositivo de gerenciamento de teste remoto, e determinar um resultado de teste com base em uma comparação da assinatura esperada com a assinatura de teste.
[0017] De acordo com um sétimo aspecto da invenção, é provido um método para testar um circuito lógico digital compreendido em um dispositivo eletrônico. O método é realizado por um dispositivo de gerenciamento de teste remoto. O método compreende adquirir um ou mais parâmetros de teste que são adequados para gerar um ou mais padrões de teste para um circuito lógico digital. O método compreende adicionalmente adquirir uma assinatura esperada correspondente aos padrões de teste e transmitir os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital. O método compreende adicionalmente receber uma assinatura de teste de pelo menos um dispositivo eletrônico e determinar um resultado de teste com base em uma comparação da assinatura esperada com a assinatura de teste.
[0018] De acordo com um oitavo aspecto da invenção, é provido um método para testar um circuito lógico digital compreendido em um dispositivo eletrônico. O método é realizado por um dispositivo de gerenciamento de teste remoto. O método compreende adquirir um ou mais parâmetros de teste que são adequados para gerar um ou mais padrões de teste para um circuito lógico digital. O método compreende adicionalmente adquirir uma assinatura esperada correspondente aos padrões de teste, transmitir os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital, e transmitir a assinatura esperada para o pelo menos um dispositivo eletrônico.
[0019] De acordo com aspectos adicionais da invenção, são providos programas de computador compreendendo instruções executáveis por computador. As instruções executáveis por computador, quando executadas em uma unidade de processamento compreendida no dispositivo, fazem com que o dispositivo execute o método de acordo com qualquer um dentre o primeiro, segundo, terceiro ou o quarto aspecto da invenção descritos acima.
[0020] De acordo ainda com aspectos adicionais da invenção, são providos os produtos de programa de computador compreendendo um meio de armazenagem legível por computador. Os meios de armazenagem legíveis por computador possuem os programas de computador de acordo com os aspectos correspondentes da invenção realizados aqui.
[0021] No presente contexto, um dispositivo eletrônico de acordo com uma modalidade da invenção compreende um circuito lógico digital implementando pelo menos parte da funcionalidade que o dispositivo eletrônico provê. Por exemplo, o circuito lógico digital pode implementar funcionalidade criptográfica, tal como um gerador de número pseudoaleatório ou uma "cifra de fluxo" (stream cipher). O dispositivo eletrônico é provido com um módulo de teste para a finalidade de testar o circuito lógico digital e pode adicionalmente compreender outros tipos de circuitos além de lógica digital, cujos outros tipos de circuitos não são testados por modalidades da invenção. O módulo de teste pode ser integrado com o circuito lógico digital, por exemplo em um único IC, ou provido juntamente com o circuito lógico digital, por exemplo, em uma placa de circuito comum. O dispositivo eletrônico pode ser compreendido em um dispositivo criptográfico, por exemplo, circuitos criptográficos. O dispositivo eletrônico pode também estar compreendido em um terminal móvel tal como um tipo de dispositivo de Equipamento de Usuário (UE), um telefone móvel, um telefone inteligente, um cartão inteligente, um tablet ou Máquina para Máquina (M2M) ou Coisas da Internet (IoT).
[0022] A invenção faz uso de um entendimento de que LBIST tradicional, que usa o mesmo conjunto de padrões de teste para testar um circuito lógico digital, a CUT e a mesma assinatura ser executada em todo instante de teste, torna a CUT supervisionada vulnerável a Trojans de hardware explorando o erro de reconstrução do MISR. Isto é devido ao fato de que modificações maliciosas de elementos de circuito podem ser realizadas durante o processo de fabricação que não altera a assinatura criada pelo MISR ao compactar respostas de teste do circuito modificado, uma vez que a assinatura representa a resposta cumulativa do CUT para o conjunto inteiro de padrões de teste.
[0023] Modalidades da invenção aliviam este problema, provendo um dispositivo eletrônico e um dispositivo de gerenciamento de teste remoto que são adaptados para conduzir testes de lógica cooperativamente. Mais especificamente, isto é alcançado transmitindo parâmetros de teste do dispositivo de gerenciamento de teste remoto para o dispositivo eletrônico e gerando padrões de teste baseados nos parâmetros de teste recebidos do dispositivo de gerenciamento de teste remoto. Em adição a prover os parâmetros de teste, o dispositivo de gerenciamento de teste remoto também provê uma assinatura esperada correspondente ao conjunto de padrões de teste gerado pelo dispositivo eletrônico para detectar falhas de hardware no circuito lógico digital, incluindo modificações maliciosas no circuito lógico digital. Isto é obtido comparando a assinatura de teste obtida compactando as respostas de teste do circuito lógico digital com a assinatura esperada. A comparação da assinatura de teste com a assinatura esperada é efetuada no dispositivo de gerenciamento de teste remoto ou no dispositivo eletrônico. Se realizada no dispositivo de gerenciamento de teste remoto, a assinatura de teste é transmitida do dispositivo eletrônico para o dispositivo de gerenciamento de teste remoto para comparação subsequentemente com a assinatura esperada. Se realizada no dispositivo eletrônico, a assinatura esperada é transmitida do dispositivo de gerenciamento de teste remoto para o dispositivo eletrônico para comparação subsequente com a assinatura de teste.
[0024] Modalidades da invenção são vantajosas sobre LBIST tradicionais em que conjuntos diferentes de padrões de teste podem ser usados toda vez que o teste é conduzido, melhorando deste modo a cobertura de teste. Em particular, usando diferentes valores de inicialização, o PRPG gera padrões de teste começando a partir de um estado inicial diferente, resultando em diferentes sequências de padrões de teste. Isto é vantajoso em que a provisão de Trojans de hardware durante a fabricação é dificultada, pela razão que um adversário não tem conhecimento completo dos padrões de teste que serão gerados durante o tempo de vida do circuito lógico digital, o CUT.
[0025] É importante notar que a geração de assinaturas esperadas solicita demais computacionalmente, uma vez que é baseada em uma simulação do circuito lógico digital a ser testado, isto é, um projeto do circuito lógico digital. Portanto, não é viável gerar assinaturas esperadas no dispositivo eletrônico, uma vez que tal abordagem aumentaria consideravelmente a complexidade do dispositivo eletrônico, bem como sua área de chip e consumo de potência. Nem é viável armazenar uma grande quantidade de assinaturas esperadas geradas previamente, resultando em um considerável aumento nas exigências de armazenagem. Estes aspectos são de máxima importância para teste incorporado de terminais móveis e, em particular para dispositivos M2M/IoT que são caracterizados por recursos computacionais limitados e comumente são alimentados por bateria.
[0026] Modalidades da invenção provêm teste lógico de circuitos lógicos digitais com proteção melhorada contra Trojans de hardware, bem como cobertura de teste melhorado. Em adição a isto, a abordagem de teste remoto aqui divulgada é vantajosa em cenários M2M/IoT, uma vez que habilita gerenciamento de teste remoto eficiente e detecção de falhas em um número potencialmente grande de dispositivos. Isto se aplica, em particular, ao teste de um para muitos de um grande número de dispositivos similares, ou um grande número de dispositivos compreendendo circuitos lógicos digitais similares.
[0027] De acordo com uma modalidade da invenção, o resultado de teste é determinado como indicando uma falha no circuito lógico digital, se a assinatura esperada difere da assinatura de teste. Em outras palavras, se a assinatura de teste obtida compactando as respostas de teste acumuladas recebidas a partir do circuito lógico digital difere da assinatura esperada, uma falha é indicada. Isto é, o teste falhou. Caso contrário, o resultado do teste é determinado indicando que o teste foi aprovado.
[0028] De acordo com uma modalidade da invenção, informação pertencente ao resultado de teste é transmitida do dispositivo eletrônico para o dispositivo de gerenciamento de teste remoto. Isto se aplica a modalidades da invenção que realizam comparação da assinatura de teste com a assinatura esperada no dispositivo eletrônico. A informação transmitida pode compreender o resultado do teste, isto é, informação indicando se o teste falhou ou passou.
[0029] De acordo com uma modalidade da invenção, o módulo de teste é adicionalmente adaptado para executar auto testes de lógica no circuito lógico digital. Tais testes podem, por exemplo, ser realizados na energização ou reinicialização, ou em resposta a um disparador externo. Para esta finalidade, o módulo de teste gera um ou mais padrões de teste com base em parâmetros de teste armazenados ou conectados fisicamente, aplica os padrões de teste ao circuito lógico digital, compacta saídas de teste recebidas do circuito lógico digital em uma assinatura de teste e compara a assinatura de teste com uma assinatura esperada armazenada ou conectada fisicamente.
[0030] De acordo com uma modalidade da invenção, os meios do dispositivo de gerenciamento de teste remoto são adicionalmente adaptados para adquirir as assinaturas esperadas, computando as assinaturas esperadas com base nos parâmetros de teste e um projeto do circuito lógico digital. Conforme discutido anteriormente, a computação de assinaturas esperadas por meio de simulação do circuito lógico digital demanda muitos recursos computacionais e, portanto, não é viável para ser realizada no dispositivo eletrônico. Como uma alternativa, assinaturas esperadas geradas previamente podem ser armazenadas, por exemplo, em uma base de dados, no dispositivo de gerenciamento de teste remoto ou em uma armazenagem externa acessível pelo dispositivo de gerenciamento de teste remoto.
[0031] Embora vantagens da invenção tenham sido descritas em alguns casos com referência a modalidades de um certo aspecto da invenção, raciocínio correspondentes se aplicativo a modalidades de outros aspectos da invenção.
[0032] Objetivos adicionais, recursos e vantagens da invenção tornar- se-ão aparentes ao estudar a seguinte descrição detalhada, os desenhos e as reivindicações anexas. Os versados na técnica verificam que recursos diferentes da invenção podem ser combinados para criar modalidades diferentes daquelas descritas a seguir.
Breve descrição dos desenhos
[0033] Os acima, bem como objetivos, recursos e vantagens adicionais da invenção, serão melhores entendidos através da seguinte descrição detalhada ilustrativa e não limitante de modalidades da invenção, com referência aos desenhos anexos, nos quais:
[0034] Figura 1 mostra um diagrama em blocos de um IC conhecido, com funcionalidade LBIST.
[0035] Figura 2 mostra um diagrama em blocos funcional de um módulo LBIST conhecido.
[0036] Figura 3 ilustra esquematicamente o teste remoto, de acordo com uma modalidade da invenção.
[0037] Figura 4 mostra um dispositivo eletrônico, de acordo com uma modalidade da invenção.
[0038] Figura 5 mostra um módulo de teste, de acordo com uma modalidade da invenção.
[0039] Figura 6 mostra um módulo de teste, de acordo com uma outra modalidade da invenção.
[0040] Figura 7 mostra um método de teste realizado pelo dispositivo eletrônico, de acordo com uma modalidade da invenção.
[0041] Figura 8 mostra um método de teste realizado pelo dispositivo eletrônico, de acordo com uma outra modalidade da invenção.
[0042] Figura 9 mostra um método de teste realizado pelo dispositivo de gerenciamento de teste remoto, de acordo com uma modalidade da invenção.
[0043] Figura 10 mostra um método de teste realizado pelo dispositivo de gerenciamento de teste remoto, de acordo com uma outra modalidade da invenção.
[0044] Figura 11 mostra um IC, de acordo com uma modalidade da invenção.
[0045] Figura 12 mostras um SoM, de acordo com uma modalidade da invenção.
[0046] Figura 13 mostra um terminal móvel, de acordo com uma modalidade da invenção.
[0047] Todas as figuras são esquemáticas, não necessariamente em escala e geralmente mostram apenas partes que são necessárias no sentido de elucidar a invenção, onde outras partes podem ser omitidas ou meramente sugeridas.
Descrição detalhada
[0048] A invenção será agora descrita mais plenamente aqui, com referência aos desenhos que a acompanham, nos quais certas modalidades da invenção são mostradas. Esta invenção pode, entretanto, ser realizada de muitas formas diferentes e não deveria ser interpretada como limitada às modalidades aqui estabelecidas. Ao invés disso, estas modalidades são providas a título de exemplo, de tal modo que esta divulgação será agora direta e completa, e conduzirá plenamente o escopo da invenção aos versados na técnica.
[0049] Na Figura 1, um IC 100 é ilustrado como um exemplo de um dispositivo eletrônico com funcionalidade LBIST convencional. O IC 100 pode, por exemplo, ser um microprocessador, um Circuito Integrado Específico da Aplicação (ASIC) ou um Arranjo de Porta Programável em Campo (FPGA). Este pode também fazer parte de um IC maior, um Sistema On Chip (SoC), isto é, um IC que integra todos os componentes de um sistema eletrônico em um único chip, um Sistema em Embalagem (SiP), que é um número de circuitos integrados acondicionados em um único módulo ou embalagem, ou um Sistema em Módulo (SoM) que é um computador embutido completo incorporado em uma única placa de circuito. O IC 100 compreende um circuito lógico digital 101, o CUT, que implementa pelo menos parte da funcionalidade que o IC 100 provê, e um módulo LBIST 102 para realizar testes lógicos no CUT 101.
[0050] O módulo LBIST 102, que é ilustrado em mais detalhe na Figura 2, compreende um PRPG 201, que pode ser baseado em um Registro de Deslocamento de Realimentação Linear (LFSR), para gerar padrões de teste pseudoaleatórios que, durante o teste, são aplicados ao CUT 101 via entradas de teste 111. Um padrão de teste compreende uma pluralidade de valores binários, um para cada entrada de teste 111. Os padrões de teste são gerados com base em um ou mais parâmetros de teste que são armazenados 202 ou conectados fisicamente 202 no módulo LBIST 102. Tipicamente, os parâmetros de teste compreendem um valor de inicialização, definindo um estado inicial do PRPG 201 e um número de padrões de teste a ser gerado. O módulo LBIST 102 compreende adicionalmente um MISR 203 para compactar respostas de teste recebidas do CUT 101 via saídas de teste 112, comumente referidas como dados "toco" (stump data) em uma assinatura de teste, e uma lógica de decisão 204 para comparar a assinatura de teste obtida a partir do MISR 203 até uma assinatura esperada que é armazenada 205 ou conectada fisicamente 205 no módulo LBIST 102. O resultado desta comparação é tornado disponível por meio de um sinal 115 indicando o resultado de teste a um circuito externo, por exemplo, uma unidade de supervisão de falha provida juntamente com o IC 100. O módulo LBIST 102 compreende adicionalmente um controlador 206 para controlar a operação do módulo LBIST 102 e circuito lógico digital 101 por meio de um ou mais sinais de controle 113. O controlador 206 tipicamente realiza sequências de testes lógicos de modo autônomo, por exemplo, em uma energização ou reinicialização, em resposta a uma condição de falha detectada, ou em resposta a um disparador externo recebido via uma entrada de controle opcional 114. A entrada de controle 114 pode também ser usada para comutar o IC 100 entre um modo de operação normal e um modo de teste, ou para iniciar um ciclo de teste e pode, por exemplo, ser conectado a uma unidade de supervisão de falha juntamente com o IC 100.
[0051] LBIST é tipicamente usado em combinação com projeto digitalizado, que é uma técnica de projeto para teste provendo um modo simples de configurar e observar cada célula ou elemento de armazenagem, em um circuito lógico digital, tal como CUT 101. No desenho digitalizado, as células de um circuito lógico digital, tal como o CUT 101, são conectadas em um ou mais registros de deslocamento chamados cadeias de digitalização 114. As cadeias de digitalização 114 são providas com entradas de teste 111 que são multiplexadas (multiplexadores não são mostrados na Figura 2) para suportar um modo de digitalização habilitando carregamento e descarregamento serial dos conteúdos das cadeias de digitalização 114, via entradas de teste 111 e saídas de teste 112, respectivamente. As cadeias de digitalização são definidas durante o projeto de circuito e são representativas para testar o desempenho operacional de partes do CUT. Tipicamente, cadeias de digitalização são posicionadas antes e depois, isto é, interpostas com partes de circuitos funcionais do CUT, de tal modo que, para cada parte funcional há: (i) uma "cadeia de digitalização precedente" provendo entradas para os componentes de circuito daquela parte funcional, e (ii) uma "cadeia de digitalização seguinte" recebendo as saídas da parte funcional.
[0052] Um ciclo de teste envolve tipicamente selecionar o modo de digitalização e carregar serialmente um padrão de teste em cadeias de digitalização 114 via entradas de teste 111. Quando as cadeias de digitalização 114 são plenamente carregadas, o modo normal de operação do CUT 101 é selecionado via sinais de controle 113, e um ciclo de relógio é aplicado, aplicando deste modo o padrão de teste carregado às entradas da lógica combinacional implementada pelo CUT 101. A resposta do CUT 101 aos valores de entrada definidos pelos padrões de teste é tornada disponível como saídas de teste 112 da lógica combinacional. Finalmente, o modo de digitalização do CUT 101 é selecionado novamente e um ciclo de relógio é aplicado para descarregar os valores de saída das cadeias de digitalização 114 através das saídas de teste 112. Enquanto as saídas são deslocadas das cadeias de digitalização 114, o próximo padrão de teste pode ser carregado nas cadeias de digitalização 114. O MISR 203 compacta e acumula as respostas de teste recebidas via saídas de teste 112 em uma assinatura de teste que é comparada subsequentemente, pela lógica de decisão 204, com uma assinatura esperada armazenada 205 ou fisicamente 205 no módulo LBIST 102. Uma saída MISR incorreta, isto é, uma assinatura que difere de uma assinatura esperada, isto é, uma assinatura de um CUT 101 livre de falhas, indica uma falha.
[0053] No LBIST tradicional, conforme descrito anteriormente com referência às Figuras 1 e 2, o mesmo conjunto de padrões de teste é aplicado ao CUT 101, toda vez que são realizados testes lógicos, isto é, toda vez que um ciclo de teste é executado. Isto é devido ao fato de que os parâmetros de teste, o estado inicial do PRPG 201 e um número de padrões de teste a serem gerados, bem como a assinatura esperada correspondente, necessitam ser armazenados ou conectados fisicamente no IC 100. As desvantagens desta abordagem da técnica anterior são duplas. Primeiramente, uma vez que o mesmo conjunto de padrões de teste é usado toda vez que testes de lógica são realizados durante o tempo de vida do IC 100, e o conjunto de padrões de teste é conhecido quando o chip é fabricado, o chip é vulnerável a Trojans de hardware explorando o erro de reconstrução do MISR 203. Um adversário pode explorar o conhecimento dos padrões de teste e da assinatura esperada correspondente para modificar maliciosamente elementos de circuito durante o processo de fabricação, de tal modo que a assinatura de teste criada pelo MISR para o teste do conjunto de vetores é idêntica à do projeto de circuito original. Em segundo lugar, uma vez que os padrões de teste são gerados de um modo pseudoaleatório, um grande número de padrões de teste é gerado em um modo pseudoaleatório, um grande número de padrões de teste é requerido para obter cobertura de teste satisfatória, tipicamente da ordem de 10.000 padrões de teste ou mais. A limitação no tamanho deriva da exigência de que é esperado que um ciclo de teste seja completado dentro de um tempo razoável, o que depende da aplicativo em uso. Por exemplo, para uma estação rádio base ou outro nó de uma rede de acesso rádio, é tipicamente que um ciclo de teste para teste em campo seja completado dentro de menos de dez segundos. Portanto, não é viável aumentar consideravelmente o tamanho do conjunto de teste, isto é, o conjunto de padrões de teste, pois isto resultaria em um aumento considerável no tempo de execução do ciclo de teste. Usar diferentes conjuntos de teste para cada ciclo de teste, no sentido de melhorar a cobertura de teste não é viável, uma vez que cada conjunto de padrões de teste requer uma assinatura esperada correspondente para determinar se o chip passou ou não. Enquanto gerar os padrões de teste pelo PRPG não demanda muito esforço computacional, gerar a assinatura esperada correspondente constitui um esforço computacional considerável, uma vez que requer a simulação da lógica combinacional implementada pelo CUT em software, e para calcular a resposta da lógica computacional simulada para cada padrão de teste. Em outras palavras, em adição ao CUT, o chip requereria meios de processamento suficientemente complexos para simular a lógica combinacional implementada pelo CUT e para calcular respostas de saída de CUT para os padrões de teste como entrada. Obviamente, isto resultaria em um aumento considerável de complexidade do chip. Será também verificado que isto não é viável para armazenar assinaturas pré geradas para conjuntos de teste variáveis ou grandes, devido ao aumento correspondente nos recursos de armazenagem requeridos.
[0054] A seguir, e com referência às Figuras 3 a 13, o teste remoto de acordo com modalidades da invenção é descrito.
[0055] Figura 3 ilustra um sistema 300 compreendendo um dispositivo de gerenciamento de teste remoto 310, e um ou mais dispositivos eletrônicos 320 arranjados para se comunicar um com o outro através de uma rede de comunicações 301. O dispositivo de gerenciamento de teste remoto 310 pode, por exemplo, ser um computador pessoal que é provido de um programa de computador de acordo com uma modalidade da invenção, ou uma unidade de supervisão de falha dedicada, como é descrito adicionalmente abaixo. O dispositivo de gerenciamento de teste remoto 310 pode também ser implementado como uma máquina virtual para execução em um ambiente de computação em nuvem.
[0056] Cada um dos dispositivos eletrônicos 320 compreende um circuito lógico digital, CUT 101, e um Módulo de Teste (TM) 322 para realizar testes de lógica no CUT 101, como é descrito adicionalmente abaixo. Será verificado que, embora dispositivos eletrônicos 320 sejam ilustrados na Figura 3 como em comunicação direta com um dispositivo de gerenciamento de teste remoto 310, os dispositivos eletrônicos 320 podem ser compreendidos em terminais móveis, por exemplo, UEs, computadores, tablets, dispositivos M2M e assim por diante, através dos quais a comunicação com o dispositivo de gerenciamento de teste remoto 310 é realizada. A rede de comunicações 301 pode, por exemplo, ser qualquer uma, ou uma combinação de uma Rede de Área Local (LAN), uma LAN Sem Fio (WLAN), uma Rede de Área Extensa (WAN), a Internet, uma rede corporativa, uma rede de rádio celular tal como Sistema Global para Comunicação Móvel (GSM), Sistema de Telecomunicação Móvel Universal (UMTS), ou Evolução de Longa Duração (LTE), ou uma rede ad-hoc, malha, ou rede capilar. A comunicação entre o dispositivo de gerenciamento de teste remoto 310 e os dispositivos eletrônicos 320 pode ser efetuada por meio de um protocolo de comunicação adequado conhecido na técnica, por exemplo, Protocolo de Controle de Transmissão (TCP), Protocolo de Datagrama de Usuário (UDP) ou qualquer protocolo de gerenciamento de dispositivos, tal como TR.069 (Fórum de Faixa Larga), Dispositivo de Gerenciamento de Aliança Móvel Aberta (OMA) ou OMA Leve M2M.
[0057] Modalidades da invenção efetuam testes de lógica do CUT 101 de um modo distribuído, ao invés de maneira autônoma como na técnica anterior. Para esta finalidade, o dispositivo de gerenciamento de teste remoto 310 adquire parâmetros de teste, com base nos quais um conjunto de padrões de teste pode ser gerado usando um PRPG e uma assinatura esperada correspondente ao conjunto de padrões de teste. Os parâmetros de teste são transmitidos através da rede de comunicações 301 para pelo menos um dos dispositivos eletrônicos 320. Com base nos parâmetros de teste recebidos, o dispositivo eletrônico 320 gera padrões de teste e conduz testes de lógica similares ao LBIST convencional descrito com referência às Figuras 1 e 2. Isto é, os padrões de teste gerados são aplicados ao CUT 101 e as respostas de teste do CUT 101 são compactadas em uma assinatura de teste, que subsequentemente é comparada com uma assinatura esperada correspondente, no sentido de determinar um resultado de teste, isto é, se o CUT 101 passou ou falhou no conjunto de padrões de teste. A comparação pode ser realizada no dispositivo de gerenciamento de teste remoto 310 ou no dispositivo eletrônico 320. Se a comparação é realizada no dispositivo de gerenciamento de teste remoto 310, a assinatura de teste é transmitida do dispositivo eletrônico 320 para o dispositivo de gerenciamento de teste remoto 310, onde comparada com uma uma assinatura esperada e um resultado de teste é determinado, consequentemente. Se a comparação é realizada no dispositivo eletrônico 320, a assinatura esperada é transmitida do dispositivo de gerenciamento de teste remoto 310 para o dispositivo eletrônico 320, onde é comparada com a assinatura de teste, e é determinado um resultado de teste, consequentemente.
[0058] Pela seleção adequada de parâmetros de teste, os problemas associados com LBIST convencional são minimizados. Em particular, transmitindo diferentes valores de inicialização definindo o estado inicial do PRPG, é possível realizar testes lógicos usando diferentes conjuntos de teste, toda vez que um teste é realizado, simplesmente usando valores de inicialização diferentes, melhorando deste modo a detecção de Trojans de hardware. Adicionalmente, o tamanho do conjunto de teste pode ser aumentado, enquanto mantém a sobrecarga de comunicação baixa, transmitindo um parâmetro de teste para este efeito, instruindo os dispositivos eletrônicos 320 para gerar um conjunto de teste de tamanho desejado. Deste modo, a cobertura de teste pode ser melhorada. Para esta finalidade, os parâmetros de teste compreendem pelo menos um de um valor de inicialização, um número de padrões de teste a serem gerados e um ou mais números de sequência para padrões de teste a serem gerados. Transmitindo uma lista de um ou mais números de sequência para dispositivos eletrônicos de acordo com uma modalidade da invenção, em adição a um valor de inicialização, padrões de teste específicos podem ser selecionados e gerados, devido ao caráter determinístico das sequências geradas pelos PRPGs. Deste modo, testes lógicos podem ser adaptados para partes específicas do circuito lógico digital.
[0059] Modalidades da invenção são vantajosas em que é aliviada a necessidade de complexidade aumentada dos ICs suportando teste de lógica incorporada com vários conjuntos de teste, e/ou conjuntos de teste provendo cobertura de teste aumentada. Fazendo com que o dispositivo de gerenciamento de teste remoto 310, ao invés do dispositivo eletrônico 320, compute ou armazene as assinaturas esperadas, as limitações em computação, armazenagem e recursos de bateria do dispositivo eletrônico 320 são superadas.
[0060] Será verificado que o gerenciamento de teste remoto de acordo com modalidades da invenção pode ser realizado de um modo um para um, conforme descrito anteriormente com referência à Figura 3, ou de um modo de um para muitos. No último caso, parâmetros de teste são transmitidos a vários dispositivos eletrônicos 320, que são idênticos ou pelo menos compreendem CUTs 101 idênticos, de tal modo que um conjunto comum de padrões de teste e uma assinatura esperada correspondente pode ser usado. Se a comparação da assinatura de teste com a assinatura esperada é realizada no dispositivo de gerenciamento de teste remoto 310, cada dispositivo eletrônico 320 transmite sua assinatura de teste para o dispositivo de gerenciamento de teste remoto 310, onde são comparadas com a assinatura esperada em uma base por dispositivo. Correspondentemente, se a comparação é realizada em dispositivos eletrônicos 320, a assinatura esperada é transmitida aos dispositivos eletrônicos 320. O teste de um para muitos tem a vantagem adicional de que uma assinatura esperada, cuja computação é computacionalmente exigente, pode ser usada para testar um número potencialmente grande de dispositivos eletrônicos 320 idênticos. Isto é de importância particular para cenários M2M/IoT nos quais grandes quantidades de pequenos dispositivos com computação, armazenagem e recursos de bateria limitados são implantados. A seguir, a invenção é discutida no contexto de teste de um para um, isto é, o dispositivo de gerenciamento de teste remoto 310 gerencia remotamente um único dispositivo eletrônico 320. Entretanto, modalidades não estão limitadas a teste de um para um e modalidades correspondentes para teste de um para muitos podem ser facilmente previstas.
[0061] Adicionalmente, com referência à Figura 3, uma modalidade do dispositivo de gerenciamento de teste remoto 310 é agora descrita. O dispositivo de gerenciamento de teste remoto 310 compreende meios de processamento tal como uma unidade de processamento 311 e uma memória 312 compreendendo um programa de computador 313, e uma Interface de Rede (NI) 314, adaptadas para adquirir um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para um circuito lógico digital, CUT 101, compreendidos em um ou mais dispositivos eletrônicos 320 e para adquirir uma assinatura esperada correspondente ao conjunto de padrões de teste. Os parâmetros de teste podem, por exemplo, ser providos por um operador do dispositivo de gerenciamento de teste remoto 310 ou recuperados de uma base de dados 315 da qual o dispositivo de gerenciamento de teste remoto 310 é provido ou tem acesso. Os parâmetros de teste podem ser adquiridos quando um teste é iniciado, por exemplo, requisitado pelo operador, disparado por uma indicação de falha recebida de um dos dispositivos eletrônicos 320 ou de uma unidade de supervisão de falha, ou com base numa programação. Os meios são adicionalmente adaptados para transmitir os parâmetros de teste ao dispositivo eletrônico 320, onde são usados para gerar padrões de teste, conforme é descrito adicionalmente abaixo. Os parâmetros de teste são transmitidos ao dispositivo eletrônico 320 pela interface de rede 314, via rede de comunicações 301. Os meios são adicionalmente adaptados para receber uma assinatura de teste correspondente à assinatura esperada do dispositivo eletrônico 320, e para determinar um resultado de teste baseado em uma comparação da assinatura esperada com a assinatura de teste recebida. A assinatura de teste é recebida do dispositivo eletrônico 320 pela interface de rede 314, via rede de comunicações 301. Opcionalmente, os meios são adicionalmente adaptados para determinar o resultado de teste como indicando uma falha no CUT 101, se a assinatura esperada difere da assinatura de teste recebida do dispositivo eletrônico 320.
[0062] Alternativamente, os meios compreendidos no dispositivo de gerenciamento de teste remoto 310 podem ser adaptados para transmitir a assinatura esperada ao dispositivo eletrônico 320 e, opcionalmente, para receber informação pertencente a um resultado de teste para os padrões de teste do dispositivo eletrônico 320, ao invés de receber a assinatura de teste do dispositivo eletrônico 320 e determinar o resultado do teste no dispositivo de gerenciamento de teste remoto 310.
[0063] Opcionalmente, os meios compreendidos no dispositivo de gerenciamento de teste remoto 310 podem ser adaptados para criptografar a comunicação com o dispositivo eletrônico 320, por exemplo, usando Secure Shell (SSH), Secure Sockets Layer (SSL), Segurança de Camada de Transporte (TSL), IPsec ou similares, como é conhecido na técnica. Isto é, os meios são adaptados para criptografar parâmetros de teste e, opcionalmente, a assinatura esperada, que podem ser transmitidos ao dispositivo eletrônico 320 e para decriptografar a assinatura de teste ou o resultado de teste, que são recebidos do dispositivo eletrônico 320. Adicionalmente, o dispositivo de gerenciamento de teste remoto 310 pode ser adaptado para autenticar a comunicação com o dispositivo eletrônico 320, como é conhecido na técnica, evitando deste modo tipos de ataques com participação humana e falsificação de identidade.
[0064] Ainda opcionalmente, os meios são adaptados para computar a assinatura esperada com base em uma simulação do projeto de circuito do CUT 101, isto é, a lógica combinacional fundamental, usando os padrões de teste como entrada, como é conhecido na técnica. Como uma alternativa, a assinatura esperada pode ser armazenada na base de dados 315 e recuperada quando um teste com um conjunto de padrões de teste correspondendo à assinatura esperada armazenada é realizado.
[0065] Com referência às Figuras 4 a 6, modalidades do dispositivo eletrônico 320 são agora descritas. Similarmente ao IC 100 descrito com referência às Figuras 1 e 2, o dispositivo eletrônico 320 compreende um circuito lógico digital 101, o CUT, que implementa pelo menos parte da funcionalidade que o dispositivo eletrônico 320 provê, e um módulo de teste 322 para realizar testes lógicos no CUT 101. O dispositivo eletrônico 320 pode, por exemplo, ser um IC 1100 ilustrado na Figura 11, compreendendo um circuito lógico digital 1101 e um módulo de teste 1102, tal como um microprocessador, um ASIC ou um FPGA. Este pode fazer parte de um IC maior, um SoC, um SiP 1200 ou um SoM 1200, ilustrado na Figura 12, compreendendo um circuito lógico digital 1201 e um módulo de teste 1202. Uma modalidade do dispositivo eletrônico 320 pode, por exemplo, ser compreendida em um circuito criptográfico tal como uma cifra de fluxo ou circuitos para criptografia e/ou decriptografia. Ainda adicionalmente, uma modalidade do dispositivo eletrônico 320 pode também estar compreendida em um terminal móvel tal como o telefone móvel 1300, ilustrado na Figura 13, compreendendo um circuito lógico digital 1301 e um módulo de teste 1302.
[0066] Uma modalidade 500 do módulo de teste 322 é ilustrada na Figura 5. Similar ao módulo LBIST 102, o módulo de teste 500 compreende um PRPG 201 para gerar padrões de teste pseudoaleatórios e um MISR 203 para compactar respostas de teste recebidas do circuito lógico digital 101 via saídas de teste 112 em uma assinatura de teste. Em contraste com o módulo LBIST 102, os parâmetros de teste não são armazenados ou conectados fisicamente, porém recebidos do dispositivo de gerenciamento de teste remoto 310. Para esta finalidade, o módulo de teste 500 compreende um módulo de comunicação 507 configurado para se comunicar com um dispositivo de gerenciamento de teste remoto através de uma rede de comunicações, tal como um dispositivo de gerenciamento de teste remoto 310 ilustrado na Figura 3. Mais especificamente, o módulo de comunicação 507 é configurado para receber parâmetros de teste e prover os parâmetros de teste recebidos ao PRPG 201, por exemplo, via um módulo 502 configurado para armazenar temporariamente os parâmetros de teste. O módulo de comunicação 507 é adicionalmente configurado para receber uma assinatura de teste do MISR 203 e para transmitir a assinatura de teste para o dispositivo de gerenciamento de teste remoto.
[0067] O controlador 506 do módulo de teste 500 compreende um meio de processamento, tal como uma memória 511, armazenando um programa de computador 512 e uma unidade de processamento 510 executando o programa de computador 512, onde o controlador 506 é operativo para controlar o módulo de teste 500 para realizar testes lógicos em resposta a receber parâmetros de teste do dispositivo de gerenciamento de teste remoto. Mais especificamente, o módulo de teste 500 é operativo para receber um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto, via módulo de comunicação 507, gerar um ou mais padrões de teste com base nos padrões de teste recebidos, usando PRPG 201, aplicar os padrões de teste sistema operacional CUT 101, receber respostas de teste do CUT 101 compactar as respostas de teste em uma assinatura de teste, usando MISR 203, e transmitir a assinatura de teste para o dispositivo de gerenciamento de teste remoto, usando o módulo de comunicação 507.
[0068] Opcionalmente, o controlador 506 pode adicionalmente ser configurado para efetuar testes lógicos de modo autônomo, por exemplo, na energização ou reinicialização, em resposta a uma condição de falha, ou em resposta a um disparador externo recebido via entrada de controle 114 opcional. A entrada de controle 114 pode também ser usada para comutar o dispositivo eletrônico 320 entre um modo normal de operação e um modo de teste, ou para iniciar um ciclo de teste e pode, por exemplo, ser conectada a uma unidade de supervisão de falha provida juntamente com o dispositivo eletrônico 320.
[0069] Uma modalidade alternativa 600 do módulo de teste 322 é agora descrita com referência à Figura 6. Similarmente ao módulo de teste 500, o módulo de teste 600 compreende um PRPG 201 para gerar padrões de teste pseudoaleatórios e um MISR 203 para compactar respostas de teste recebidas do CUT 101 via saídas de teste 112 em uma assinatura de teste. Adicionalmente, o módulo de teste 600 também compreende um módulo de comunicação 607 configurado se comunicar com um dispositivo de gerenciamento de teste remoto através de uma rede de comunicações, tal como um dispositivo de gerenciamento de teste remoto 310 ilustrado na Figura 3. Similarmente ao módulo de comunicação 507, o módulo de comunicação 607 é configurado para receber parâmetros de teste e prover os parâmetros de teste recebido ao PRPG 201, por exemplo, via módulo 502 configurado para armazenar temporariamente os parâmetros de teste.
[0070] O módulo de teste 600 compreende adicionalmente uma lógica de decisão 604 configurada para comparar a assinatura de teste obtida a partir do MISR 203 com uma assinatura esperada, como é conhecido na técnica. Entretanto, diferente do módulo LBIST 102, a assinatura esperada não é armazenada ou conectada fisicamente no módulo de teste 600, porém recebida do dispositivo de gerenciamento remoto, via módulo de comunicação 607. Para esta finalidade, o módulo de comunicação 607 é configurado para receber a assinatura esperada e prover assinatura esperada recebida à lógica de decisão 604, por exemplo, via um módulo 605 configurado para armazenar temporariamente a assinatura esperada. A lógica de decisão 604 pode adicionalmente ser configurada para prover o resultado da comparação, isto é, um resultado de teste, aso módulo de comunicação 607, que pode ser adicionalmente configurado para transmitir informação pertencente ao resultado de teste para o dispositivo de gerenciamento remoto. Ainda opcionalmente, a lógica de decisão 604 pode ser configurada para tornar disponível o resultado de teste para um circuito externo, por exemplo, uma unidade de supervisão de falha provida juntamente com o dispositivo eletrônico 320, por meio de um sinal 115.
[0071] O controlador 606 do módulo de teste 600 compreende um meio de processamento, tal como uma memória 611 armazenando um programa de computador 612 e uma unidade de processamento 610 executando o programa de computador 612, por meio do qual o controlador 606 está operativo para controlar o módulo de teste 600 para realizar testes lógicos em resposta a receber parâmetros de teste do dispositivo de gerenciamento remoto. Mais especificamente, o módulo de teste 600 é operativo para receber um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto, via módulo de comunicação 607, gerar um ou mais padrões de teste com base nos parâmetros de teste recebidos usando o PRPG 201, aplicar os padrões de teste ao CUT 101, receber respostas de teste do CUT 101, compactar as respostas de teste em uma assinatura de teste, usando MISR 203, receber uma assinatura esperada correspondente ao conjunto de padrões de teste a partir do dispositivo de gerenciamento de teste remoto, via módulo de comunicação 607, e determinar um resultado de teste com base em uma comparação da assinatura esperada recebida com a assinatura de teste, usando a lógica de decisão 604.
[0072] Opcionalmente, o controlador 606 pode adicionalmente ser configurado para realizar testes lógicos de modo autônomo, por exemplo, em uma energização ou reinicialização, em resposta a uma condição de falha ou em resposta a um disparador externo recebido via uma entrada de controle 114 opcional. A entrada de controle 114 pode também ser usada para comutar o dispositivo eletrônico 320 entre um modo normal de operação e um modo de teste, ou para iniciar um ciclo de teste, que pode, por exemplo, ser conectada a uma unidade de supervisão de falha provida juntamente com o dispositivo eletrônico 320.
[0073] Modalidades do módulo de teste 322, tais como os módulos de teste 500 e 600 e em particular os módulos de comunicação 507 e 607, podem adicionalmente ser configurados para criptografar a comunicação com o dispositivo de gerenciamento de teste remoto, por exemplo, usando SSH, SSL, TSL, IPsec ou similares, conforme conhecido na técnica. Isto é, os parâmetros de teste e, opcionalmente, a assinatura esperada, recebida do dispositivo de gerenciamento de teste remoto são decriptografadas. Correspondentemente, a assinatura de teste e o resultado de teste são criptografados antes da transmissão para o dispositivo de gerenciamento de teste remoto. Adicionalmente, o dispositivo eletrônico 320 pode ser adaptado para autenticar a comunicação com o dispositivo de gerenciamento de teste remoto 310, como é conhecido na técnica, evitando deste modo tipos de ataques com participação humana e falsificação de identidade.
[0074] A comunicação entre os módulos de comunicação 507 e 607 e controladores 506 e 606, respectivamente, pode ser efetuada de acordo com o IEEE 1149.1 "Standard Test Access Port and Boundary-Scan Architecture", comumente denominado Grupo de Ação de Teste Conjunto (JTAG).
[0075] A seguir, modalidades adicionais da invenção são descritas com referência às Figuras 7 a 10.
[0076] Na Figura 7, é ilustrada uma modalidade de um método 700 para testar um circuito lógico digital compreendido em um dispositivo eletrônico, tal como o CUT 101 compreendido no dispositivo eletrônico 320. O método 700 é realizado pelo dispositivo eletrônico e compreende receber 701 um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto, tal como o dispositivo de gerenciamento de teste remoto 310 e gerar 702 um ou mais padrões de teste com base nos parâmetros de teste recebidos. O método 700 compreende adicionalmente aplicar 703 o padrão de teste ao circuito lógico digital, receber 704 uma ou mais respostas do circuito lógico digital, uma para cada padrão, compactar 705 as respostas de teste recebidas do circuito lógico digital em uma assinatura de teste, e transmitir 706 a assinatura de teste para o dispositivo de gerenciamento de teste remoto. O método 700 pode adicionalmente compreender etapas adicionais de acordo com o que é descrito anteriormente, em particular com referência às Figuras 3 a 6.
[0077] Na Figura 8, é ilustrada uma modalidade de um outro método 800 para testar um circuito lógico digital compreendido em um dispositivo eletrônico, tal como o CUT 101 compreendido no dispositivo eletrônico 320. O método 800 é realizado pelo dispositivo eletrônico e compreende receber 801 um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto, tal como o dispositivo de gerenciamento de teste remoto 310 e gerar 802, um ou mais padrões de teste com base nos parâmetros de teste recebidos. O método 800 compreende adicionalmente aplicar 803 os padrões de teste ao circuito lógico digital, receber 804 uma ou mais respostas do circuito lógico digital, uma para cada padrão de teste, compactar 805 as respostas de teste recebidas do circuito lógico digital em uma assinatura de teste, receber 806 uma assinatura esperada correspondente aos padrões de teste a partir do dispositivo de gerenciamento de teste remoto, e determinar 807 um resultado de teste com base em uma comparação da assinatura esperada recebida com a assinatura de teste. Opcionalmente, o método 800 pode compreender adicionalmente transmitir 808 informação pertencente ao resultado de teste ao dispositivo de gerenciamento de teste remoto. O método 800 pode compreender adicionalmente etapas adicionais de acordo com o que é descrito anteriormente, em particular com referência às Figuras 3 a 6.
[0078] Modalidades dos métodos 700 ou 800 podem ser implementadas por um programa de computador 512 (ou 612) compreendendo instruções executáveis por computador para que um dispositivo, tal como um módulo de teste 500 (ou 600), realize, quando as instruções executáveis por computador são executadas em uma unidade de processamento 510 (ou 610) compreendidas no dispositivo. Com referência ao que é descrito anteriormente, será verificado que algumas ou todas as etapas do método 700 (ou 800) são realizadas em cooperação com outras partes funcionais do módulo de teste 500 (ou 600). Por exemplo, a etapa de receber 701 um ou mais parâmetros de teste de um dispositivo de gerenciamento de teste remoto é realizada em cooperação com o módulo de comunicação 507, e a etapa de gerar 702 um ou mais padrões de teste com base nos parâmetros de teste recebidos, é realizada em cooperação com o PRPG 201.
[0079] Na Figura 9, é ilustrada uma modalidade de um método 900 para testar um circuito lógico digital compreendido em um dispositivo eletrônico, tal como o CUT 101 compreendido no dispositivo eletrônico 320. O método 900 é realizado por um dispositivo de gerenciamento de teste remoto, tal como o dispositivo de gerenciamento de teste remoto 310. O método compreende adquirir um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para um circuito lógico digital, adquirir 902 uma assinatura esperada correspondente aos padrões de teste e transmitir 903 os parâmetros de teste a pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital. O método 900 compreende adicionalmente receber 904 uma assinatura de teste do pelo menos um dispositivo eletrônico, e determinar 905 um resultado de teste baseado em uma comparação da assinatura esperada com a assinatura de teste recebida. O método 900 pode compreender adicionalmente etapas adicionais de acordo com o que é descrito anteriormente, em particular com referência às Figuras 3 a 6.
[0080] Na Figura 10, é ilustrada uma modalidade de um outro método 1000 de testar um circuito lógico digital compreendido em um dispositivo eletrônico, tal como CUT 101 compreendido no dispositivo eletrônico 320. O método 1000 é realizado por um dispositivo de gerenciamento de teste remoto, tal como o dispositivo de gerenciamento de teste remoto 310. O método 1000 compreende adquirir 1001 um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para um circuito lógico digital, adquirir 1002 uma assinatura esperada correspondente aos padrões de teste, transmitir 1003 os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital, e transmitir 1004 a assinatura esperada para o pelo menos um dispositivo eletrônico. Opcionalmente, o método 1000 pode compreender adicionalmente receber 1005 informação pertencente a um resultado de teste para os padrões de teste, a partir do pelo menos um dispositivo eletrônico. O método 1000 pode adicionalmente compreender etapas adicionais de acordo com o que é descrito anteriormente, em particular com referência às Figuras 3 a 6.
[0081] Modalidades dos métodos 900 ou 1000 podem ser implementadas por um programa de computador 313 compreendendo instruções executáveis por computador para fazer com que um dispositivo desempenhe de acordo, quando as instruções executáveis por computador são executadas em uma unidade de processamento 311 compreendida no dispositivo.
[0082] A pessoa versada na técnica conclui que a invenção, de nenhum modo é limitada às modalidades descritas acima. Ao contrário, muitas modificações e variações são possíveis dentro do escopo das reivindicações anexas. Será também verificado que modalidades da invenção podem ser implementadas em hardware, isto é, diferentes tipos de circuitos eletrônicos, software, isto é, meios de processamento executando um programa de computador adequado ou qualquer combinação destes.

Claims (22)

1. Dispositivo eletrônico (320; 1100; 1200; 1300) compreendendo: um circuito lógico digital (101), e um módulo de teste (322; 500) adaptado para: receber um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para o circuito lógico digital a partir de um dispositivo de gerenciamento de teste remoto, gerar um ou mais padrões de teste com base nos parâmetros de teste, aplicar os padrões de teste ao circuito lógico digital, receber uma ou mais respostas de teste do circuito lógico digital, e compactar as respostas de teste em uma assinatura de teste, o dispositivo eletrônico sendo caracterizado pelo fato de que o módulo de teste é adicionalmente adaptado para: receber uma assinatura esperada correspondente aos padrões de teste, a partir do dispositivo de gerenciamento de teste remoto, e determinar um resultado de teste com base em uma comparação da assinatura esperada com a assinatura de teste.
2. Dispositivo eletrônico, de acordo com a reivindicação 1, caracterizado pelo fato do módulo de teste ser adaptado para determinar o resultado de teste, como indicando uma falha no circuito lógico digital, se a assinatura esperada difere da assinatura de teste.
3. Dispositivo eletrônico, de acordo com a reivindicação 1 ou 2, caracterizado pelo fato do módulo de teste ser adicionalmente adaptado para transmitir informação pertencente ao resultado de teste, ao dispositivo de gerenciamento de teste remoto.
4. Dispositivo eletrônico, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que compreende adicionalmente um gerador pseudoaleatório (201) para gerar os padrões de teste com base nos parâmetros de teste.
5. Dispositivo eletrônico, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que os parâmetros de teste compreendem pelo menos um de um valor de inicialização, um número de padrões de teste a serem gerados, e um ou mais números de sequência de padrões de teste a serem gerados.
6. Dispositivo eletrônico, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de ser qualquer um dentre um Circuito Integrado (1100), um Sistema-em-Chip (1100), um Sistema-em- Embalagem (1200) ou um Sistema-em-Módulo (1200).
7. Dispositivo criptográfico, caracterizado pelo fato de que compreende um dispositivo eletrônico como definido em qualquer uma das reivindicações 1 a 6.
8. Terminal móvel (1300), caracterizado pelo fato de que compreende o dispositivo eletrônico como definido em qualquer uma das reivindicações 1 a 6, ou o dispositivo eletrônico criptográfico como definido na reivindicação 7.
9. Dispositivo de gerenciamento de teste remoto (310) para testar um circuito lógico digital (101) compreendido em um dispositivo eletrônico (320), o dispositivo de gerenciamento de teste remoto compreendendo meios (311-315) adaptados para: adquirir um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para o circuito lógico digital, adquirir uma assinatura esperada correspondente aos padrões de teste, e transmitir os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital, o dispositivo de gerenciamento de teste remoto sendo caracterizado pelo fato de que os meios são adicionalmente adaptados para: transmitir a assinatura esperada para o pelo menos um dispositivo eletrônico.
10. Dispositivo de gerenciamento de teste remoto, de acordo com a reivindicação 9, caracterizado pelo fato de que os meios são adicionalmente adaptados para receber informação pertencente a um resultado de teste para os padrões de teste, a partir do pelo menos um dispositivo eletrônico.
11. Dispositivo de gerenciamento de teste remoto, de acordo com a reivindicação 9 ou 10, caracterizado pelo fato dos meios serem adicionalmente adaptados para adquirir a assinatura esperada, computando a assinatura esperada com base nos parâmetros de teste e um projeto do circuito lógico digital.
12. Dispositivo de gerenciamento de teste remoto, de acordo com qualquer uma das reivindicações 9 a 11, caracterizado pelo fato de que os parâmetros de teste compreendem pelo menos um dentre um valor de inicialização, um número de padrões de teste a serem gerados e um ou mais números de sequência de padrões de teste a serem gerados.
13. Método (800) para testar um circuito lógico digital (101) compreendido em um dispositivo eletrônico (320), o método sendo executado pelo dispositivo eletrônico e compreendendo: receber (801) um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para o circuito lógico digital de um dispositivo de gerenciamento de teste remoto (310), gerar (802) um ou mais padrões de teste com base nos parâmetros de teste, aplicar (803) os padrões de teste ao circuito lógico digital, receber (804) uma ou mais respostas de teste do circuito lógico digital, e compactar (805) as respostas de teste em uma assinatura de teste, o método sendo caracterizado pelo fato de que compreende adicionalmente: receber (806) uma assinatura esperada correspondente aos padrões de teste do dispositivo de gerenciamento de teste remoto, e determinar (807) um resultado de teste com base em uma comparação da assinatura esperada com a assinatura de teste.
14. Método de acordo com a reivindicação 13, caracterizado pelo fato de que a determinação de um resultado de teste compreende indicar uma falha no circuito lógico digital, se a assinatura esperada difere da assinatura de teste.
15. Método (800) de acordo com as reivindicações 13 ou 14, caracterizado pelo fato de que compreende adicionalmente transmitir (808) informação pertencente ao resultado de teste para o dispositivo de gerenciamento de teste remoto.
16. Método de acordo com qualquer uma das reivindicações 13 a 15, caracterizado pelo fato de que os padrões de teste são gerados com base nos parâmetros de teste, usando um gerador pseudoaleatório compreendido no dispositivo eletrônico.
17. Método de acordo com qualquer uma das reivindicações 13 a 16, caracterizado pelo fato de que os parâmetros de teste compreendem pelo menos um dentre um valor de inicialização, um número de padrões de teste a serem gerados e um ou mais números de sequência de padrões de teste a serem gerados.
18. Método (1000) para testar um circuito lógico digital (101) compreendido em um dispositivo eletrônico (320), o método sendo executado por um dispositivo de gerenciamento de teste remoto (310), o método compreendendo: adquirir (1001) um ou mais parâmetros de teste adequados para gerar um ou mais padrões de teste para o circuito lógico digital, adquirir (1002) uma assinatura esperada correspondente aos padrões de teste, e transmitir (1003) os parâmetros de teste para pelo menos um dispositivo eletrônico compreendendo o circuito lógico digital, o método sendo caracterizado pelo fato de que compreende adicionalmente: transmitir (1004) a assinatura esperada para o pelo menos um dispositivo eletrônico.
19. Método de acordo com a reivindicação 18, caracterizado pelo fato de que compreende adicionalmente receber (1005) informação pertencente a um resultado de teste para os padrões de teste, do pelo menos um dispositivo eletrônico.
20. Método de acordo com as reivindicações 18 ou 19, caracterizado pelo fato de que adquirir a assinatura esperada compreende computar a assinatura esperada com base nos parâmetros de teste e em um projeto do circuito lógico digital.
21. Método de acordo com qualquer uma das reivindicações 18 a 20, caracterizado pelo fato de que os parâmetros de teste compreendem pelo menos um dentre um valor de inicialização, um número de padrões de teste a serem gerados e um ou mais números de sequência de padrões de teste a serem gerados.
22. Mídia de armazenamento legível por computador, caracterizada pelo fato de que compreende instruções executáveis por computador que, quando executadas em uma unidade de processamento (311) de um computador (312), fazem com que o mesmo execute o método como definido em qualquer uma das reivindicações 13 a 21.
BR112016016518-7A 2014-02-05 2014-02-05 Dispositivos eletrônico, criptográfico e de gerenciamento de teste remoto, terminal móvel, métodos para testar um circuito lógico digital, e, mídia de armazenamento legível por computador BR112016016518B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2014/050145 WO2015119540A1 (en) 2014-02-05 2014-02-05 Remote test management of digital logic circuits

Publications (2)

Publication Number Publication Date
BR112016016518A2 BR112016016518A2 (pt) 2017-08-08
BR112016016518B1 true BR112016016518B1 (pt) 2022-01-18

Family

ID=50156877

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016016518-7A BR112016016518B1 (pt) 2014-02-05 2014-02-05 Dispositivos eletrônico, criptográfico e de gerenciamento de teste remoto, terminal móvel, métodos para testar um circuito lógico digital, e, mídia de armazenamento legível por computador

Country Status (6)

Country Link
US (1) US9952278B2 (pt)
EP (1) EP3102957B1 (pt)
BR (1) BR112016016518B1 (pt)
ES (1) ES2655503T3 (pt)
PL (1) PL3102957T3 (pt)
WO (1) WO2015119540A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9829536B2 (en) * 2016-02-03 2017-11-28 Nvidia Corporation Performing on-chip partial good die identification
DE102019201487A1 (de) * 2019-02-06 2020-08-06 Robert Bosch Gmbh Verfahren und Vorrichtung zur Integritätsprüfung eines Künstlichen-Intelligenz-Moduls eines Roboters und Verfahren sowie System zur serverseitigen Integritätsprüfung
US20200411047A1 (en) * 2019-06-25 2020-12-31 International Business Machines Corporation Detecting electronic system modification
US11568046B2 (en) * 2019-07-01 2023-01-31 University Of Florida Research Foundation, Inc. Trigger activation by repeated maximal clique sampling
IT202100007856A1 (it) * 2021-03-30 2022-09-30 St Microelectronics Srl Architettura di test per circuiti elettronici, dispositivo e procedimento corrispondenti
US11574695B1 (en) 2021-07-29 2023-02-07 International Business Machines Corporation Logic built-in self-test of an electronic circuit
CN114048520B (zh) * 2022-01-11 2022-04-08 沐曦集成电路(上海)有限公司 跨芯片访问控制的检测系统
CN115856587A (zh) * 2023-02-21 2023-03-28 成都天成电科科技有限公司 一种芯片测试的方法、装置、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999053643A1 (en) * 1998-04-13 1999-10-21 Adc Telecommunications, Inc. Test access and performance monitoring system and method for cross-connect communication networks
US7181663B2 (en) * 2004-03-01 2007-02-20 Verigy Pte, Ltd. Wireless no-touch testing of integrated circuits
US7395473B2 (en) 2004-12-10 2008-07-01 Wu-Tung Cheng Removing the effects of unknown test values from compacted test responses
US7900112B2 (en) * 2008-07-15 2011-03-01 International Business Machines Corporation System and method for digital logic testing
US9081063B2 (en) * 2010-11-22 2015-07-14 Texas Instruments Incorporated On-chip IR drop detectors for functional and test mode scenarios, circuits, processes and systems
US20120159274A1 (en) * 2010-12-21 2012-06-21 Balakrishnan Kedarnath J Apparatus to facilitate built-in self-test data collection

Also Published As

Publication number Publication date
EP3102957A1 (en) 2016-12-14
PL3102957T3 (pl) 2018-04-30
ES2655503T3 (es) 2018-02-20
EP3102957B1 (en) 2017-11-01
BR112016016518A2 (pt) 2017-08-08
US20160349314A1 (en) 2016-12-01
WO2015119540A1 (en) 2015-08-13
US9952278B2 (en) 2018-04-24

Similar Documents

Publication Publication Date Title
BR112016016518B1 (pt) Dispositivos eletrônico, criptográfico e de gerenciamento de teste remoto, terminal móvel, métodos para testar um circuito lógico digital, e, mídia de armazenamento legível por computador
US11880468B2 (en) Autonomous, self-authenticating and self-contained secure boot-up system and methods
US10129037B2 (en) System and method for authenticating and enabling functioning of a manufactured electronic device
TWI650565B (zh) 藉由使用一聯合測試行動群組(jtag)介面以重建相連於一掃描鏈內之正反器之値的積體電路(ic)、一種操作該ic之方法以及具有該ic的裝置
US8522097B2 (en) Logic built-in self-test programmable pattern bit mask
TW201042974A (en) Validation and/or authentication of a device for communication with a network
O’Flynn et al. On-Device Power Analysis Across Hardware Security Domains.: Stop Hitting Yourself.
Das et al. PUF-based secure test wrapper design for cryptographic SoC testing
US10069635B2 (en) Methods and systems for achieving system-level counterfeit protection in integrated chips
Hussain et al. BIST-PUF: Online, hardware-based evaluation of physically unclonable circuit identifiers
WO2015119541A1 (en) Configurable built-in self-tests of digital logic circuits
Dubrova et al. Keyed logic BIST for Trojan detection in SoC
Al Khas et al. SHA-512 based wireless authentication scheme for smart battery management systems
JP2016091134A (ja) 半導体装置、及び半導体装置の信頼性テスト方法
TWI805472B (zh) 單晶片系統、用於其之方法、及運算器件
US10459732B2 (en) Method for operating a system on chip comprising a bootable processor to provide protection of confidential information on the system on chip
US9317385B2 (en) Hardware profiling
TWI833653B (zh) 單晶片系統、用於其之方法、及運算器件
Santikellur et al. Hardware Security in the Context of Internet of Things: Challenges and Opportunities
Kumar et al. PUF-based secure test wrapper for SoC testing
Wachs et al. Design and integration challenges of building security hardware IP
US20200401690A1 (en) Techniques for authenticating and sanitizing semiconductor devices
Dubrova et al. Remotely managed logic built-in self-test for secure M2M communications
Blair Development of a Reference Design for a Cyber-Physical System
Backlund et al. Secret Key Recovery Attack on Masked

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 05/02/2014, OBSERVADAS AS CONDICOES LEGAIS.