Vous êtes sur la page 1sur 273
Ferramentas Computacionais para Sistemas de Aquisigaéo de Dados Aplicados ao Ensino de Eletrénica Mauricio de Vasconcelos Affonso « 4 Orientador: Prof. Dr. Carlos Ignacio Zamittl Mammana Banca Examinadora: Prof. Dr. Carlos Ignacio Zamitti Mammaha Prof. Dr. Joo Antonio Zutfo Prof. Dr. Furio Damiani xemplar ida por final da tese | | Dissertagao apresentada & Faculdade de Engenharia Elétrica 2 Comisséo | como tequisito parcial para 3 “obtencao do titulo de Mestre em | Engenharia Elétrica ntador } Margo de 1993 Departamento de Semicondutores, Instrumentos e Foténica da Faculdade de Engenharia Elétrica Universidade Estadual de Campinas - UNICAMP ABSTRACT Visando contribuir para o enriquecimento dos meios disponiveis para a formagao de recursos humanos na area de eletronica, foi proposto 0 desenvolvimento de um Sistema de Aquisigéo de Dados - SAD que, atuando de forma integrada com o Sistema Didatico de Projetos - SDP - utilizado nos laboratérios de Microeletrénica da Escola Brasileiro-Argentina de Informatica, tem como objetivo compor um ambiente completo - com baixo custo - voltado a laboratdrios de ensino de eletrénica Este trabalho, inserido nos objetivos mais amplos propostos para o SAD, abrange: a) a especificagao de linguagens textuais para a descrigao de experimentos em circuitos eletrénicos, baseadas em linguagens de descrigao de simulagées; b) a descrigéo da implementagdo dos protétipos de duas ferramentas computacionais, a primeira delas voltada a analise grafica de resultados de simulacées e medidas analdgicas e paramétricas e @ segunda voltada a programago, execugao e andlise de resultados de testes funcionais de circuitos de légica digital. Através dessas ferramentas serd possivel nao s6 a comparag&o entre os resultados experimentais e de simulag&o como também a extragéo de parametros de dispositivos e Citcuitos eletrénicos. Ameus filhos, Pedro Henrique e Gustavo, a minha esposa, Lilaine e ameus pais, Sabino e Lucia Conteudo 1- Introdugao 1 - Motivagéio 2 - Introdugéo ao SAD 3 - O Escopo deste Trabalho Il - Descrigéo Geral do SAD 14 = Introdugéo 1.2 - Caracteristicas Ambientais para o SAD 11.2.1 - Plataforma de Hardware 1.2.1.1 - Requisitos para 0 Microcomputador 1.2.1.2 - Interface para Testes Funcionais da Logica Digital 11,2.1.3 - Interface para Medidas de Desempenho Analégico 11.2.2 - Plataforma de Software 1.2.2.1 - Sistema Operacional 1.2.2.2 - Linguagem de Programagao do Sistema 113 - Técnicas e Ferramentas de Suporte ao Desenvolvimento 11.4 - Requisitos Funcionais de Software para o SAD 11.4.1 - Introdugéo 11.4.2 - Descrigao Geral do SAD 1.4.2.1 - Perspectivas do Sistema 1.4.2.2 - Caracteristicas dos Usuarios 1.4.2.3 - Suposigbes, Dependéncias e Restrigses 11.4.3 - Especificagao de Requisitos 1.4.3.1 - Requisitos Funcionais 11.4.3.1.1 - Descrig&o dos Processes Basicos do SAD 4.3.1.2 - Bases de Dados para o SAD 1.4.3.2 - Requisitos de Interface 11.4.4 - Prioridades de Implementagao 11.4.5 - Evolugdes e Melhorias Previstas lll - Linguagens de Programagao para o Experimento HIl,1 - Introdugo UiL.2 - Conoeitos e Definigdes Il1.3 - A Linguagem para Descrigdo dos Testes Funcionais 1.3.1 - Descrigao Sintatica UNl.3.2 - Descrigao Semantica 111.3.2.1 - Programas e Blocos W.3.2.2 - Descrigao do Circuito {3.2.3 - Descrigao de Estimulos a serem Aplicados 111,3.2.4 - Descrigao dos Sinais de Saida a serem Monitorados Ill.3.2.5 - Comandos de Controle da Execugéo 11.3.3 - Aspectos da Implementago 35 ena 35 36 37 37 45 45 47 48 50 51 52 Il1.3.4 - Exemplo de um Programa para Testes Funcionais 52 4 - A Linguagem para Descrigdo das Medidas Analogicas 55 ll1.4.1 - Descrig&o Sintatica 56 Ni.4.2 - Descrig&o Semantica 63 W.4.2.1 - Programa 63 1.4.2.2 - Declaragées de Variaveis 63 1.4.2.3 - Deserigao do Circuito 65 I11.4.2.4 - Descrigaio dos Estimulos a serem Aplicados 65 1I1.4.3.6 - Comandos de Controle da Execugao 70 1.4.3 - Aspectos da Implementagéio 71 IV - Tratamento e Analise de Resultados (STAG) 72 IV.1 - Deserigao Geral do STAG 73 IV.1.1 - Perspectivas do Sistema 73 IV.1.2 - Conceitos e Definigdes 73 IV.1.3 - Suposig6es, Dependéncias e Restrig6es 75 IV.2 - Especificagao de Requisitos 75 1V.2.1 - Requisitos Funcionais 75 1V.2.1.1 - Descrig&o das Operagdes Basicas 76 1.2.1.2 - Bases de Dados 88 1V.2.2 - Requisitos de Interface 92 1V.2.2.1 - Interface Usuario-Software 92 1V.2.2.2 - Interfaces com outros Sistemas 93 IV.2.2.3 - Interfaces de Hardware 93 IV.3 - Descrigo da {mplementagao 93 IV.3.1 - Médulos de Implementagao 93 1V.3.2 - Organizagao da Interface Usuario-Sottware 94 1V.3.3 - Estruturas de Dados 96 1V.3.4 - Métodos e Algoritmos 102 IV.4 - Evolugées e Melhorias Futuras 109 V - Sistema para Testes Funcionais (STEF) 11 V.4 - Descrig&o Geral do STEF 112 V.1.1 - Perspectivas do Sistema 112 V.1.2 - Caracteristicas dos Usuarios 112 V.1.3 - Suposig6es, Dependéncias e Restrigdes 112 V.2 - Especificagao de Requisitos 113 V.2.1 - Requisitos Funcionais 113 V.2.1.1 - Descrigao das Operagées Basicas 114 V.2.1.2 - Bases de Dados 119 V.2.2 - Requisitos de Interface 122 V.2.2.1 - Interface Usudrio-Software 122 V.2.2.2 - Interfaces com Outros Sistemas 123 V.2.2.3 - Interfaces de Hardware 124 V.3 - Descri¢éo da Implementagao 124 V.3.1 - Médulos de Implementagao 124 V.3.2 - Caracteristicas da Interface Usudrio-software 125 V3.3 - Estruturas de Dados V.3.4 - Métodos e Algoritmos Utilizados V.4 - Evolugées e Melhorias Futuras Vi - Conclusdes Glossario Bibliografia 129 134 139 1441 144 148 Relacgao dos Anexos Anexo | - Descrigéo das Bases de Dados para o SAD Anexo Il - Ferramentas de Suporte ao Desenvolvimento Anexo Ill - Manual do Usuario do STAG Anexo IV - Manual do Usuario do STEF Anexo V - Principais Rotinas e Algoritmos Anexo VI - Diagrama Esquematico da Interface Testes Funcionais | - Introdugao 1.1 - Motivagao Foi proposto junto ao Programa Argentino-Brasileiro de Pesquisas e Estudos Avangados em Informatica 0 desenvolvimento do protétipo de um sistema computacional destinado ao ensino de eletrénica, visando & sua eventual reprodugdo e disseminagao pelas universidades brasileiras ¢ argentinas. Esse sistema deverd ser constituido pela integragao de dois outros sistemas. O primeiro deles é um sistema computacional de apoio ao projeto de circuitos integrados, denominado Sistema Didético de Projetos (SDP), descrito em [Mam87a] e [Mam87b], concebido e desenvolvido através de cooperagao entre o Instituto de Microeletrénica do CTI, o Departamento de Ciéncia da Computagao do IMECC/UNICAMP e o Departamento de Semicondutores, Instrumentos e Fotdnica (DSIF) da FEE/UNICAMP. O SDP tem sido utilizado com éxito nos ultimos cinco anos em cursos intensivos ministrados nas Escolas Brasileiro-Argentinas de Informatica (EBAl), na UNICAMP e na Universidade Federal do Parana. O SDP permite que seja realizada a programagao de um curso e seja utilizado um conjunto de ferramentas de auxiio ao projeto, visando a aspectos referentes & ‘engenharia de sistemas, engenharia de circuitos (o6lulas) e engenharia da pastilha, (O segundo sistema a ser integrado seré 0 Sistema de Aquisigao de Dados - SAD, objeto deste trabalho. Através do mesmo sera viabilizado um sistema voitado a laboratérios de eletrdnica em geral, com a introdugao de diversas facilidades e ferramentas de baixo custo voltadas a realizagao de testes ldgicos e paramétricos de circuitos e sistemas, permitindo a realizago de projetos complexos com a introdugao de experiéncias que levam em conta as flutuagdes estatisticas e a interagao entre os problemas de andlise, sintese e verificagdo experimental. Pretende-se portanto, através da agregagéo do Sistema de Aquisigao de Dados - SAD ao Sistema Didatico de Projetos - SDP, realizar um grande nmero de experimentos dos cursos de eletrénica, viabilizando experimentos mais complexos e de uma maneira mais gil, colocando-se & disposigéo do aluno facilidades voltadas ao modelamento, simulagao, medigao, tratamento e analise dos dados, além da integragéo das atividades do aluno. 1.2 - Introdugao ao SAD © SAD compée-se, basicamente, da integragao entre um sistema de software @ um conjunto de instrumentos de medica e controle interligados ao microcomputador através de interfaces apropriadas. O sistema de software é 0 responsavel pelo controle dos equipamentos e aquisicao de dados dos mesmos, provendo também um conjunto de ferramentas de suporte que abrangeré as etapas de programagéo do experimento, visualizacao dos resultados dos testes, analises matemiético-estatisticas, tratamento dos dados e extragéo de parametros dos dispositivos em estudo. Considerando que o sistema tem como alvo o uso didatico, procurou-se defini-lo de forma que a facilidade de uso fosse uma de suas caracteristicas principais, sem que isso comprometesse, no entanto, a necessidade de o aluno compreender cada etapa do processo envolvido na experimentagao @ validac&o dos circuitos. © conjunto de operagées do SAD pode ser classi grandes grupos: - Operagées voltadas a programagdo das medidas + Operagées de andlise e tratamento de resultados As operagées voltadas as medidas abrangem testes de ldgica funcional, testes de comportamento analégico e testes paramétricos dos circuitos em estudo. Neste grupo de operagées estéo compreendidas as etapas de programagao do experimento, que podera ser realizada através de uma descrigéo textual dos testes, segundo uma linguagem de programagao definida ou, ainda, por meio de programagao realizada de maneira interativa; a execucdo dos testes em si, na qual o sistema de software controlara a aplicago dos estimulos programados ao circuito sob teste e os instrumentos de medigao, armazenando apropriadamente os dados de resultados dos experimentos; a visualizagao dos resultados dos testes, que oferecerd ao usuario, em forma grafica e textual, os dados de resultados obtidos dos testes. As operacées de andlise e tratamento dos resultados dos testes visam oferecer ao usuério facilidades para a avaliagdo e critica dos resultados, sob a tica qualitativa e quantitativa, facilitando ao aluno a exploragéo da experimentagao em si e de modelos mateméticos e estatisticos associados aos dispositivos em estudo e as técnicas de projeto @ testes. Com vistas & validagéo da légica digital, o aluno podera realizar andlises comparativas entre os resultados dos testes efetuados @ os resultados obtidos através do simulador ligico SIMUL [Pan87a], que é uma das ferramentas jd integradas ao SDP. ‘A definig&o de linguagens para a programacéo dos experimentos de testes funcionais, paramétricos e de comportamento analdgico, tem ‘como objetivo permitir ao aluno a abstragéo de detalhes de caracteristicas particulares do hardware voltado & aquisigao dos dados, além de uma melhor organizag3o e sistematizagéo dos experimentos. Face a semelhanga entre as informagées necessarias a defini¢ao de simulagdes e de experimentos de testes e tendo em vista a possibilidade de intercambiar dados entre programas de simulagées e de testes, optou-se pela definico de linguagens para a programagao dos testes que se assemelhem, semantica e sintaticamente s dos simuladores. Para os testes funcionais de l6gica digital, o SAD utilizar uma linguagem semelhante & do simulador SIMUL [Pan87a], @ para testes parameétricos e de comportamento analégico a linguagem sera semelhante 4 do SPICE [Vla81} Para a analise dos resultados de testes de comportamento analégico e de medidas paramétricas, o aluno tera disponivel 0 STAG - Sistema de Tratamento e Andlise Gréfica de Dados, que é uma das ferramentas do SAD e deverd atuar de forma a integrar todo 0 espectro de informagées sobre os resultados desses testes, provendo suporte & realizagao de andlises comparativas entre resultados de simulagdes e medigoes, extragéo de pardmetros fisicos e eléiricos dos dispositivos, dados para otimizagéo do projeto e outras informacoes de interesse. Através do STAG 0 aluno podera realizar o tragado @ a sobreposigao de curvas lineares ou logarimicas, medir a distancia entre dois pontos da curva e a inclinagdo da reta que passa por eles, realizar ajustes de curvas, entre outros tratamentos. Sao oferecides ainda recursos para anélises estatisticas basicas, calculo de transformadas de Fourier (FFTs) @ a aplicagio de regressdes aos dados. Os dados a serem tratados @ analisados através do STAG poderdo ser provenientes de resultados de simulagées (por exemplo, através do simulador elétrico SPICE), de testes realizados no préprio SAD, ou ainda de outras ferramentas, integradas ou no ao SDP e ao SAD. 1.3 - O Escopo deste Trabalho Este trabalho, inserido nos objetivos mais amplos propostos para 0 SAD, abrange os seguintes médulos: + Especificagdo de linguagens textuais para a descrigéo dos ‘experimentos. « Desenvolvimento do protétipo de um programa de computador voltado ao tratamento e andlise de resultados de medidas. + Desenvolvimento do protétipo de um programa para a definicao de experimentos, execugao e analise de resultados de testes funcionais. No capitulo Il fazemos uma descrigao gerai do SAD, abrangendo 0s objetivos @ requisitos propostos para o sistema, propondo também ferramentas e técnicas a serem utilizadas para o desenvolvimento do software, O capitulo Ill descreve as especificagdes para as linguagens de programacéo de experimento detinidas para o SAD. Nos capitulos IV e V s&o apresentadas as especificagées de requisitos, 0 projeto detalhado e as principais caracteristicas da atuais implementagdes do STAG-Sistema para Tratamento e Analise de Dados e do STEF-Sistema Testes e Analises Funcionais, respectivamente No capitulo VI apresentamos as andlises e conclusdes, além de algumas sugestées de evolugdes e melhorias futuras. ll - Descrigao Geral do SAD 11.1 - Introdugao © Sistema de Aquisiggo de Dados - SAD tem por objetivo implementar um conjunto de operagées voltadas a caracterizagao de circuitos e dispositivos eletronicos, abrangendo a realizagao de testes funcionais, paramétricos e de comportamento analégico. A partir dos resultados dos testes o sistema dara suporte a aplicagao de um amplo conjunto de operagdes voltadas ao tratamento e andlise dos dados, permitindo a visualizagao grafica dos resultados, andlises comparativas entre simulagdes e medigdes realizadas, extragéo de parametros para dispositivos e dados para otimizagées, entre outros. © SAD destina-se a um ambiente didético e devera, em conjunto com 0 Sistema Didético de Projetos-SDP, implementar um ambiente completo voltado a laboratérios de eletrénica em geral. Nesse ambiente o aluno tera suporte a praticamente todas as etapas de concepgao do circuito, desde o estabelecimento dos requisitos basicos até os testes finais de homologagao do protétipo, tomando como base a metodologia descrita em [Mam87}. Uma das principais preocupagées na especificagdo do SAD foi a de definir um sistema que com um custo de hardware relativamente baixo possa oferecer ao aluno um amplo conjunto de fungées para a aquisi¢a0 e tratamento de dados. Dessa forma, a disseminagao do sistema entre as universidades n&o encontraria nos custos um fator impeditivo & sua implantagao. Discutiremos neste capitulo as principais caracteristicas do SAD. Faremos inicialmente uma breve discussdo sobre as caracteristicas da platatorma de execugdo do sistema, no que diz respeito ao hardware e ao software basico, Em seguida discutiremos as principais caracteristicas do ambiente de desenvolvimento. Por fim, faremos a especificagéo dos requisitos funcionais do sistema de software para o SAD. A figura 1 apresenta um diagrama esquemético genérico dos processos e dados relacionados ao ambiente proposto. (—bavaigao de aa vorotes de Teste | | das Simuiagoos Simulago de Circuitos Fissutados do Simulagoet ‘rogramas para Fasuliaios Exieros a0 SAD [ Dacoe de Conta ‘interface Fisatiados a “Testes Programacio 08 Experimentos de \ Testes Figura 1 - Diagrama Genérico dos Processos do SAD 11.2 - Caracteristicas Ambientais parao SAD Descreveremos nesta secéo as principals _caracteristicas. ambientais ligadas ao SAD, abrangendo os aspectos de hardware e software, tanto no que diz respeito & piataforma de execugao do sistema quanto no que se refere a plataforma de desenvolvimento e que constituem condigoes de contorno para o desenvolvimento deste trabalho. 11.2.1 - Plataforma de Hardware Aplataforma de hardware para 0 SAD compie-se basicamente de um microcomputador interligado através de interfaces de aquisicao de dados adequadas a um conjunto de instrumentos de medigéo e controle controlados pelo microcomputador e conectados a este através de conectores de expansao do barramento do mesmo, Sao utilizadas pelo sistema duas interfaces de aquisicdo de dados, uma dedicada aos testes de ldgica funcional e a outra dedicada aos testes paramétricos e de comportamento analdgico. A interface para testes de l6gica funcional [Qua88] tem por objetivo a simples aplicagao de vetores de teste ao circuito e, em seguida, a observagao das saidas de maneira estatica A interface para os testes analégicos tem como objetivo realizar 0 controle dos diversos equipamentos de medicao e controle disponiveis e efetuar @ aplicagdo de estimulos e a medicéo das respostas analdgicas, através do uso de conversores digital-analégicos e analégico-digitais e interfaces adequadas. Pretende-se permitir ao SAD a utilizagdo de diferentes tipos de interfaces de aquisig’o de dados, oferecendo-se assim uma maior flexibilidade aos usuarios do sistema com relagéo a acuidade capacidades especificas nos testes. Os requisitos minimos exigidos para o microcomputador e para as interfaces de aquisicao de dados so descritos nas segées 1.2.1.1 a 1.2.1.3. 1.2.1.1 - Requisitos para o Microcomputador © SAD foi projetado e desenvolvide para operar em computadores da linha PC-xt ou compativel, com os seguintes requisitos minimos: + Unidade Central de Processamento (CPU) de 16 bits compativel com os microprocessadores da familia 80x86, da Intel. + 640 kbytes de meméria principal. + Controlador de video grafico com resolucéo mit pontos (padrao CGA) ou superior + Disco rigido de 20 Mbytes. + 01 interface paralela. + 01 interface serial, padrao RS-232. + Impressora (opcional) + Mouse (opcional) ima de 640x200 Em fungéio do volume de processamento e de aspectos da interagao usudrio-software, uma configuragao aconselhavel consistiria num computador com CPU compativel com 0 80286 ou 80386, memdéria principal de 1 Mbyte, disco rigido de 40 Mbytes e monitor de video padrao EGAou VGA. A escolha dessa familia de microcomputadores foi motivada principalmente pelo baixo custo do equipamento e pelo parque instalado desse tipo de maquina. A proposta do SAD tem como premissa a criagao de um sistema de baixo custo, de forma a viabilizar a disseminagéo do sistema em universidades e outras entidades de ensino. Apesar da adogSo dessa plataforma, existe interesse de, em versées futuras do sistema, migrar para plataformas mais eficientes, mantendo porém a disponibilidade do sistema de baixo custo. Outros fatores que influenciaram também na escolha do microcomputador foram a compativilidade com a plataforma de execugao do SDP; a escalabilidade da capacidade de processamento, que permite a migragdo para um equipamento superior, da mesma familia; facilidade de ‘obtengéio de interfaces e componentes de hardware no mercado; quantidade e qualidade de ferramentas para o desenvolvimento de software. 1.2.1.2 - Interface para Testes Funcionais da Logica Digital A interface para testes funcionais da légica digital deverd permitir a aplicagao de um conjunto pré-definido de estimulos (vetores de teste) aos ircuitos e realizar a leitura dos estados ldgicos digitais presentes em pontos determinados (saidas) do circuito, definidos pelo usuario. Dadas as caracteristicas da aplicagéo deste tipo de teste, foi estabelecida uma taxa minima de aquisicéo dos dados de cem leituras por segundo, o que simplifica a implementacéo do circuito e do software. A interface devera ainda ser capaz de aplicar estimulos ou medir respostas de, no minimo, 24 pontos do circuito. Um prototipo de interface para este tipo de medidas foi projetado & desenvolvido por M.A.Quatorze [Qua88], tendo sido apresentado e utiiizado durante a IV EBAI, Esse protétipo comporta até 24 sinais de entrada ou saida compativeis com os niveis TTL. Para o controle da interface, sdo utilizadas 8 portas de entrada e saida do computador, configuraveis através de chaves seletoras (dip-switches). A interface de aquisigao de dados para testes funcionais, no protétipo de Quatorze, esta interligada a um conector universal, ao qual 0 usudrio deverd interligar o circuito sob testes. No anexo VI é apresentado 0 diagrama esquematico do circuito desse protétipo. 1.2.1.3 - Interface para Medidas de Desempenho Analégico A interface para medidas de comportamento analégico estard interligada a um conjunto de instrumentos dedicados de controle & medigdo, os quais deverao ser por ela controlados. Através do sistema de software devera ser possivel 0 controle e a programacao de cada um dos instrumentos. Descreveremos a seguir os requisitos estabelecidos para a interface, bem como para os instrumentos a ela interligados. 3.1 - Caracteristicas para o Conversor Analégico-digital Aplaca conversora analdgico-digital deverd receber como entradas tens6es continuas ou alternadas (até 200 V), correntes DC ou AC até algumas dezenas de miliamperes, tenses propocionais a temperatura e tensdes proporcionais a resisténcia (abtidas através da injegéo de corrente). Definem-se abaixo os requisites minimos para o conversor analdgico digital da interface de aquisigéo de dados: - Resolugao de Leitura: 10 bits. - Taxa de Amostragem: 10000 convers6es/segundo. « Entradas de tens&o:No minimo 4, no maximo 8. + Entradas com conversor de corrente:minimo 2, maximo 4 - Entradas com converséo de temperatura:1. + Entradas com conversdo de resisténcia:t Placas de aquisicéo de dados com as caracteristicas acima descritas s&o hoje facilmente encontradas no mercado, a pregos acessiveis. Eventualmente poderao ser desejaveis placas com caracteristicas mais sofisticadas com relagdo a desempenho @ preciso. O sistema de software deve, portanto, ser desenvolvido prevendo a possibilidade desse tipo de evolugao. 1,2.1.3.2- Caracteristicas dos Instrumentos de Controle & Medigao Paralelamente a este trabalho estéo sendo desenvolvidos instrumentos de controle e medi¢&o que deverao estar conectados a placa de aquisigéo dos dados. Esse conjunto de instrumentos tem como requisitos basicos as seguintes caracteristicas a) Geragdo de Estimulos = Fontes Programaveis + Fonte Simétrica: Oa+10V,0.50A + Fonte de baixa Corrente: -10 a +10 V, 50 mA + Fonte de tensdo constante: 5.0V, 1.0 Conversor D/A até 100 kHz m Gerador de Fungées = Controlador de Temperatura Programavel + Faixadetemperaturas: — -50" a +150" C b) Medi¢do de Respostas a Multimetro + Medigao AC e DC + Numero de canais: 8, seleciondveis por software + Ajuste de escalas: Automatico + Impedancia de Entrada: Maior que 10 MOhm + Resolugao: 10 ou 12 bits + Escalas de Tensao: 5, ‘com fundos de escala de + 20 mV a+ 200 V + Conversores corrente-tensao:4, com fundos de escalas de 0.1 pA a 20 mA + Ohmimetro: com fundos de escala de 10 2 a 100 M2 + Termémetro Faixa de -50°C a +150°C ¢) Medigao de Parametros = Capacimetro de pequenos sinais + 4 faixas de medigao: 1 pF at nF + Freqiiéncia de medigao: 1 MHz + Tenséo de pico daexcitagao: 10 mV + Polarizagéo CC através de fonte externa 10 A alternativa de utilizar equipamentos auténomos interligados, por exemplo, através de uma rede IEEE-488, poderia também ser considerada. Trabalho nesse sentido foi realizado por J. O. Simoes [Sim91}. A adogdo dessa altemativa, porém, levaria o custo global do sistema a um patamar extremamente elevado para a aplicago a que se destina, podendo inviabilizar a disserninag&o do sistema. Além disso, dado 0 carater didatico da aplicag&o, a preciso e resolugao desejaveis sao bastante modestos e, portanto, os ganhos obtidos com o uso de equipamentos auténomos nao 8&0 significaticos para a aplicagao. 11.2.2 - Plataforma de Software Na definigéo do ambiente basico de software para o SAD, julgou-se conveniente estabelecer plataformas idénticas para 0 desenvolvimento e para a execugao do sistema, visando com isso facilitar alguns aspectos ligados & implementagao, testabllidade e manutengao do sistema. Os principais fatores considerados na escolha do ambiente de software para o sistema foram: compatibilidade com o SDP, a fim de viabilizar a integragéo entre os dois sistemas; a quantidade de recursos voltados ao desenvolvimento oferecidos; recursos disponiveis ao usuario final; custo do sistema basico; parque instalado e disseminagao da cultura ‘A seguir sera discutidos os principais aspectos ligados ao ambiente basico de software para o SAD. 11.2.2.1 - Sistema Operacional O sistema operacional sob 0 qual o SAD é executavel deve ser compativel com o MS-DOS 3.1 ou superior. Essa familia de sistemas operacionais é a mais difundida em microcomputadores e prové os recursos necessérios a implementagéo do SAD. A disponibilidade de um grande numero de ferramentas e aplicativos existentes no mercado para 0 MS-DOS 6, também, importante fator a ser considerado no desenvolvimento do sistema, 1.2.2.2 - Linguagem de Programagao do Sistema A linguagem de programagao escolhida para a implementagao do SAD foi o Pascal. A escolha dessa linguagem teve como um dos principais fatores tratar-se de uma linguagem de alto nivel e de excelente estruturaco, de grande importancia durante 0 desenvolvimento com telagéo a aspectos de modularidade, reutilizabilidade e manutengao do sistema, influenciando diretamente a qualidade global do mesmo. Além disso, essa 6 uma linguagem bastante difundida no meios académicos, ‘onde o SAD vem sendo desenvolvido e pelo qual deverd ser realizada a implementagao de novos recursos e manutengdo do sistema. u © compilador escolhido foi 0 Turbo Pascal, da Borland, bastante difundido e sem davida um dos melhores compiladores desta linguagem disponiveis para o sistema operacional adotado. Esse compilador possui vasta biblioteca de fungdes padronizadas e incorpora, ainda, em suas versées recentes, ferramentas de suporte & programagaéo como, por exemplo, um depurador interativo a nivel de programa-fonte ("source debugger’), ferramenta importante com relagao a testabilidade do sistema. Ainda, como a maior parte das ferramentas do SDP foi desenvolvida utilizando-se 0 mesmo compilador, viabilizou-se a criagao e utilizagao de bibliotecas particulares de fungSes comuns a diversas ferramentas. Deve-se ressaltar que, embora as ferramentas do SDP e do SAD sejam quase todas escritas em Pascal, néo ha restrigdes quanto & utiizagao de ferramentas escritas em outras linguagens, desde que se observem as boas praticas de programagao. Como outros programas para 0 MS-DOS, 0 SAD poderd ser executavel a partir do ambiente MS-Windows (via DOS-Shell), com algumas restrigbes relativas as interfaces de aquisicéo de dados. Nao se ‘obtém, no entanto, os principais beneficios oferecidos pelo Windows, como a interface gréfica padronizada e o gerenciamento dos periféricos disponiveis. Encontra-se em estudo de viabilidade a criagao de uma verséio do SAD dedicada ao ambiente Windows, que poderia trazer sem dividas grandes melhorias sob varios aspectos, como por exemplo, a interatividade e a capacidade de interlaceamento com diferentes peritéricos. Como desvantagens, teriamos principalmente 0 fator custo do sistema, dado que © ambiente Windows requer maior capacidade de processamento do computador, monitor de video de alta resolugdo, entre outros. 1.3 - Técnicas e Ferramentas de Suporte ao Desenvolvimento As ferramentas e técnicas de suporte ao desenvolvimento do projeto constituem um importante fator na definig&o do ambiente de desenvolvimento de software, dado que as mesmas tém forte influéncia na determinagao da qualidade global do sistema. 12 As técnicas de projeto estruturado oferecem recursos baseados num conjunto de processos heuristicos de desenvolvimento e prevéem ferramentas capazes de auxiliar nas diversas fases do projeto, atuando desde a etapa de especificagao dos requisitos basicos para o sistema até as etapas de implementagao e manutengéo do mesmo. Sao incluidas nessas metodologias técnicas voltadas a partigao do sistema em médulos funcionais de processamento, de forma a minimizar e padronizar as interfaces entre os médulos, com a finalidade de se obter 0 maximo de independéncia funcional entre os mesmos. Estao disponiveis, também, técnicas para o modelamento légico e fisico dos dados. Ferramentas de suporte 20 modelamento, como de diagramas gréficos para a descricio dos processos e dos dados, 0 uso de um dicionario de dados do sistema, entre outros, auxiliam na verificagéo da consisténcia global do projeto, bem como na predigéo da sua qualidade. O uso das técnicas de projeto estruturado apresenta como resultado um sistema mais robusto, eficiente @ adequado. ‘A documentagéo do sistema apresenta-se, também, como fator determinante da qualidade e facilidade de manutengéo do sistema. A documentag&o deve abranger os diversos niveis de visdo do sistema (visdo geral, de cada médulo, de procedimentos e de dados), bem como as diversas etapas de desenvolvimento do projeto. A utilizagao de diagramas esquematicos do sistema, de dicionarios de dados, de descrigéo das interfaces de médulos e rotinas e de restrigSes verificadas na etapa de implementagéo sAo de grande importancia para a posterior evolugao & manutengao do sistema Para a documentagao da etapa de implementacéo, propusemos em [At89] uma padronizagao da codificago para programas em Pascal, baseada em [Par72] e [Gui86], onde sao estabelecidas diretrizes basicas para a especificagdo de interfaces de rotinas e entre médulos. Sao estabelecidas também convenges para a codificagéo e para nomenclaturas de nomes ¢@ identificadores. Ainda, s&0 definidas padronizagdes para comentarios a respeito dos médulos e rotinas do programa, com a finalidade de permitir, via programa utlitério, a extrago automatica de documentagaéo dos programas-fonte. Foram implementadas [AM91], para dar suporte ao desenvolvimento do sistema, ferramentas automatizadas para a criagao e manutengao dos sistemas de help do SAD (que sao implementados na forma de hipertexto) e um extrator automéatico de documentagao de programas-fonte [Aff92]. Essas ferramentas foram construidas de forma a serem genéricas, podendo portanto ser utilizadas no desenvolvimento de outros sistemas. Uma discuss4o mais detalhada dessas ferramentas é apresentada no anexo I B Qutras ferramentas automatizadas teriam sido desejaveis @ poderdo ser incorporadas e/ou implementadas futuramente, para dar suporte as técnicas de modelamento empregadas, como um diciondrio de dados interativo capaz de realizar consisténcias automdticas, um editor grafico de diagramas esquematicos integrado a um médulo para simulacéo do modelo do sistema, entre outras. A utilizago desse tipo de ferramentas poderia, sem duvida ter aumentado significativamente a produtividade em algumas das etapas de desenvolvimento e manutengao do sistema. Teria ainda sido de grande valia a utilizag&o de ferramentas para controle de versées dos programas. 14 - Requisitos Funcionais de Software para o SAD 1.4.1 - Introdugao. Como descrevemos anteriormente, 0 SAD seré composto através da integragdo entre um sistema de software e um conjunto de instrumentos de medic&o € controle, os quais deverdo estar conectados ao computador através de interfaces apropriadas. O sistema de software sera o responsdvel pelo controle dos instrumentos, oferecendo ainda um conjunto de ferramentas de alto nivel que propicie ao aluno recursos voltados & aquisicao, tratamento e anélise dos dados, além de uma melhor organizagao de suas atividades e documentos. Especificaremos nas segdes seguintes os principais requisitos funcionais do sistema de software para 0 SAD. Faremos inicialmente uma descri¢go geral do sistema, passando em seguida @ especificacao dos principais requisites de software, a definigéo das prioridades de implementago e, por fim, & descrigéo das principals evolugées previstas para vers6es futuras do sistema. 11.4.2 - Descrigéo Geral do SAD 1.4.2.1 - Perspectivas do Sistema © SAD tem como ambiente-alvo laboratérios de eletrénica de escolas técnicas e universidades, destinando-se & programagao e anélise de resultados de medidas realizadas em circuitos eletrénicos. Atuando de forma integrada com o SDP, pretende-se obter um ambiente que, com baixo custo de equipamentos, auxilie o aluno durante praticamente todas as etapas da concepgao e validagéo de projetos de circuitos e dispositivos eletronicos. 14 1.4.2.2 - Caracteristicas dos Usuarios © grupo de usuarios previsto para o sistema compée-se por alunos de graduagéo e pés-graduacao na rea de eletrénica. A implantagao de um sistema como 0 SAD pode oferecer um incremento na quantidade e qualidade de experimentos realizados nos cursos e, ainda, propiciar a ambientacao dos estudantes com ferramentas automatizadas, as quais tm se difundido rapidamente no mercado de trabalho. Ainda, os alunos dessa Area tém conhecimento e alguma cultura na utilizago de sistemas de computagao, 0 que torna menos traumatica a implantagao do sistema. 1.4.2.3 - Suposigdes, Dependéncias e Restrigdes O desenvolvimento do sistema foi proposto supondo-se ter como ambiente de execugao aquele especificado na segdo 1.2 deste trabalho. Mesmo com o uso das mais diversas técnicas de andlise e programagao, a implementacao do sistema apresentaré particularidades ligadas ao sistema de hardware voltado a aquisigao dos dados. Cuidado especial deve ser tomado na especificagéo das interfaces de rotinas ligadas as fungdes de aquisigéo de dados, de forma que o esforgo para a implementagao de suporte a novos tipos de interfaces de aquisi¢ao de dados seja minimizado, Deverd ser previsto suporte a placas nas quais os dados sejam lidos através das portas de entrada e saida ou por acesso direto meméria (DMA). As estruturas de dados envolvidas na aquisicao de dados devem prever resolugdes de até 16 bits (ou maiores). © desempenho de algumas das fungdes de andlise de resultados dos testes poder ser limitado devido a velocidade de processamento do computador utilizado, no devendo ser, no entanto, um aspecto critico Para a andlise grafica de resultados de testes, a resolugéio do monitor de video poder apresentar limitagdes na visualizagao gréfica dos dados. 1.4.3 - Especificagéo de Requisitos 1.4.3.1 - Requisitos Funcionais © SAD tem como objetivo basico auxiliar 0 aluno na realizagao de duas classes distintas de testes: + Testes de Logica Funcional - Medidas Paramétricas e de Comportamento Analégico Embora 0 nivel de abstragao de detalhes dos circuitos em estudo sejam diferentes para essas duas classes de testes, implicando inclusive no uso de interfaces distintas, em ambos os casos podemos considerar para o SAD os seguintes médulos basicos: + Programagao de Experimentos + Execugdio de Testes e Medidas + Tratamento ¢ Analise de Resultados de Testes e Simulagdes Integrando esses trés processos basicos, o sistema devera possuir um médulo gerenciador de projetos, cujo objetivo basico ser facilitar ao aluno a organizagao dos dados envolvides em cada projeto. Teremos ainda um médulo dedicado ao tratamento da interface do sistema com 0 usuario, que deverd oferecer uma melhor uniformidade a essa interface. Na figura 2 apresentamos um diagrama do sistema, destacando os médulos acima descritos, bem como os dados a eles associados. Discutiremos a seguir cada um dos itens acima citados. 11.4.3.1.1 - Descrigdo dos Processos Basicos do SAD A) Programagao do Experimento Através das operagdes de programagéo do experimento, o aluno podera definir os conjuntos de estimulos a serem aplicados ao circuito em estudo ao longo do tempo e as medigbes a serem efetuadas nos ponios do Circuito a serem monitorados, além de condigdes ambientais para a realizagao do experimento. ‘A programacao do experimento poderd ser realizada através de linguagens de programagao definidas especificamente para os diferentes tipos de testes a serem realizados. A descrigéio do experimento podera também ser realizada de forma interativa, através do uso de ferramentas de software projetadas especialmente para essa finalidade. No caso da programagao interativa, os vetores de testes gerados pelo sistema devem ser compativeis com a linguagem de programagao do experimento. A utilizagdo de terramentas voltadas & descrig&o interativa do experimento tornam a atividade do aluno mais agradavel e produtiva. Devemos considerar também que os vetores de testes a serem utilizados para a execugao do experimento poderao ser gerados através de outras ferramentas de software. Embora a verso atual do SDP nao possua geradores automdticos para os vetores de teste, deve-se prever suporte & existéncia futura desse tipo de ferramenta, nesse sistema ou fora dele. 16 [Dadse oe Conf | ‘a intgrface Resiliadoe do Simulagées Programa para os ‘Simuladoree _ Programagae do Exacugio dos: Experimanto do Testes de ‘Analise oe Testes Circus Resultados _ Fecaiadbe “Analisos Figura 2 - Viséo Geral dos Processos Voltados aos Testes € conveniente, ainda, que as linguagens de programagao do experimento sejam compativeis, na medida do possivel, com as linguagens utiizadas pelos simuladores integrados ao SDP (0 SIMUL, no caso da simulago légica ¢ 0 SPICE, no caso de simulagao elétrica), permitindo assim a criago de fungdes que permitam que os programas de testes gerados possam ser utilizados também para a simulagéo e vice-versa, evitando que o aluno necessite duplicar seus esforgos definindo um programa para simulagdo e outro para testes. Além disso, compatibilizando testes e simulagées, 0 usuario sera capaz de realizar comparagies entre 08 resultados dessas duas ferramentas de validago do projeto. Inicialmente, poderiamos considerar a conveniéncia da definicao de uma linguagem Unica para a definigao de experimentos de validagéo da légica funcional, desempenho analdgico e testes paramétricos. Nota-se, porém, que o nivel de abstracéio para os testes de légica funcional difere dos testes elétricos, assim como 0 conjunto de informagdes necessdrias a cada um deles e as préprias estruturas das linguagens dos simuladores lbgico ¢ elétrico, tornando invidvel a adogao de uma linguagem Unica. W Para testes de légica funcional estabeleceu-se que a geracao de vetores de testes deveria manter formato compativel com os vetores gerados para o simulador logico SIMUL [Pan87a], que 6 0 simulador ldgico atualmente integrado ao SDP. Uma ferramenta de apoio para a definigéio de vetores de teste para o SIMUL, o EDTES [Pan87b], permite que 0 usuario defina interativamente e de forma grdfica os vetores. A linguagem utilizada para a definig&o dos vetores de testes para o SIMUL sera discutida no Capitulo Ill. O projeto detalhado e a implementagao do sistema de testes funcionais deverao considerar a possibilidade de dar suporte a outros simuladores de l6gica digital. Para as medidas paramétricas e de comportamento analdgico a geragao de vetores de testes é mais complexa que para o caso de testes de ldgica funcional. A utilizagéo de uma linguagem de programagao semelhante & utilizada pelo SPICE mostra-se bastante conveniente quando consideramos os seguintes aspectos: a) 0 SPICE 6 0 simulador elétrico mais difundido nos meios de engenharia; b) embora a linguagem utilizada pelo SPICE no seja 140 interessante do ponto de vista sintético, ela apresenta um poder de sintese muito grande na descri¢ao da programagao da simulaco (ou do teste, no nosso caso); ¢) 0 fato das linguagens de descrigéo da simulagéo e de programagéo do experimento serem intercambiaveis faz com que 0 aluno nao tenha que realizar duas programacées distintas, uma para as validagSes de simulagao e outra para !) 0 uso do mesmo programa para a simulacao e para os testes induz 0 aluno & comparagéo dos resultados das simulagdes e das medig6es. A descrigdo de testes paramétricos e de comportamento analégico por meio de uma ferramenta interativa é, sem duvida, de grande utilidade ao aluno. Para essa descrigéo, 6 conveniente que o sistema apresente na tela do computador uma descrigéo esquemética do circuito e dos instrumentos de medigao e controle disponiveis. A partir dessa tela, o aluno devera “apontar” para os pontos do circuito onde ele deseja aplicar ou monitorar os sinais para, apds selecionar cada ponto, descrever o instrumento ao qual o ponto estara associado (por exemplo, um voltimetro ou um gerador de sinais) e as caracteristicas do sinal a ser aplicado ou medido. Para a aplicagdo de sinais ao circuito, devera ser permitido ao aluno definir os estimulos a serem aplicados como um conjunto de valores discretos ao longo do tempo, através de uma equacao matematica segundo a qual o sinal devera variar ou ainda através de uma funcao interpoladora para valores de estimulos predefinidos em fungao do tempo. Embora as linguagens para a programagao do experimento tenham sido definidas, neste trabalho, com base nas linguagens dos simuladores, notou-se a necessidade delas incorporarem algumas caracteristicas adicionais, principalmente voltadas ao controle de execugéo do experimento e preparagao dos dados para andlise. Com isso torna-se necessaria a conversdo de programas dos simuladores para programas de testes e vice-versa. Essas conversdes deverao ser realizadas pelo SAD de forma automatica e transparente ao usuario. 18, Descreveremos no capitulo il uma linguagem para a programacao de experimentos voltados realizagéo de testes paramétricos e de comportamento analégico. A figura 3 apresenta um diagrama esquematico dos principais processos envolvidos na programagao do experimento. A divisdio dos processos apresentada nessa figura é valida tanto para a programagao de testes funcionais quanto para a programagéo de medidas analdgicas @ paramétricas. B) Execugdo do Experimento ‘Aetapa de execugao do experimento é aquela na qual o sistema de software, através do controle adequado dos instrumentos de medigao e controle, permitiré a aplicag&o dos estimulos aos circuitos e a realizagéo das medigdes desejadas. Programas para imuadores Conversor de Programas de “Tostos para \==) Converser do Programas de | simulagao para “Testes Programas para Testor © Mesias at aS cares programas do reas | Figura 3 - Processos na Programagéo do Experimento A aplicago dos estimulos externos ao circuito e a aquisigao dos dados das medigées efetuadas seréo realizados de acordo com o programa do experimento previamente definido pelo usuario. Os resultados medidos + deveréo + ser = armazenados apropriadamente, em meméria ou em disco, de acordo com o tipo de testes em execuc&o ou conforme for definido pelo usuario. 19 Um dos objetivos precipuos na definigao da etapa de execugao do experimento foi a obtengo de um alto grau de interatividade do usuario com 0 processo de execugao dos testes. Para tal, 0 sistema devera prover facilidades voltadas ao controle da execugo, que podem ser ativadas pelo programa do experimento ou interativamente, durante a execucao do experiment. ‘© aluno poderd realizar a monitoragéo de sinais aplicados ou medidos em tempo de execug&o, como se estivesse observando os préprios instrumentos de medigéo ou controle, ou podera selecionar a visualizagéio somente apés 0 término dos testes, quando serao tragadas curvas de comportamento dos sinais. Na programacéio do experimento, deve ser permitida a definigdo da aplicagéio de estimulos de inicializagao ao circuito, que dever&o definir um conjunto de estimulos de maneira andloga aos estimulos de testes, mas que visam garantir que 0 circuito esteja numa condig&o inicial adequada quando do inicio dos testes, Para a inicializagéo do circuito o aluno poder& detinir, além dos estimulos a serem aplicados, condigdes de parada. SerA permitido ao operador interromper temporariamente ou cancelar a execugéio de um experimento antes de seu término, atraves de comando especifico no programa do experimento ou através do teclado do computador, sem que os dados coletados até esse instante sejam perdidos. Ao interromper a execugao dos testes, sera possivel ao aluno redefinir as grandezas fisicas e elétricas a serem monitoradas, ou mesmo redefinir sinais a serem aplicados ao circuito. No primeiro caso, a execucao dos testes é reassumida a partir da condigao existente quando o experimento foi interrompido. No segundo caso, a execugao é retomada desde a etapa de inicializacao do circuito. A interagao do aluno com 0 software para a redefini¢go do experimento dever ocorrer de forma semelhante aquela da programacao do experimento, atuando como se o sistema combinasse os modos de programag4o e execugdio do experimento. Ser possivel também a execugdo passo a passo de um experimento. Nesse caso, 0 aluno podera definir os intervalos para a interrupgéo da execugao, em fungao do tempo ou de valores de um sinal. Deve-se observar que neste modo de execugao a base de tempo nao ¢ fixa e 0 aluno devera atentar aos aspectos funcionais do circuito antes de selecioné-lo. Embora os recursos que permitem que os experimentos sejam interrompidos possam ser titeis em muitos casos de teste, hd casos onde a interrupgao do teste nao 6 conveniente. Para esses casos, 0 aluno podera definir que os testes sAo ininterruptiveis. O sisiema assume como default que um teste pode ser interrompido. Na figura 4 6 apresentado o diagrama dos processes relacionados & etapa de execugao do experimento, para testes funcionais e medidas analogicas. 20 C) Tratamento e Andlise de Resultados Progra pala rogram Testes e Mosse epuineroe Fietuiados dos [ Contigoragae aa] : — Testo a v mee conta as sens 1 tesumentos de Resultados dos ( Madeto« Tests \“Gonvete Medias Insvumantos de Masicéo © Controle Figura 4 - Principais Processos na Execugao do Experimento O tratamento e analise de resultados é, do ponto de vista do aluno, a ferramenta mais importante no processo de validagao dos circuitos em estudo. Estard disponivel ao aluno um conjunto de recursos voltados ao pés-processamento dos dados de resultados de medigdes e simulagées, visando principalmente ao enfoque analiico e incluindo andlises comparativas entre os resultados de testes e simulagées. Devemos considerar, neste ponto, que os tipos de andlises de interesse por parte do aluno com relago aos testes de légica funcional sero bastante diferentes daquelas voltadas aos dados analdgicos (paramétricos @ de comportamento analégico). Discutiremos a seguir as andlises voltadas a cada um desses conjuntos de dados. C.1) Tratamento e Andlise de Dados de Logica Funcional Os tratamentos e andlises voltados @ validagao da Iégica funcional prevem, no SAD, a realizagao do tracado dos diagramas de estados légicos, a partir dos dados obtidos das medig6es e simulag6es da ldgica funcional. A andlise comparativa dos resultados podera ser realizada através da superposigéo dos dados das medigdes e das simulagées. 2 Para os testes de Igica funcional, a simples visualizagdo grafica dos resultados, permitindo que sejam selecionados os sinais a serem visualizados e os intervalos de tempo de interesse, e as comparagdes com 0s resultados das simulagSes mostram-se suficientes ao aluno, que a partir dai podera realizar as andlises voltadas & depurago do circuito. O tragado dos diagramas de estados ldgicos podera ser realizado a partir de resultados das medig6es efetuadas, a partir de dados gerados pelo SIMUL ou de dados externos ao sistema, desde que estes possuam um formato conhecido, conforme especificado no anexo |. Além da visualizagéo dos resultados na tela, deverdo estar disponiveis opg6es espectficas para saida em outros periféricos, como impressora e tragador grafico (plotter), através de drivers adequados. Versdes futuras do SAD poderdo oferecer ao aluno fungées de critica @ aconselhamento na depuragao do circuito. Por exemplo, a partir dos resultados das medigdes efetuadas e conhecendo-se os sinais aplicados e a descricao ldgica do Circuito, pode-se indicar automaticamente ao usuario as porgdes do sinal de saida que ndo apresentaram 0 comportamento esperado e, mais que isso, indicar no proprio diagrama esquematico do circuito os componentes que s&0 suspeitos de mau funcionamento, sugerindo ainda conjuntos de vetores de testes que permitiriam ao aluno isolar 0 problema detectado. Para tal, o SAD deveria implementar um sistema especialista que aplicasse diferentes métodos de validago, como o da diferenga booleana [Sel68], 0 algoritmo D [Rot67] @ suas extensdes [Bre80}, [Lev82], diagramas de decisdo bindria [Ake78], [Ake80], entre outros. ‘A figura 5 mostra os principais médulos funcionais relacionados ao tratamento e andlise de resultados de testes e simulacoes funcionais. C.2) Tratamento e Andlise de Dados Analégicos © tratamento e a andlise dos resultados de testes e simulagdes paramétricos e de comportamento analégico deverdo implementar um conjunto de fungdes que, atuando de forma integrada, permitam a visualizagao grafica dos dados e oferegam ao aluno um ambiente no qual ele possa realizar as seguintes operagées: stadt do Simulagées Formato doe Dados NN Rosuliados doe Testas Funcionais Comparacée de esultace de Tostes @ Simulaséee Roculiados dae ‘Andlses Geragio dos Resultados dae ‘Andlees Anélse Critica do Recutacos © Aconsehamento Figura 5 - Processos para Andlise de Tesies Funcionais + Tragado de Curvas + Célculos de Regressées + Calculos de Transformadas de Fourier + CAlculos e Andlises Estatisticas + Extragdio de Parametros de Dispositivos - Extragdo de Dados para Otimizagao Uma importante caracteristica considerada para esta etapa é a capacidade de manipulacdo dos dados e dos tratamentos de visualizagao. Para tal, a interface com o usuario deve ser implementada na forma de uma prancheta eletrénica, onde o aluno possa atuar como se estivesse utilizando sua prancheta de projeto, tendo como vantagem a disponibilidade de um conjunto de ferramentas de alto nivel atuando de maneira integrada, propiciando consideravel redugéo dos esforgos dedicados a essa atividade. Como elemento basico a prancheta eletrénica, 0 aluno tera um cursor que permitira que ele “caminhe" pelos graficos e execute operagses como a visualizag&o panoramica ou de detalhes das curvas, medi¢&o de distancia entre pontos do gréfico e calculo da inclinagdo da reta que passa por eles, translagdo de eixos, selegéio de escalas lineares ou logaritmicas, saidas em impressora ou plotter, entre outras. 23 A fim de nao restringir 0 uso deste tipo de ferramenta ao tratamento de dados obtidos através do préprio sistema, foi estabelecido que deverao ser fornecidas interfaces de software que permitam a importagao de dados de arquivos em formatos especificos. Seréio aceitos como dados de entrada os arquivos gerados como saida do SPICE, arquivos de resultados de testes gerados pelo proprio SAD ou ainda arquivos externas ao sistema Neste Ultimo caso, os arquivos deveréo estar em formato ASCII, obedecendo a formatagéio especifica, descrita no anexo |. Para quaisquer dos tipos de andlises realizadas, o aluno podera visualizar os resultados em tela, em forma gréfica ou textual. Devera ser possivel também que esses resultados sejam armazenados em um arquivo especifico, de anotagdes do projeto. ‘A operagao de tracado de curvas permitird ao aluno a visualizagéo gréfica de curvas paramétricas relacionando_tensdes, correntes, capacitancias e impedancias ou curvas de desempenho analdgico nos dominios do tempo e da freqiéncia, entre outras. Na verséo inicial do sistema sero tracadas apenas curvas bidimensionais, permitindo portanto a representagao de fungbes de uma varidvel. Fungdes com mais que uma varidvel poderéo também ser representadas, sob a forma de famflias de curvas, através da parametrizagéo das demais variaveis. Um dos recursos oferecidos com vistas a andlise é a superposigao de diversas curvas ou familias de curvas num mesmo grafico, permitindo a comparago visual das mesmas, Deverd ser possivel a superposigao de no minimo 10 curvas simultaneamente. ‘As operagées de regressées permitem que se estime o valor de uma variavel (chamada de varidvel dependente) a partir de uma ou mais varidveis correlatas (chamadas de varidveis independentes). O aluno poder realizar a aplicagao de regress6es simples (envolvendo apenas duas variéveis), devendo para tal selecionar uma determinada curva do grafico e entao escolher o tipo de regress&o a ser aplicada. Estarao disponiveis a ele regressdes lineares, polinomiais, geométricas ou exponenciais. A aplicagao de regressdes 6 de grande utilidade no auxilio & Geterminagao de parametros fisicos e elétricos dos dispositivos. ‘As transformadas rapidas de Fourier (FFTs) sao aplicdveis a sinais analégicos discretizados e permitem que, a partir de uma seqliéncia de amostras (medig6es) associadas a um sinal analégico, este sinal seja decomposto em fungao de um conjunto de sinais senoidais com frequéncia e fase definidos e tais que a somatéria destes seja equivalente ao sinal analégico tomado inicialmente, Os resultados do cdiloulo da FFT deverao ser mostrados graficamente na tela ou em forma textual. 24 As operagées de analises estatisticas permitiréo ao aluno realizar calculos estatisticos acerca de um determinado conjunto de dados por ele selecionado. Numa verséo inicial estarao disponiveis calculos estatisticos bdsicos, como moda, média, mediana, desvio médio, desvio padréo, variancia @ coeficiente de variabilidade. Sera possivel também a visualizagéio de graficos de distribuigéo de frequiéncias. Esse conjunto de fungdes foi considerado como suficiente para a primeira versao do sistema. O uso do sistema podera determinar 0 emprego de outros tipos de andlises estatisticas voltadas, por exemplo, a determinagées de qualidade de dispositivos. Aextracao de pardmetros de dispositivos 6 um dos recursos mais importantes ao aluno, especialmente no Ambito da microeletrénica, onde muitas vezes se deseja determinar ou verificar parametros fisicos @ elétricos que nao so mensuraveis diretamente. Através da extragéo de parametros dos dispositivos, associada ao tratamento estatistico, 0 aluno poderd realizar a verificagdo de viabilidade de modelos, de projetos de pior caso e aferir a qualidade de componentes e de processos de fabricagao dos mesmos. Para a determinag4o de um parametro do dispositivo o aluno devera selecionar 0 conjunto de dados de interesse (uma curva ou um segmento dela) e, aplicando as fungdes de tratamento e os calculos adequados, determinar o valor do pardmetro. Seré possivel ao aluno armazenar os valores de parametros no arquivo de anotagdes do projeto. Em versées futuras do sistema, poderao estar disponiveis bilbiotecas de dispositivos que incorporem os modelos matematicos associados a determinacao dos pardmetros, reduzindo a quantidade de operagées que 0 aluno precisa realizar para a determinagao de um parametro, ‘A operacao Dados para Otimizagéo permiftird que o aluno, através da andlise comparativa entre amostras de dados obtidas para diferentes valores de um parametro, determine 0 valor 6timo do mesmo. ‘As operacées de andlise e tratamento de dados paramétricos e de comportamento analégico dos dispositivos buscam, na versao inicial do sistema, estabelecer um conjunto minimo de ferramentas para o estudo dos circuitos e dispositives. Versées futuras poderéo implementar conjuntos adicionais de facilidades, suportando um maior numero de modelos estatisticos e matematicos, aumentando 0 grau de automatizagao dos processos de extracéo de parametros de dispositivos ¢ de dados para otimizagao e ampliando os recursos de tratamento de visualizagao, permitindo, por exemplo, o tragado de gréficos tridimensionais. A figura 6 apresenta um diagrama dos processos para a andlise € tratamento de resultados de medidas analégicas. 25 oi de Simulages Converséo 6 Innorpeetagto | Rasutades 32) oe Das Medioat Visusiacio | eee ee amen ce Tablas do Dados | loculados Andes rmatematicas @ ostatstcas, Geragao de Resultados das Andisos Figura 6 - Processos para Analise de Medidas Analdgicas 11.4.3.1.2- Bases de Dados para o SAD As bases de dados utilizadas pelo SAD seréo geradas através de ferramentas do SDP, através do préprio SAD e por dados externos a esses sistemas. Do ponto de vista funcional, podemos ciassificar as bases de dados do SAD nos seguintes grupos: + Dados de Descrigéo dos Circuitos + Dados de Resultados de Simulagdes « Dados de Medidas Efetuadas + Dados de Programagao de Simulagbes + Dados de Programagao do Experimento - Dados de Configuragao do Sistema « Dados de Resultados de Tratamentos Matematicos @ Analises ‘As bases de dados acima descritas devem ser, na medida do possivel, passiveis de tratamentos independentes umas das outras. Além disso devem estar estruturadas de forma que se possa definir interrelacionamentos entre elas, a fim de obtermos melhor integragao das operagées do sistema e das atividades do aluno. Descreveremos, a seguir, cada uma das classes de dados acima citadas. No anexo | so apresentadas as informagées sobre os formatos das bases de dados utilizadas pelo SAD. 26 A) Dados de Descri¢ao dos Circuitos A descricéo dos circuitos é realizada com diferentes objetivos niveis de detalhamento ao longo do projeto, utilizando-se para tal diferentes tipos de representagdes. Por exemplo, para a validagao da légica de circuitos digitais € conveniente que 0 circuit seja desorito em termos de portas Igicas; para validagao do comportamento elétrico, a descrigéo é feita em termos de componentes eletrénicos elementares, como transistores, resistores e capacitores. Para caracterizagao de projetos de circuitos integrados, a descri¢éo dos componentes pode ser feita a nivel de dimens6es e parametros fisicos (modelos de dispositivos) A descrigéo do circuito a nivel de portas ldgicas é utilizada pelo simulador légico (SIMUL), definindo os componentes légicos do circuito e a rede de interconexdes dos mesmos. O mesmo esquema de representacao deverd ser utilizado pelo médulo de testes funcionais, permitindo ao aluno visualizar 0 esquema légico do circuito durante a definigéo dos testes a serem executados. A descrigéo do circuito também sera Util em etapas posteriores, quando da aplicagao de métodos voltados & localizagdo de falhas no mesmo. A fim de manter compatibilidade entre as informagées disponiveis ao simulador I6gico e aos médulos do SAD relacionados a testes funcionais, 0 formato dos dados de descricéo ldgica do circuito deverd ser idéntico ao utilizado pelo programa de entrada esquematica - PESQA [Pan87c]. A descrigéo a nivel de componentes eletronicos discretos é utilizada para a simulagao elétrica. O SPICE permite que a descricao dos componentes dos circuitos seja realizada também a nivel de parametros fisicos e elétricos (através do comando “ MODEL’). A descrigao a nivel dos componentes discretos do circuito seré de interesse ao SAD para a programagao de experimentos de testes paramétricos e de desempenho analdgico, permitindo que o aluno visualize 0 esquema elétrico do circuito e “aponte” os pontos do circuito onde deverao ser realizadas as medigées. Por outro lado, 0 SAD podera também gerar informacdes a respeito de pardmetros dos circuitos obtidos através de medigdes e analises matematicas, realimentando assim o processo de validagao do circuito. Na descrig&o elétrica do circuito no SPICE, 0 netlist nao contém nenhuma informagao posicional sobre os elementos do circuito, sendo necesséria, portanto, a criagéo de uma extenséo dessa descrigéo a fim de que se possam desenhar os diagramas elétricos. As listas de interconexées (‘net-lists’) dos circuitos poderao também ser utilizadas pelo aluno como auxilio durante a montagem do prototipo a ser testado. 2 B) Dados de Resultados de Simulagées Os dados de resultados de simulagdes sero utilizados pelo SAD durante © processo de tratamento e andlise dos resultados de testes, visando & verificagdo da conformidade ou de diferengas de resultados entre as simulagées e os testes. As informagées geradas através dos diferentes tipos de simulagdes dizem respeito a aspectos distintos das caracteristicas dos circuitos em estudo. Por consequéncia, 0 conteido dos dados de resultados das simulages elétricas e Idgicas serdo também distintos, bem como os formatos dos arquivos gerados como resultados de simulacdes pelo SPICE e pelo SIMUL. (Os resultados de simulagdes da légica funcional descreverio apenas os niveis légicos de sinais aplicados as entradas e verificados (calculados) as saidas do circuito ao longo do tempo. O SAD sera capaz de interpretar arquivos de resultados de simulagées gerados pelo SIMUL ou ainda arquivos em formato ASCI! padréo, conforme formato especificado no anexo |. Os resultados das simulagdes elétricas_ compreenderao informagées a respeito do comportamento de pontos definidos do circuito nos dominios do tempo e/ou da freqdéncia. O SAD serd capaz de interpretar arquivos de dados no formato de saida do SPICE ou tabelas em formato ASCII, conforme padréo definido no anexo |. Para os arquivos de saida do SPICE serdo interpretadas uma ou mais tabelas de dados geradas pelo comando PRINT” do simulador. ‘A capacidade de interpretaco de arquivos em formato ASCII permite ao SAD utilizar dados gerados por ferramentas externas ao sistema, como, por exemplo, planilhas eletrénicas. C) Dados de Medidas Efetuadas Os dados de medidas efetuadas sero gerados pelo SAD como saida do processo de execugéo do experimento e serao utilizados como entrada para o tratamento e andlise de resultados dos testes. A exemplo do que ocorre com os resultados das simulagdes elétricas e ldgicas, os resultados de testes paramétricos e de comportamento analdgico diferem, a nivel de contetido, dos resultados de testes funcionais. 28 Os conteudos das bases de dados de medidas efetuadas e de resultados das simulagdes serao bastante semelhantes, tanto para dados funcionais do circuito quanto para os dados paramétricos e de desempenho analégico. Para resultados de testes funcionais, 0 formato dos arquivos gerados pelo SAD deverd ser 0 mesmo dos arquivos gerados para os resultados de simulagces pelo SIMUL. Para resultados de testes paramétricos e de desempenho analdgico, o arquivo de resultados dos testes ser do tipo texto (ASCII), gerado na forma de tabelas com os valores das varidveis medidas. Embora a utilizagdo de arquivos em formato ASCIl possa no ser a mais eficiente em termos de espaco utllizado para o armazenamento, ela se mostra bastante adequada quando vista sob a 6tica da compatibilidade e intercambiabilidade de dados entre os diferentes médulos do sistema. D) Dados de Programacao de Simulacées Os dados de programagéo das simulagdes descrevem basicamente uma seqiéncia de casos de teste a serem simulados para 0 circulto em estudo. Na descrigéo dos casos de teste incluem-se os estimulos a serem aplicados ao circuito e as saidas a serem monitoradas. Dependendo do tipo de simulacao a ser realizada, essa programagao pode definir também outros parametros incluindo, por exemplo, condigses ambientais a serem simuladas. No mesmo arquivo devera estar contida também, no nivel de detalhamento apropriado & simulago, a descrigao do circuito (net-lisf, em termos dos componentes basicos ¢ das interconexées entre eles A partir dos dados de programagao das simulagées, o sistema realizaré a gerac&o, de forma automética, de programas voltados aos testes do circuito. Deve-se observar, porém, que nem sempre o programa da simulagdo refletira todos os aspectos necessérios & realizagao de um teste equivalente. O aluno deverd estar sempre atento a este tipo de detalhe e poderd, através de ferramentas de software adequadas, modificar © programa de testes. De maneira analoga, 0 sistema devera prover meios para, a partir de dados de programacéo do experimento, gerar os programas para os simuladores. As linguagens utlizadas para a programagao das simulagdes elétricas e ldgicas so discutidas respectivamente em [Via8 1] e [Pan87a}. 29 E) Dados de Programagao do Experimento Através da programagéo do experimento, 0 aluno definird os casos de teste a serem executados, definindo os estimulos a serem aplicados as entradas @ os sinais a serem monitorados nas saidas do circuito. Para testes paramétricos e de desempenho analogico, o aluno podera definir também alguns parametros adicionais, como por exemplo a temperatura em que o teste deve ser realizado. Como ja foi descrito anteriormente, o SAD provera ferramentas automatizadas para, a partir de programas de simulagbes, gerar os programas do experimento (programas de testes) e vice-versa. As linguagens utilizadas para a programagao dos testes serao, a exemplo das de programagéio das simulagées, diferenciadas para testes de légica funcional e testes paramétricos e de desempenho analégico. A definicao dessas linguagens serd feita no capitulo II F) Dados de Configuragao do Sistema Os dados de configuragéo definem caracteristicas ambientais operacionais do sistema e visam basicamente a flexibilidade de uso do mesmo. Algumas caracteristicas do sistema serao autoconfiguraveis, como por exemplo 0 tipo de monitor de video utilizado. Outras caracierislicas sero configuraveis pelo usuério, como cores a serem ufilizadas em tela; idioma usado para a interface usudrio-software; tipos e modelos de periféricos de saida, como impressoras ¢ plotters; dispositivos de entrada, como mouse e mesa digitalizadora. O aluno poder ainda, através de uma opgéo de configuragao de projeto, definir quais os arquivos de dados envolvidos para as simulagées, para os testes, para as andlises e tratamentos @ para as anotagdes referentes a um mesmo projeto, estabelecendo assim uma forma eficaz de oferecer ao aluno controle sobre os diversos arquivos de dados envolvidos num projeto. ‘Os dados de configuragéo do sistema deverio ainda conter informagées a respeito dos tipos de interfaces para aquisigao de dados uiiiizadas e do conjunto de instrumentos a elas interligados e suas caracteristicas. 30 1.4.3.2 - Requisitos de Interface 11.4.3.2.1 - Interface com 0 Usuario Considerando-se 0 fato do SAD ser um sistema destinado ao uso em um ambiente didético, um dos principais aspectos a serem considerados na definicéo dos requisitos do sistema é 0 mecanismo de interagdo entre o aluno e o software. A interface usvario-software deve ser amigavel e capaz de direcionar 0 aluno durante a utilizacdo do sistema. Ainda, deve ser previsto © uso de mensagens explicativas sempre que necessario e um sistema de auxilio ao usuario (help) sensivel ao contexto operacional e que permita que informagées acerca de outros itens associados ao contexto atual sejam visualizadas. Devem também ser oferecidos recursos para facilitar a definigdo de informagées acerca do experimento, como a geragdo de vetores de testes, a programagdo de instrumentos de medica, entre outros, a fim de minimizar o esforgo do aluno em algumas etapas que s4o, por natureza, tediosas. Nao se deve perder de vista, porém, a finalidade Gidética do sistema, devendo ser considerado que algumas etapas, embora sejam passiveis de automatizagao, devem ser realizadas manualmente, a fim de que o aluno visualize e participe daquela determinada etapa do proceso. As ferramentas do SAD utilizam basicamente menus de opgdes como forma de direcionar 0 uso do sistema pelo aluno. O menu inicial do sistema (ou menu principal) agrupa as fung6es do sistema em classes de operacdes e os submenus de cada uma dessas opgbes dao acesso as ‘operagées basicas do sistema. Estabeleceu-se como regra basica que 0 acesso a qualquer opgdo do sistema nao deveria exigir mais que trés niveis de submenus, evitando assim a navegagdo excessiva através dos menus. Foi estabelecido também que, sempre que conveniente, as operagdes do sistema deveriam ser acessiveis através de teclas especiais (chamadas de “hot keys” ou ‘shortcut keys’), ativando a fungao diretamente, sem a necessidade da navegagao nos menus. O sistema de auxilio a0 usuario (help) esta disponivel ao usuario a qualquer instante, através da tecla e atua de forma a ser sensivel a0 contexto. Por exemplo, estando numa determinada sub-opgéo de um menu € teclando 0 usuario obteré a tela de auxilio referente aquela opgaio do menu, Aimplementago das telas de auxilio foi projetada usando 0 conceito de hipertexto, mostrando algumas palavras-chave destacadas nas telas de help. Essas palavras em destaque referenciam outros tépicos do sistema de auxilio ao usuario e, quando selecionadas, trazem a tela as informagbes referentes aquele tdpico. Isso permite que o usuario “caminhe” através do sistema de help do SAD. Foi desenvolvida, com a finalidade de dar suporte & criagéo e manutengéo dos hipertextos, uma ferramenta interativa, baseada em [Ges90] e descrita em [AfSt]. ‘A configuragao de idioma foi considerada também como um dos pontos importantes do ponto de vista de interagéo com o sistema, dado que © sistema se destina ao uso didético em paises de diferentes idiomas. Embora na versdo atual das ferramentas do SAD 0 idioma suportado seja apenas 0 Portugués, 0 sistema prevé, para o futuro, o suporte a outros idiomas. Outras opgdes de configuraao, como a de cores e de dispositivos de entrada e saida, estardo também disponiveis. 11.4,3.2.2- Interfaces de Software © SAD devera prever interfaces de software com as diversas ferramentas do SDP, como o SIMUL, 0 EDTES, 0 PESQA, geradores de vetor de testes, etc. Devera também ser prevista interface com os programas de simulagdes e dados de saida do SPICE, a fim de permitir as analises de dados gerados por esse simulador. Com 0 objetivo de flexibilizar 0 uso do sistema, deve-se procurar também oferecer suporte a dados gerados por ferramentas externas ao SAD e ao SDP. 11.4.3.2.3 - Interfaces de Hardware As interfaces basicas de hardware para o sistema so aquelas especificadas na sec&o 12 deste trabalho. Deve-se procurar também oferecer recursos para a utilizagéo de diferentes tipos e modelos de periféricos que sao opcionais ao sistema, como impressoras e tragadores graficos (plotters). Com relac&o as interfaces de aquisigéo de dados, deve-se levar em consideragéo que os requisitos estabelecidos sao os minimos. O projeto do sistema deve se preocupar com a capacidade de manipulacao de placas mais sofisticadas, permitindo por exemplo uma melhor resolugéo de leitura e maior taxa de amostragem, entre outros. Com relagao a forma da leitura dos dados, as interfaces de aquisigaéo de dados se dividem basicamente em dois grupos: as que permitem acesso por enderecamento de entrada e saida (/O ports) e as que usam acesso direto & memoria (DMA). Atualmente varias placas permitem os dois métodos pata a leitura dos dados. O SAD devera permitir 0 uso de qualquer um desses tipos de placa, 32 11.4.4 - Prioridades de Implementagéo Com vistas a implementagéo do SAD, decidiu-se pela criagéo de trés subsistemas, cada um dos quais deverd ter a capacidade de atuar de maneira independente dos demais. O primeiro deles, 0 STEF, devera abranger as trés etapas envolvidas nos testes funcionais de circuitos: programagao, execugdo e andlise de resultados. O segundo subsistema devera cobrir as etapas de programagéo e execugéo de medidas analdgicas e paramétricas. Por fim, 0 terceiro subsistema sera o STAG, que teré como finalidade permitir 0 tratamento e andlise gréfica de resultados de medidas analégicas e paramétricas. Foi estabelecido como estratégia para a implementagdo o desenvolvimento paralelo dos trés subsistemas acima descritos. Numa etapa inicial, cada um dos subsistemas tera somente as fungdes consideradas essenciais, visando & obtengao de um protétipo de cada um deles. Na segunda etapa, outras fungdes adicionais serao acrescentadas. Uma terceira etapa de implementag&o 6 ainda prevista, quando deveréio ser implementados aprimoramentos da interface usudrio-software e, eventualmente, adicionadas algumas tungées, tendo como base as rticas e sugestdes formuladas pelos usuarios do sistema. A figura 7 mostra um diagrama geral do SAD, onde sao destacadas as atividades relacionadas a cada um dos subsistemas. 11.4.5 - Evolug6es e Melhorias Previstas As propostas de evolugées e melhorias descritas nesta segao deverao ser consideradas em todas as etapas seguintes do projeto e da implementagdo, de forma a evitar futuros problemas e restrigdes quanto & evolugao do SAD. A evolugéo do Sistema de Testes Funcionais-STEF deverd compreender a implementacao de fungées voltadas & comparagéo critica dos resultados de testes e simulagées, onde deverdo ser incluidas tunes de aconselhamento ao aluno, indicando a ele, por exemplo, regibes @ componentes do circuito que so suspeitas de mau funcionamento indicando vetores de testes adequados ao isolamento dos erros. Uma evolugao natural, abrangendo a todos os médulos do SAD, deverd ser a implementagao de suporte a um conjunto maior de periféricos, tanto no que diz respeito ao tipo de peritérico (por exemplo mesas digitalizadoras, caneta ética, etc...) quanto aos modelos dos mesmos. Pretende-se futuramente dar suporte a outros tipos de interfaces de aquisigéo de dados, proporcionando aos usuarios uma maior flexibilidade quanto & determinagéo do desempenho, da preciséo das medidas e do conjunto de medidas suportadas pelo SAD 33 Programas Ge siulagsol6gica Racuiadee do res Simuiages gas Funoonais | Andisas de Resultados de [ rsult de Andis da) Lsgica Funcional Prog de simulagao | Resales de Fcohadse de) ‘aralégica (SPICE) | Macias Analégicas Simutagoos Eléticas Tratamento @ ‘Andise de Fosulados Analsgcot NZ Progranademedsas) [Dados Paanemass] Facies de ‘analégicas para Qtmizagic | ‘Andisos | Figura 7 - Médulos Basicos de Implementagéo do Sistema Para 0 STAG, deve-se prever a implementacéo de um maior numero de fungées de andlises, as quais serao definidas de acordo com 0 retorno obtido dos alunos a partir de cursos ministrados com 0 uso do sistema. Outra caracteristica desejavel para futuras versdes do STAG é a capacidade de tragar gréficos tridimensionais. E prevista a criacdo futura de fungdes voltadas & avaliagéo de desempenho dos alunos, as quais deverdo ser acessiveis somente ao professor. Encontra-se ainda em estudo a conveniéncia da criagéio de uma verséo do sistema para o ambiente Windows. A criag&o de uma verséio do sistema para esse ambiente poderia, certamente, trazer-nos grandes ganhos em termos da qualidade da interlace usudrio-software,bem como na capacidade de configuracao de periféricos. 34 Ill - Linguagens de Programacao para o Experimento llL.1 - Introdugao A definigéo de linguagens voltadas & programagdo dos experimentos a serem realizados através do SAD permite uma melhor organizagao e sistematizagao das atividades do aluno. Com 0 uso de uma linguagem de programagao, o aluno podera abstrair detalhes de caracteristicas particulares do hardware para aquisigao de dados e dos instrumentos de medig&o e controle. Como ja foi discutido anteriormente, a validacéo da légica funcional de um circuito e a validagéo paramétrica e de desempenho analdgico apresentam enfoques e caracteristicas bastante diferentes. Essas diferengas so reveladas através das proprias linguagens adotadas pelos simuladores. Outro ponto considerado diz respeito & conveniéncia da adogéo de uma linguagem de programagao para os testes que se assemelhe ao méximo a linguagem do simulador, dado que 0 tipo de informacées de entrada para os simuladores e para os sistemas de testes também se assemelham. Ainda, isso propicia ao sistema a possibilidade de intercambiar dados entre programas de simulagdo e de testes, facilitando, por exemplo, a geragao de casos de falhas idénticas para o simulador e para o sistema de testes. Ainda, para o aluno, a uniformizagao das linguagens evita que ele tenha que aprender “mais uma linguagem’. ‘Adotou-se para o SAD 0 uso de duas linguagens distintas de programagao do experimento, semelhantes as linguagens dos simuladores SPICE e SIMUL. Este capitulo apresentaré cada uma dessas__linguagens. Inicialmente introduziremos alguns conceitos e definigdes basicos que serao utilizados na descrigao das linguagens, passando em seguida a descrig&o das linguagens de programagao de experimentos propriamente ditas. Ii.2 - Conceitos e Definigoes Discutiremos brevemente nesta seg&o os principais conceitos e definigdes usados para o estabelecimento das linguagens de programacao. Discusses mais amplas acerca desse assunto podem ser encontradas em [Kow79] e [Aho85]. ‘As linguagens de programagéo podem ser definidas através de dois aspectos basicos: a sua sintaxe, ou seja, como seus programas sao representados; e a sua semantica ou, 0 que os programas descrevem. Um terceiro aspecto refere-se ao problema de integraco da linguagem a um determinado ambiente hospedeiro. Uma gramatica livre de contexto [Cho59], que ao longo do texto chamaremos simpiesmente de gramatica, permite a descricao de uma linguagem através de definigbes indutivas. A classificagéo de livre de contexto define uma classe especial de graméticas onde as regras de transigéo para um simbolo terminal néo dependem do contexto onde o simbolo se encontra. A gramatica livre de contexto tem quatro componentes basicos: + Um conjunto de simbolos terminais, também chamados de tokens, que serao tratados como simbolos indivisiveis ou atémicos. - Um conjunto de simbolos nao terminais. + Um conjunto de produgées (regras de transigéo), onde cada produgao consiste na definigéo de um simbolo nao terminal através de uma sequéncia de tokens e/ou simbolos nao terminais. « A designagao de um dos simbolos nao terminais, chamada de simbolo inicial. Uma das formas mais comumente utilizadas para a descricéo da gramatica de linguagens de programagao é através das cartas sintaticas (também chamadas de diagramas sintaticos ou diagramas de Conway). Outra notagdo, também muito difundida 6 a BNF (Backus-Naur Form). Utilizaremos neste texto a representacdo por cartas sintaticas. Numa carta sintatica, cada simbolo nao terminal da gramatica ¢ descrito através de um grafo orientado onde cada um de seus nds é rotulado com os simbolos terminais ¢ no terminais da gramatica. Os simbolos utilizados para a representagao dos diferentes elementos e estruturas nesses grafos sdo apresentados na figura 8. Para a descrigéo da seméntica das linguagens de programacao, diversas tentativas de formalizagdo foram realizadas mas trouxeram, na pratica, poucas contribuigdes, devido a grande variagao entre as linguagens. Com isso a descrigéo semantica é feita ainda, na maioria das vezes, de maneira informal. () 8a) Simbolo Terminal 8b) Simbolo nao Terminal {Ar} 8c) Estrutura do tipo “OU” {As} ii % % 8d) Estrutura do Tipo “E’ (ee ah Se) Estrunura repetitiva Figura 8 - Simbolos Utilizados para a Carta Sintatica {I.3 - A Linguagem para Descrigéo dos Testes Funcionais A linguagem para descrigao dos testes funcionais foi feita com bastante aderéncia A que é utiizada para a descrig&o de programas de simulag6es através do SIMUL, acrescentando-se a ela algumas extensdes visando a aspectos particulares dos testes. Discutiremos, a seguir, a gramatica e a semantica da linguagem proposta. 11.3.1 - Descrigao Sintatica Os tokens (simbolos terminais) utilizados para os programas de experimentos funcionais so as menores unidades de texto dos programas. 37 Os programas do experimento seréo composts por tokens e separadores, sendo estes tltimos classificados em dois grupos: separadores de comandos e separadores de parametros. Os separadores de comandos s&0 definidos pelo caracter return (ASCII 13, que denotaremos por ), enquanto os separadores de pardmetros sao definidos por um ou mais caracteres brancos (ASCII 32) ou de tabulagéo (ASCII 09). Separadores nao poderao estar contidos nos tokens. A linguagem utilizard os seguintes subconjuntos do conjunto de caracteres ASCII - Letras: Os caracteres alfabéticos, maiisculos ou minusculos. + Digitos: Numerais arabicos de 0 a 9 + Digitos-Hexa: Numerais ardbicos de 0 a 9, letras de A até Fe de aaté f - Digitos-bindrios: Numerais ardbicos 0 ou 1. + Brancos: O caracter branco (ASCII 32) e caracter de tabulagao (ASCII 09). A figura 9 apresenta os diagramas sintaticos para cada um desses subconjuntos de caracteres. : SEREEEEIT Digio-Hoxe yt ® bod, Brancos © gto dintie co Figura 9 - Diagrama Sintatico dos conjuntos de Caracteres Simbolos especiais @ palavras reservadas so os caracteres (ou sequéncias de caracteres) que t&m um ou mais significados fixos. As tabelas 1 © 2 apresentam respectivamente os simbolos especiais e as palavras reservadas. Tabela 1 Simbolos Especiais ARQ COND AINCR . MOSTR — :PASSO “PAUSA TFIM TINIC AND + DFF ELE EST ! FIM JKFF INI NAND NoR NOT OR PIN SAL XNOR XOR Tabela 2 Palavras Reservadas Segue abaixo a descricao da carta sintética que define a linguagem para experimentos de validago da légica funcional, 1.3.1.1 - Programa e Blocos de Programa Um programa para a descrig&o dos testes funcionais & descrito como uma sequéncia de blocos, cada um deles voltado & definigéo de diferentes caracteristicas ligadas ao experimento. woven sacar laren | @)-) cece valores tale dese cet 39 {csc aides} rote 4) EY OH dose vetaos one — (659) (ER) (Fi) or) ose sins (0) (RD rasan 1.3.1.2 - Descrigéo dos Pinos de Entrada e Saida vin gc0 —() se} wontne co ,3,1.3 - Descrigdo do Net-List do Circuito acaen} elom-ccuito cores cae dose-macre uncn) ‘ame aman Ops (em) (er) acoolon eRe} (<*) ca -(isentne} nés-do-ontrads wi 41 1.3.1.4 - Estimulos de Inicializagéo e Vetores de Teste eimpanbes sings estepmitco (A) ssirctnguar —(R)) vale (em) 13.1.5 - Comandos de Definig¢go dos Dados de Saida comand sata ‘ana )—-[rameara} (or) Con) [SS [vier } FIM i 42 1.3.1.6 - Nomes dos Nos, Elementos do Circuito e de Arquivos 1.3.1.7 - Comandos de Controle da Execugo e Condigéo de Parada Cast) ae} 4a condigbes de-parada 1.3.1.8 - Expressdes, Valores e Numeros valor valorlégico expresso tater — é [gor — .[eparadar onan Taior 44 operader undo ‘operador booleane tora to (7) i lIL.3.2 - Descrigéo Semantica Descreveremos nesta sega 0 aspecto semantico da linguagem para programagao do experimento. Faremos também algumas andlises comparativas entre a linguagem utilizada para o simulador SIMUL e aquela proposta neste trabalho. {1.3.2.1 - Programas e Blocos Podemos classificar as informacdes contidas num programa para testes funcionais em quatro grupos distintos: + Descrigéo do Circuito + Descrigao dos Estimulos a serem Aplicados ao Circuito + Descrigao das Saidas a serem Monitoradas « Comandos de Controle da Execugao Procuramos definir a inguagem para os testes funcionais de forma que fosse mantida compatibilidade com os programas para o SIMUL e, ainda, de forma que os programas mantivessem isoladas, em diferentes blocos (ou segGes), as diferentes classes de informagées acima descritas. 45 Um programa para testes funcionais é composto por cinco segdes bdsicas (ou blocos de programa), a saber: descrigao dos pinos de entrada e saida, descrigao do circuito sob testes, descrigéo dos estimulos de inicializagéo do circuito, descrigéo dos vetores de teste e descrigéo dos sinais a serem monitorados. Os blocos de descricéo dos pinos de entrada e saida e de descrig&o do circuito conterao as descrig6es, a nivel l6gico, do circuito sob testes. Nos blocos de descrigéo dos estimulos de inicializagéo e descrigao dos vetores de teste s40 definidos todos os estimulos a serem aplicados ao circuito, além de comandos opcionais para 0 controle da execugéio (que esto diretamente relacionados aos estimulos). No bloco de descri¢ao dos sinais de saida sao definidos os sinais a serem monitorados e, opcionalmente, comandos adicionais, que definem alguns parametros para a monitoragao das saidas. © bloco de descrigéo dos pinos de entrada e saida permite a declaragéo de nomes simbdlicos associados a cada um dos pinos de entrada e saida da interface de testes. Através destas declaragées 0 aluno podera referenciar esses nomes simbélicos ao invés dos nimeros dos pinos durante o experimento. O bloco de descrig&o do circuito permite que seja definido, a nivel de ldgica digital, o circuito sob testes. Além da lista de conex6es do circuito (netlist) podera também estar descrito neste bloco do programa o diagrama I6gico esquematico do circuito. O diagrama esquematico do ircuito sera apresentado ao aluno durante a execudo do experimento, permitindo que, através de uma interface usuério-software apropriada, 0 aluno redefina, de maneira interativa, 0 programa do experimento. No bloco de descrigéo dos estimulos de inicializacdo estara descrita uma sequéncia de estimulos a serem aplicados ao circuito e as condigdes ldgicas (conjunto de estados légicos no circuito) que definem 0 término da aplicagao dos sinais de inicializagao (condigSes de parada). O bloco de descrigdio dos estimulos para testes deveré conter as definig6es dos vetores de teste a serem aplicados ao circuito, podendo opcionalmente conter também alguns comandos voltados ao controle da execugao dos testes. Poderd estar definido também um comando estabelecendo as condig6es de parada dos testes. © bloco de descrigao dos sinais de saida contera a descrigdo dos pontos do circuito a serem monitorados, podendo também conter alguns comandos adicionais, que definem caracteristicas como instantes inicial e final para a monitoragao, se os dados medidos devem ser mostrados em tempo de execugao ou somente ao final dos testes, etc... Descreveremos a seguir cada um dos grupos de informagées introduzidos no inicio desta secao 46 I11.3.2.2 - Descrigdo do Circuito ‘A descrigao do circuito sera realizada por meio de dois blocos do programa de testes funcionais: 0 bloco de descrigao dos pinos de entrada e saida e 0 bloco de descrigao do circuito propriamente dito. 3.2.2.1 - Descrigo dos Pinos de Entrada e Saida A interface para aquisigéo de dados de légica funcional estaré, como descrevemos anteriormente, interligada a um conector universal, a0 qual o aluno deverd interligar os pontos do circuito aos quais sero aplicados estimulos (entradas), bem como as saidas a serem monitoradas. Os pinos desse conector universal s4o numerados sequencialmente. Durante a descrigéo do programa do experimento, bem como durante a execugéo do mesmo, é conveniente que 0 aluno possa referenciar os nomes ldgicos dos sinais ou nds do circuito em estudo. © objetivo do bloco de descri¢&o dos pinos de entrada e saida é permitir a deciaragéo de nomes Idgicos associados a cada um dos pinos de entrada @ saida do equipamento de aquisigao de dados. A descricao dos pinos de entrada e saida é opcional num programa de testes funcionais e, em programas onde nao houver esta descrigao, os canais de entrada e saida do equipamento de aquisig&o de dados poderéo ser feferenciados somente pelos nimeros dos pinos do conector (por exemplo P01, POS e P10, para os pinos de numero 1, 5 e 10 respectivamente). Devemos ressaltar que este bloco do programa 6 estritamente declarativo. Nos programas do SIMUL este bloco do programa néo é definido, jd que os estimulos e respostas sao simulados. II1.3.2.2.2 - Descrigdo do Net-List do Circuito Para os programas do experimento, 0 bloco de descrigéo do circuito sera opcional, dado que 0 circuito esta fisicamente montado Apesar da opcionalidade dessa descrigao, ela podera ser de grande utilidade ao aluno, considerando-se que com ela o aluno tera acesso a um conjunto de facilidades adicionais durante os testes. Se for definida, a descrigao do circuito permitirA ao aluno visualizar © diagrama légico do circuito e selecionar pontos a serem monitorados ou estimulados, permitindo assim a programagéio de forma interativa. A descrigéo de macros (subcircuitos) ser tratada como uma desorigéo hierarquica do circuito, permitindo ao aluno a visualizagdo em diversos niveis de detalhamento. 47 A descrig&o I6gica do circuito sera também de grande utilidade para fungdes a serem implementadas em vers6es futuras do STEF, que implementarao recursos voltados ao aconselhamento do aluno e andlise de falhas. ‘A descrigao do circuito 6 sintaticamente semethante Aquela utiizada para os programas do SIMUL, acrescentando-se somente informag6es posicionais sobre cada elemento do circuito, voltadas ao tragado do diagrama légico. A nivel da descrigéo légica do circuito, manteve-se a compatibilidade entre as duas ferramentas. I11.3.2.3 - Descrigao de Estimulos a serem Aplicados Os estimulos a serem aplicados ao circuito sero descritos em dois blocos do programa de testes funcionais: 0 bloco de estimulos de inicializag&o € 0 bloco de descrigao dos vetores de testes. Em programas para 0 SIMUL no ha a definigéo de estimulos de inicializagéo do circuito. Isso ocorre porque, nas simulagdes, pode-se definir as condigées iniciais do circuito. Para testes de circuitos digitais, essas condigées iniciais so obtidas através da aplicacéio de um conjunto de estimulos as entradas do circuito e da verificagéo de suas saidas, até que seja atingida a condigao desejada ‘A descrigéio de cada estimulo, tanto no que se refere a inicializagéo do circuito, quanto no que diz respeito aos vetores de teste propriamente ditos, mantém sintaxe idéntica ao SIMUL e, em termos seménticos a diferenga 6 que, ao invés dos estimulos serem simulados, eles serao efetivamente aplicados ao circuito sob testes. Na definigdo dos estimulos so permitidos 1rés tipos de sinais: periédicos, aperiédicos e retangulares. Descrevemos a seguir cada um deles. a) Estimutos periédicos P ident_né valinic Tinie increm onde: ident_né =Identificador do né a aplicar o sinal valinic= Estado I6gico inicial Tinic= —_\nstante inicial da aplicagao do sinal increm = Intervalo entre 2 transigdes (metade do periodo) 48 b) Estimulos aperiédicos A ident_n6 valinic Tinie Tr [Te [Ts [T4.... [To I) onde: ident_né Identificador do né a aplicar o sinal valinic Estado l6gico inicial Tinic = Instante inicial da aplicagao do sinal T1, Tz, .. Tn=_ Instantes para as transigoes ¢) Estimulos retangulares R ident_né valinic Tinic largura gap onde: Identificador do n6 a aplicar o sinal Estado légico inicial Instante inicial para aplicagao do sinal Largura do pulso (vide figura 10) Tempo entre final de 1 pulso e 0 inicio do préximo (vide figura 10) laura g 1 f Figura 10 - Exemplo de um Sinal Retangular Como extensao a linguagem do SIMUL, poderdo ser definidos nos programas de testes funcionais alguns comandos voltados ao controle da execugao dos testes. Tanto para estimulos de inicializacgéio quanto para os vetores de teste, através do comando ".COND’, poderao ser definidas condigdes de parada, em fungao do tempo e/ou de uma combinagao de estados légicos em determinados nés do circuito. No bloco de descricao dos vetores de teste poderao ainda ser utilizados os seguinte comandos: “PAUSA’, que define um conjunto de instantes para pausas no experimento; "PASSO", que define que o experimento sera executado passo a passo, durante um determinado intervalo de tempo. A descricao detalhada de cada um desses comandos serd realizada na seco Ill3.2.5. 49 111.3.2.4 - Descrigao dos Sinais de Saida a serem Monitorados A descrigéo dos sinais a serem monitorados mantera, para os programas de testes funcionais, a mesma sintaxe e semantica observadas para o SIMUL. Além da definigéio dos sinais a serem monitorados, sera possivel definir também alguns comandos adicionais, vollados a definigéo de caracteristicas da monitoragao de sinais, como instante inicial e final para a monitoracéio, armazenamento de resultados em disco, ete. Descreveremos a seguir cada um desses comandos. © comando “.TINIC” define o instante inicial para a visualizagéo em tela ou armazenamento em disco dos dados de resultados dos testes. Caso este comando seja omitido o sistema assumira que 0 instante inicial 6 igual a zero. A sintaxe para o comando é a seguinte: sTINIC instante onde instante = __Instante inicial para visualizagdo ou armazenamento de resultados em disco. © comando “.TFIM" define o instante final para visualizagéo ou armazenamento dos dados. A sintaxe para o comando é descrita a seguir. -TFIM instante onde instante = _ instante final para visualizagdo ou armazenamento de resultados em disco. © comando “.INCR” define o incremento de tempo entre duas amostragens do sinal, a partir do instante inicial definido. Caso este comando nao seja definido, o sistema assumiré o valor 1 (um) como default. A sintaxe do comando devera obedecer ao seguinte formato: -INCR_ incremento onde incremento= —Incremento de tempo para amostragem do sinal. Através do comando “.MOSTR' pode-se definir que os sinais seréo apresentados ao usuario em tempo de execugao ou imediatamente apds 0 final dos testes. A forma de uso do comando é descrita abaixo. 50 -MOSTR ON | OFF onde ON = resultados devem ser mostrados em tempo real. OFF = resultados devem ser mostrados somente apés 0 término dos testes. © comando "ARQ" permitiré que sejam armazenados em disco os valores Iégicos dos sinais monitorados, O parametro deste comando devera definir 0 nome do arquivo a ser gerado, conforme mostrado a seguir. -ARQ_ nomearq onde nomearq = nome do arquivo a ser gerado. Observagao: Os caracteres permitidos para a definigéo do nome do arquivo poderdo variar de acordo com o sistema operacional utilizado. A implementagao deverd levar em conta esse aspecto. 1.3.2.5 - Comandos de Controle da Execugao Os comandos de controle da execugéio do experimento tm por objetivo oferecer recursos que permitam interromper ou suspender temporariamente 0 processo de testes, de forma que o usuario possa intervir, seja para realizar analises parciais dos resultados, seja para redefinir alguma condigao de teste. Quaisquer dos comandos de controle de execugao do experimento deverao ser definidos juntamente aos estimulos externos a serem aplicados ao circuito. ‘© comando *.PAUSA" permite ao usuario interromper os testes em determinados instantes da execugéo. O formato estabelecido para o comando é 0 seguinte: -PAUSA inst: [, instz[, inst [... instn J onde: inst, insta, insta = Instantes em que os testes devem ser interrompidos. ‘O comando .PASSO estabelece uma forma de permitir ao usuario a execugao de um experimento, ou parte dele, passo a passo. Este comando 6 de grande interesse quando da necessidade de depuracao de falhas j4 bem localizadas com relagao ao instante de execugao. Descrevemos a seguir 0 formato para o comando. 51 «PASSO Tinic Tfim increm Tinie instante inicial para a execugao passo a passo Tfim= instante final para execugao passo a passo increm = incremento para pausa do experiment (passo) Através do comando "COND" o usuario pode definir condigbes de parada para a aplicag&o dos estimulos de inicializagao do circuito ou para 0s estimulos de teste. A condicao de parada é definida por uma expresso légica que define uma combinagao de estados Idgicos em nés do circuito e/ou um determinado instante da execugdo. 11.3.3 - Aspectos da Implementagao A linguagem para a descrigéo dos testes funcionais apresenta-se como uma forma textual para a descrigéo de um experimento de testes. Considerando-se aspectos de facilidade de uso do sistema, a existéncia de uma ferramenta interativa voltada a descri¢éo do experimento é mandatoria, Essa ferramenta deverd, entretanto, gerar um arquivo com o programa do experimento definido segundo a linguagem aqui proposta. © STEF, como discutimos anteriormente, sera 0 sub-sistema do SAD que permitir ao usuario programar, executar e realizar andlises de resultados dos testes funcionais. Um interpretador para a linguagem foi desenvolvido e incorporado ao STEF, e sera descrito com mais detalhes no capitulo V. Na verso atual, 0 interpretador apresenta restrig6es quanto a interpretagao da descri¢ao do circuito. Somente as descrigdes dos pinos de entrada e saida sao interpretadas, nao estando incluida a descri¢&o do net-list do circuito. Aprogramagao do experimento no STEF podera ser realizada tanto na forma textual quanto de maneira interativa. Os comandos de controle da execugao permitidos no programa do experimento deveréo remeter 0 usuario ao modo interativo, Maiores detalhes sobre a implementacéo do interpretador para os programas de testes funcionais podem ser obtidos no capitulo V, onde 6 descrito o STEF. 1.3.4 - Exemplo de um Programa para Testes Funcionais Apresentamos nesta segdo um exemplo de programa para testes funcionais, procurando utilizar um circuito bastante simples e apresentar os recursos disponiveis através da linguagem de definigao do experimento. O Circuito utlizado para o exemplo é apresentado na figura 11 52 PIN FIM ELE FIM oy 10 Figura 11- Circuito-Exemplo do Programa de Testes Funcionais Pi MRBI P2 PLB Pa CPI P10 Q3 PI! Q? PI2 QL P13 QO NoT MRBE 9 0 0 0 MIA Not MIA o 0 0 0 MIA NAND MRBI PLB O 0S NOT st o 9 0 0 Sz NAND — MRB sto 0 0. SR NAND SI. S30 0 0 $4 IKFF $2 CPI S483 QO NAND — MRB si 0 0 0. SS NAND SI ss 0 0 0 S6 IKEF 2 S82 QOB S685 QI NAND — MRB sio0 0 0) SF NAND SI Ss? 0 0 0 SR IKFF s S2 QIBS8 87 Q2 NAND — MRB s}o0 0 0) SY NAND SI sy 0 0 0 S10 JKFF 82 S82 Q2B S10 $9 QB 0 0 0 0 Qon 0 0 QB 0 QB 0 0 QaB INI FIM EST FIM SAI FIM A MRBI 0 A PLB 10 A MRBI 1 0 RR cPL MOSTR INCR TINIC TFIM ARQ MRBI ON 5 0 1000 teste.txt PLB CP} Q3 Q2 Ql Qo 4 l1.4- A Linguagem para Descrigdo das Medidas Analégicas A proposta preliminar da linguagem para a descrigéo de experimentos de medidas analdgicas foi realizada apoiando-se_na linguagem utilizada pelo simulador SPICE. Como ja discutimos anteriormente, a capacidade de estabelecer compatibilidade entre programas de simulago e programas de testes é bastante conveniente, tanto para a redugdo de custos quanto para reduzir a probabilidade de erros. Neste capitulo procuramos definir alguns conceitos preliminares para a especificagéo da linguagem, como ponto de partida para sua implementagao. ‘A linguagem utilizada pelo SPICE [Vla81] tem como uma de suas maiores qualidades o forte poder de sintese na descrigo dos comandos para a simulagao. Criamos algumas extensdes dessa linguagem, face & necessidade de termos disponiveis para os testes alguns recursos adicionais para o controle da execugéo e para a aquisi¢géo e@ armazenamento de dados em si. Devemos ressaltar também, que ha comandos para a simulagao que nao tem sentido quando da execugao dos testes e que deverao ser desconsiderados. Tanto no que diz respeito & sintaxe, quanto no que se refere & semantica da linguagem para definigéo de medidas analdgicas procuramos preservar, na medida do possivel, caracteristicas idénticas @ linguagem do SPICE, criando apenas alguns comandos adicionais. As segdes seguintes apresentam os aspectos sintaticos e semanticos da linguagem proposta. ‘A definig&o da linguagem toma como premissa que 0 sistema de software voltado & execugdo incluiré os seguintes médulos: + um interpretador para a linguagem de descrigéo do experimento. + um conjunto de drivers oltados ao controle @ aquisi¢ao de dados dos instrumentos. - um configurador através do qual o usuario possa definir os equipamentos disponiveis e suas respectivas caracteristicas. + um modo interativo de operagao, através do qual o usuario poderd modificar dados de programagéo do experimento, visualizar diagramas do circuito e dados de resultados, controlar (interromper e reiniciar) a execugao do experimento. 11.4.1 - Descrigdo Sintatica A sintaxe usada na definigéo de programas para execugao de medidas analdgicas deveré, de maneira geral, ser a mesma utilizada para os programas do SPICE. Foram definidos alguns comandos voltados especificamente para a linguagem de descrigao das medidas analégicas, ‘0s quais tém como objetivo dar suporte a caracteristicas particulares vinculadas aos instrumentos de medida, ao controle da execugao das medidas e ao armazenamento de dados de resultados das mesmas. ‘Apresentaremos nesta secéo somente as definicdes essenciais a descricéo dos comandos especificos & programacéio do experimento de medidas analégicas e dos comandos para o SPICE que tenham sofrido modificagdes sintaticas. 111,4.1.1 - Programas programa ———+[ doa I11.4,1.2 - Declaragdes de Variaveis dectuasto co vantle Lal Goan Be GES comando de dearasto Cer) ‘cage aevepara eclragho de estinulo Casta) deca orosposta Cones®)) foment} 56 111.4.1.3 - Descrigdo do Experimento escrigte do experiment serge 0 area Gamando Ge Sonvcle da exec |. —~apscripno do at ‘rscasimanios do medidas 111.4.1.4 - Descrigdo do Circuito A descrigo do circuito nos programas para medidas anal6gicas ser utilizada somente para a visualizagao do esquema elétrico do circuito 6 identificagao dos nés aos quais se aplicam estimulos e/ou nos quais So medidas respostas. E importante notar que, ao se acoplarem instrumentos ao circuito, o mesmo é alterado. iA sintaxe para a descrigao do circuito sera a mesma utilizada para 0 SPICE, sendo acrescentadas, 20 final da descrigao de cada elemento, informagdes para descri¢ao do mesmo no diagrama esquematios ‘Omitiremos na descrigho sintatica do circuito as produgées para as quais a sintaxe seja idéntica & do SPICE. aco cae —Limerame | per ett tanue {SS HCE} (0) TE] —) 37 sce nto (ne) [sea aos} —(EN08) over. parame esto geomitica aia coorSeadas fg is pS 58 1.4.1.5 - Comandos de Descrigdo de Estimulos doscrigao de estmulo. ——a{ home de vara) J— (02) — ae} (©) 4H -{ eepact a ansiane cespacide tansionte OSIM OQOOS) IL4.1.6 - Comandos de Procedimento de Medidas occedrnes Fain?) — ose} oe i val |-—Cinre>) ure) aman armen lpeoanal Gime de varavaljfiome do varave} [valer prosedmenie de mecse OC ‘procedimenio de medidas TRAN ssp are 14.1.7 - Comandos de Controle da Execugao pe 5 ‘ABORT - oeprassto aS ‘on PASSO 1.4.1.8 - Expressées, Listas de Valores e Valores ‘oxpresedo ligica Lemar] expressio—-—[_ term} operacer: —y 60 com anns Lae LL ae, lewreoal we eh {censtanw sem sinal} 111.4.1.9 - Nomes de Varidveis e Identificadores de Instrumentos rome netunerio—-(@ ) ae} ‘po instumento Tor 61 558 rome de variivel {idantetemeni3} © icontelomento. ——<[aantgiandeta}— ava Tare 1.4.1.10 Digitos, Letras e outros Simbolos Basicos rooe SOppDDOEY intro positvo 62 lll.4.2 - Descrigéo Seméntica Descreveremos nesta segéo a seméantica proposta para a linguagem de descrigéo de medidas analégicas. A discussdo estara concentrada essencialmente nos comandos criados como extensao a linguagem do SPICE e nos comandos do SPICE que sofreram alteracdes seménticas 1.4.2.1 - Programa Um programa para medidas analdgicas pode ser definido com um conjunto de declarag6es de varidveis, onde sao definidos nomes légicos para os equipamentos de medig4o e controle utilizados no experimento, seguido de uma seqléncia de comandos, que definem o experimento propriamente dito. As informagées contidas nos programas para descrigéo das medidas analégicas podem ser classificadas nos seguintes grupos: + Declaragées de Varidveis + Descrigao do Circuito + Descrigao dos Estimulos a serem Aplicados + Descrig&o das Medidas a Serem Efetuadas = Comandos de Controle da Execugao Deve-se notar que as informagées definidas por um comando podem se enquadrar em mais que um dos grupos acima descritos. 111.4.2,2 - Declaragées de Variaveis A declaragéo de variaveis estabelece uma associacéo entre elementos do circuito (fontes de alimentagao, nés ou parametros) @ os instrumentos de medigao e controle, de forma que o sistema de software possa controlar adequadamente a aplicagao de estimulos e a monitoragéo de sinais no cirouito. Para tal, 6 conveniente que cada instrumento de medig&o ou controle utilizado tenha associado a si um nome Idgico, através do qual podera ser referenciado no corpo de descrigéo do experimento. A quantidade e os tips de instrumentos disponiveis poderao variar de acordo com 0 hardware de aquisigao de dados utlizado. Portanto, as caracteristicas e a identificagao particulares de cada instrumento poderéo ser configuradas e/ou definidas pelos usuarios. A programagao do experimento deve atentar a esse fato quando da declaragao de varidveis, pois caso contrério 0 interpretador emitiré a mensagem de erro correspondente. 63 A doclaragao de variéveis 6 obrigatéria para todos os instrumentos utilizados no experimento e deve ser realizada antes da descrigao do experimento propriamente dito. O usuario podera definir dois tipos distintos de varidveis: « Estimulos a serem aplicados ao circuito + Pontos do circuito a serem monitorados (respostas). A declarago de variaveis referentes a estimulos a serem aplicados ao circuito sera feita através do comando .VESTIM. O comando .VESTIM identifica o instrumento € define um nome simbélico para que ele possa ser referenciado no corpo de descrigao do experimento. Os parémetros dos sinais de estimulos (amplitude, forma de onda, etc...) serao definidos no compo de descrigao do experimento, através dos comandos apropriados (de descrig&o de estimulos ou de descrigao de procedimentos). Cada comando de declaragéo de varidvel associa uma Unica varidvel a um Gnico instrumento. © comando .VRESP permite a declaragao de variveis que, no corpo de descrigao do experimento, definiro os nds ou ramos do circuito onde serdo realizadas medig6es (pontos que s&o variaveis dependentes dos estimulos), associando um instrumento de medigao especitico a essa variavel. ‘A dactarag3o de uma variavel ¢ composta pelo comando de declaragéo seguido do nome da varidvel e do nome (identificacéo) do instrumento que estaré associado & varidvel durante a execugéo do experimento. Os identificadores de instrumentos seréo iniciados pelo caracter "@" seguido de um caracter que identifica o tipo de insirumento ("M" para equipamentos de medigdo e "C" para os de controle), seguido de um caracter que identifica a grandeza fisica medida pelo equipamento e do numero do mesmo. Deve-se observar que na declaragao de variéveis néo ha nenhuma informagao sobre caracteristicas particulares dos instrumentos (como, por exemplo, resolugdo, faixas de operagao, etc...). Essas informagées, por pressuposto, sero de conhecimento do sistema de software responsavel pela execugao do experimento, sendo definidas através de opgao especifica para configuracao de equipamentos ‘A declaragao de varidveis faz com que modificagses num experimento decorrentes da simples troca de um instrumento de medig&o ou controle nao afetem 0 corpo de descrig&o do experimento, j4 que os instrumentos sero sempre referenciados pelos nomes de variaveis. I11.4.2.3 - Descrigdo do Circuito A descrigéo do circuito, quando da programagao e execugao de testes analégicos, ser de interesse para permitir ao aluno escoiher @ selecionar com maior facilidade os pontos do circuito onde se deseja aplicar ou medir sinais. A visualizagdo do diagrama esquemiatico do circuito em tela poderd ser um auxilio para checar, por exemplo, se a montagem esta correta. O netlist do circuito esta incluido na descrigao de programas para © SPICE. Essa descrigéo, porém, nao inclui algumas informagoes adicionais necessarias & descrigéo de um diagrama, como as posigdes e escalas de cada elemento do circuito no diagrama esquematico. Nossa proposta inicial foi adicionar-se, ao final de uma linha de descrigéo de um elemento do circuito, essas informagées. Estudos mais detalhados nesse sentido deverao ser promovidos a fim de verificar a adequaga0 dessa descrigao, dado que diversos simuladores comercialmente disponiveis incorporam atualmente programas de captura esquematica. A descrigao de um circuito para 0 SPICE poderd incluir também a definigao de modelos de dispositivos (descritos através do comando .MODEL). Esse tipo de definigéo nao sera de interesse ao SAD quando da execucgdo do experimento e nao sera utilizado pelo programa de medidas. Na visualizagéo do diagrama elétrico, os subcircuitos seréo apresentados como blocos, devendo ser possivel a visualizagéo do contetdo de cada bloco através de operagdes de Zoom 11.4.2.4 - Descrigdo dos Estimulos a serem Aplicados Os estimulos a serem aplicados ao circuito séo descritos de maneira andloga & do SPICE, sendo necessério que as variaveis sejam previamente declaradas, conforme descrito na segao II.4.2.1. Para a definig&io dos estimulos, devem ser consideradas as caracteristicas do hardware instalado, pois isso afetaré, por exemplo, as faixas de valores para amplitudes e outros parametros permitidos para os estimulos. Os estimulos sero descritos de trés formas distintas: a) pela definiggo de fontes de estimulos; b) através de parametros que definem o controle dos instrumentos durante os procedimentos de medidas; ¢) pela definigéo de varidveis nao elétricas (como, por exemplo, temperatura). E importante observar que alguns dos comandos propostos apresentarao resultados que poderiam ser obtidos através de outros comandos mais genéricos. A inclusdo desses comandos teve duas motivagdes basicas: a) facilitar ao usuario a descrigéo de algumas das medig6es mais freqdentemente utiizadas; b) oferecer maiores facilidades para a compatibilizacao entre programas de simulagéo e de medig6es. a) Fontes de Alimentacao e Sinais A descrigao de estimulos (fontes de alimentagéo e geradores de sinais) inclui fontes de tensdo ou de corrente e a sintaxe desses comandos sera idéntica 4 do SPICE, com excegdo das especificagoes de sinais transientes. Nesse caso, além das op¢ies disponiveis no SPICE (EXP, PULSE, PWL, SFFM e SIN), foram incluidas opgdes especificas para a definigao de formas de onda quadradas ("QUA’) e triangulares ("TRI"). O formato para a definigdo desses transientes é descrito a seguir. TRI ( val_de amplitude frequéncia ) onde val_de = valor DC da tens&o ou corrente. amplitude = Amplitude da tens&o ou corrente. freqiéncia= _ frequéncia do sinal (em Hertz) QUA ( val_de amplitude frequéncia ) onde val_de = valor DC da tens4o ou corrente. amplitude = Amplitude da tensao ou corrente frequénci = frequéncia do sinal (em Hertz). Mais uma vez, devemos ressaltar que o nome da varidvel deve estar associado a um equipamento especitico, j4 que diferentes tipos de estimulos poderdo corresponder a diferentes equipamentos. b) Comandos de Procedimento de Medidas Os comandos de procedimento de medidas definem um conjunto de estimulos a serem aplicados ao circuito, um conjunto de respostas e serem medidas, 0 atmazenamento de resultados e pausas do experimento (por exemplo, para o acoplamento de instrumentos ou para ajustes de escalas dos mesmos). Sob a Optica da definigo da linguagem, os comandos de procedimento de medidas podem ser divididos em dois subgrupos. O primeiro deles reine comandos derivados de comandos de andlise do SPICE (.AC, .DC, TRAN). O segundo grupo retine os comandos definidos especificamente para a linguagem de descrigaio dos experimentos, visando basicamente & medi¢éo de grandezas que para o SPICE sao definidas como pardmetros ou constantes e a facilidade de programagao das medidas mais comumente realizadas. Um comando de procedimento de medidas correspondera, em tempo de execucéo do experimento, a seguinte seqliéncia de etapas (simplficada): 66 1) 0 sistema de software: 1.1) Interpreta um comando de procedimento de medidas. 1.2) Se necessario, busca e interpreta o comando de definig&o de respostas (,PRINT) associado a ele. 1.3) informa ao usudrio as montagens necessdrias & ‘execugdo das medig6es. 1.4) aguarda confirmagao do usuario de que a montagem foi completada. 2) 0 aluno 2.1) faz as montagens e ajustes de instrumentos indicados pelo sistema de software. 2.2) confirma (ao sistema de software) que a montagem esté completa 3) 0 sistema de software 3.1) faz a aplicagao de estimulos ao circuito. 3.2) mede as respostas necessdrias. 3.3) armazena os resultados. 3.4) Volta ao item 3.1 Podemos observar que as etapas do passo 3 correspondem a execugao do experimento em si. O sistema de software responsavel pela execugaio do experimento deve prever a interrupgao (e eventual retomada) do experimento em qualquer uma dessas elapas. Essas interrupgoes poderéo ser ocasionadas por: a) comandos de controle de execugao definidos no programa do experimento; b) interrupcao interativa do experimento, através do teclado; ¢) necessidade de ajuste de escalas dos instrumentos (de forma interativa ou através do controle automdtico dos instrumentos pelo préprio sistema de software) Em qualquer um dos casos de interrupao do experimento acima descritos, serd possivel retomar a execugéo do experimento desde o inicio ou a partir do ponto em que este foi interrompido. A motivagéio basica da utilizagao dos comandos derivados do SPICE foi a compatibilizagdo entre as linguagens de simulagao e de descrigao dos experimentos. Em geral, os comandos de andlise do SPICE so a esséncia das simulacdes realizadas e, portanto, é de grande valia a capacidade de intercambiar esses comandos com a linguagem de descrigao dos experimentos. A proposta da linguagem inclui os comandos .AC, .DC e .TRAN, que terao sintaxe idéntica aquela utilizada pelo SPICE, com modificagdes seménticas impostas @ realizagao dos experimentos, as quais sero descritas mais adiante Deve-se observar que nao foram incluidos os comandos .DISTO e -NOISE. Para esses comandos haveria a necessidade da utilizagao de instrumentos especializados para a realizagéo do experimento e/ou da aplicagao de tratamentos matematicos aos resultados. Estudos futuros poderao avaliar a viabilidade e conveniéncia da implementagéio desses comandbs. 67 Os comandos de procedimento de medidas derivados dos comandos de andlise do SPICE, quando utilizados, deveréo obrigatoriamente ser usados em conjungdo com o comando .PRINT, através do qual serdo definidos os resultados a serem armazenados. © segundo grupo de comandos de procedimento de medidas, que inclui_ os comandos definidos especificamente para a linguagem de descrigao do experimento, foi definido de forma que um Unico comando inclua a descrigéo dos estimulos a serem aplicados ao circuito e as Tespostas a serem medidas (deve-se notar que no SPICE usa-se, em geral, um comando de andlise seguido de um comando PRINT ou .PLOT). A descrigéo de estimulos e respostas num mesmo comando facilita a programagao do experimento. © comando *.CURV" permite a aplicagéo de sinais a pontos especificos do circuito e a medigéo de dados e geracéo de tabelas para outras grandezas mensuraveis pelo sistema. O usuario deverd definir uma ou duas varidveis de varredura (que correspondem aos sinais a serem aplicados) e até dez varidveis a serem medidas (respostas aos estimulos ‘ou parametros). As varidveis a serem medidas poderao ser tenses, correntes ou pardmetros medidos diretamente. Este comando é semelhante ao comando *.DC", com as seguintes diferengas: a) néo hd a necessidade de definir-se um comando adicional (".PRINT’) para a descrigdo das respostas a serem medidas ; b) as variéveis medidas podem incluir quaisquer parametros diretamente mensuraveis pelo sistema. Sdo descritos a seguir os parametros utilizados para este comando. .CURV vary ming maxt nptost var2 ming maxz nptos2 (part [ par2 Lf parn}]]) onde varx= nome légico da varidvel de varredura (eixo X). min= valor minimo para a variével de varredura max= valor maximo para a varidvel de varredura. npios = _ numero de pontos (amostras) a serem medidos. part, parg, parn= nomes légicos das variaveis a serem medidas © comando “BODE” permitiré a medigéo de dados que determinem a resposta de um sinal em fung&o da freqiéncia (curvas de Bode). A tabela de saida gerada por este comando deverd relacionar a frequéncia contra (vare / vari). Este comando é uma particularizagéo do comando *.AC”, tendo sido incluido por ser um tipo de medicéo muito frequentemente realizada. O formato do comando é descrito a seguir. 68 .BODE vart vars freqs freq2 nptos onde varr= _variével de entrada para mediggo da resposta em frequéncia (médulo e fase). vare= _variével do ponto de saida (médulo e fase). freqi= _ trequéncia inicial para as medig6es. frequéncia final para as medig6es. numero de pontos medidos por década. (Vide observagées). © comando “IMPE” permitira o controle de equipamentos para realizar medigdes voltadas a verificacao de valores de impedancia entre dois nés do circuito em fungdo da freqiiéncia aplicada ou outro parametro, como tensao ou temperatura. Nao ha correspondéncia deste comando com nenhum comando do SPICE. Os parémetros para o comando so descritos a seguir. AMPE. entr paramt paramz nptos sait [ saiz[... [ sain ]]] onde entr = nome da varidvel associada ao sinal de entrada. param = Valor inicial do parametro de estimulo para a analise. Valor final do parametro de estimulo para a andlise. nptos= — nGmero de pontos medidos. (Vide observagées). ‘Sait, Sai2, Sain = nomes das varidveis associadas aos nés a serem medidos. param: Observagées: Para os comandos *.BODE" e “.IMPE", o parametro nptos define o niimero de pontos a serem medidos. O usuério pode definir © numero de pontos por décadas (que ¢ 0 default), por oitavas ou em termos absolutos (linear), acrescentando-se uma letra imediatamente apos © valor do numero de pontos. Ser&o aceitas as letras "D", ‘L" e “O", representando respectivamente décadas, linear e oitavas. ¢) Definigdo de Parémetros A definigao de pardmetros refere-se a aplicacéio de estimulos nao elétricos ao circuito, como 6 0 caso da temperatura. 69 A aplicagdo desse tipo de estimulo ao circuito podera ser realizada através do comando “. PARAM’, analogo ao comando .PARAM do SPICE. Ao se aplicar um estimulo nao-elétrico ao circuito, o sistema de software responsdvel pela execugéo do experimento devera _interromper temporariamente o experimento até que a variével associada ao parémetro atinja seu valor nominal e se estabilize. Por exemplo, se 0 pardmetro for a temperatura, pode ser necessario um intervalo de tempo razoavelmente grande até que o circuito atinja a temperatura definida no programa e, nesse caso, 0s testes ndo devem prosseguir antes disso pois, dessa forma, estariamos realizando medig6es espurias. No caso especifico da temperatura, pode-se definir também o comando “.TEMP", que tera sintaxe idéntica & do SPICE. 1.4.3.6 - Comandos de Controle da Execugéo Na definigéo dos programas para medidas analdgicas sera bastante comum que 0 usuario agregue, em um Unico programa, mais que um tipo de teste. Por exemplo, ele pode realizar, no mesmo programa, a medida do ponto de operagao e do ganho de um circuito. E, portanto, de interesse do aluno que existam recursos que permitam a ele interromper temporariamente a execugéo de um determinado teste, devendo haver a possibilidade de retomé-lo ou de abandoné-lo. Os comandos de controle da execugéo do experimento implementaréo esses recursos, permitindo que se interrompa ou cancele um experimento antes de seu término ou ainda que se execute passo a passo 0 experimento. Para que os comandos de controle da execugdo tenham efeito, 6 necessdrio que o sistema de execucdo das medidas possuam, além do modo de operacao automatico, um modo de operagéo manual ou interativo. ‘Ao se interromper um teste, 0 sistema deve migrar do modo automatico para 0 modo de programagao interativa, permitindo que o usuario redefina caracteristicas dos testes, realize andlises parciais dos resultados, modifique o circuito e, eventualmente, retome a execugao. © comando ".PAUSA" permitiré ao operador definir pontos especificos para pausas (‘breakpoints’) no programa. Se utilizado com os pardmetros ON ou OFF, definira se 0 programa 6 ou n&o interruptivel através do teclado. A interrupgao do experimento por meio do teclado sera realizada pressionando-se uma combinagao especifica de teclas. © comando “.PASSO" permitiré ao usudrio executar passo a passo um determinado trecho do programa do experimento. Com 0 modo passo a passo ativo, o sistema interromperé a execugao dos testes a cada linha de comando executada. O estado default para o sistema sera a execugdo passo a passo desabilitada. 70 © comando “.ABORT” permite que 0 usuario defina um conjunto de condigdes que, caso ocorram, provoquem o término imediato do experimento. Este comando permite, por exemplo, que sejam evitadas condigdes que possam vir a danificar o circuito, como overflows e underflows. A expresso que define a condigao de parada podera conter como operandos valores absolutos, valores de parametros e varidveis do Circuito. Deve-se observar que, durante a execugéo dos experimentos, 0 sistema de software podera (e devera) realizar interrupg6es automaticas do programa, seja para o acoplamento de instrumentos ao circuito, para ajustes de escalas de equipamentos ou por outros motivos de natureza semelhante. Essas interrupgdes do experimento podem ou nao ser preceptiveis pelo usuario. 11.4.3 - Aspectos da Implementagéo. Na implementagao do interpretador para a linguagem de medidas analdgicas, alguns aspectos referentes ao hardware voltado & aquisigaio dos dados podem influenciar em alguns tatores como, por exemplo, 0 numero de equipamentos disponiveis, as faixas de valores aceitos, etc. Sugere-se que na implementagso do sistema de execugéo de medidas analdgicas, as informagées sobre os equipamentos disponiveis e suas caracteristicas sejam configuraveis pelo usuario e que essa informagées de configuragao sejam acessiveis ao interpretador do programa do experimento, a fim de permitir que ele acuse erros na definigéo de equipamentos. Conforme foi citado anteriormente, na geragao de programas para medidas analdgicas a partir de programas do SPICE e vice-versa, alguns comandos serao desconsiderados, em fungao das diferentes caracteristicas entre simulagdes e medidas. Apesar dessas informagdes serem desconsideradas, elas deverdo estar presentes nos programas gerados (por exemplo, na forma de comentarios com delimitadores especiais), a fim de possibilitar uma posterior conversao no sentido inverso sem que haja perda de informagdes do programa original. nm IV - Tratamento e Analise de Resultados (STAG) © STAG - Sistema de Tratamento e Andlise Grafica de Dados 6 0 subsistema do SAD que da apoio ao tratamento e andlise de resultados de medidas. Através do STAG, o aluno podera visualizar graficamente resultados de medidas e simulagdes e tera a sua disposigéo um conjunto de ferramentas voltado andlise desses resultados. ‘Atuando de forma interativa e com as ferramentas de andlise, 0 sistema deveré permitir ao usuario ampla capacidade de manipulagao dos dads, tanto no que se refere a visualizago grafica quanto na realizago de andlises comparativas entre resultados de testes e simulagoes, andlises estatisticas, extragao de parametros de dispositivos, entre outros. Uma verso inicial do STAG foi implementada e encontra-se atualmente em fase de beta-testes. Para essa versdo ial esto disponiveis somente as operagées consideradas essenciais & utllizagdio do sistema. Algumas fung6es adicionais encontram-se em fase de testes de integragao. Apresentamos no anexo Ill 0 manual de usuario do STAG para a versao inicial, Faremos neste capitulo uma descrigéo geral do STAG, passando em seguida & especificagao de requisitos de software, A descrigao das caracteristicas mais relevantes da implementagao e, por fim, a discuss&o das principais evolugées previstas para versées futuras. IV.1 - Descrigdo Geral do STAG 1V.1.1- Perspectivas do Sistema © STAG destina-se ao tratamento e andlise de resultados de medidas e de simulagdes de desempenho analdgico e paramétricas, tendo como ambiente-alvo os laboratérios de eletrénica de universidades e escolas técnicas. O STAG inclui-se como uma das varias ferramentas que comporao 0 SAD - Sistema de Aquisigéo de Dados. Atuando de forma integrada, o SAD e o SDP - Sistema Didatico de Projetos, deveraéo compor um ambiente completo voltado aos laboratérios. Dentre as andlises permitidas através do STAG, destacam-se aquelas voltadas & comparagao entre resultados obtidos através das simulag6es e resultados das medidas efetuadas. © grupo de usuarios previsto para o STAG deveré ser composto por alunos de graduagao e de pés-graduacao de cursos ligados a area de eletrénica, 1V.1.2- Conceitos e Definigdes Durante a realizagdo de testes @ simulagbes de um circuito é bastante comum que o aluno gere um numero relativamente grande de tabelas de resultados para 0 posterior levantamento de curvas, tabelas estas que dizem respeito a diferentes estudos acerca do circuito e que estardo contidas em diversos arquivos de dados. A fim de permitir a0 aluno uma melhor organizagéo durante a realizag&o dos tratamentos e analises de resultados, criou-se no STAG uma estruturacéo hierérquica para a organizagéo das informag6es pertinentes a um mesmo projeto. Estabeleceremos a seguir os conceitos e definigées associados & hierarquizagao dos dados realizada pelo STAG para os experimentos. + Projeto: Para 0 STAG, um projeto tem associados a si um conjunto de arquivos de dados a serem analisados e um arquivo onde o aluno poder efetuar anotagées referentes ao projeto (chamado de arquivo de anotagées). Na verso atual do sistema, um projeto pode ter associados a si até dez arquivos, de dados e um tnico arquivo de anotagées. 3B Arquivos de Dados: Estes arquivos deveréo conter basicamente tabelas de dados com os resultados de simulagdes e medigées realizadas pelo aluno. Na versao atual do sistema, cada arquivo de dados podera conter até dez tabelas diferentes. © sistema seré capaz de interpretar arquivos de dados no formato de saida do SPICE, arquivos de resultados de medidas do proprio SAD ou arquivos gerados por ferramentas externas, conforme formato especifico definido no anexo |. Arquivo de Anotagées: Este arquivo deverd ser utilizado pelo aluno para registrar dados e observagées de interesse acerca das analises por ele realizadas. As anotagdes poderao ser realizadas de forma automatica pelo STAG ou manualmente, através de um editor de textos. Tabelas de Dados: As tabelas de dados deverdo relacionar um conjunto de valores para duas ou mais varidveis correlatas. As tabelas poderfo representar uma curva, um conjunto de curvas ou ainda familias de curvas. A organizagao da tabela devera ser feita na forma de linhas e colunas, sendo que cada coluna corresponderd a uma varidvel. Para o tragado das curvas, a variavel correspondente & primeira coluna da tabela sera tomada como a variavel de varredura. As demais colunas serao tomadas, uma auma, como fungées da varidvel de varredura. Tratamentos voltados @ representagao grafica de fungdes de mais de uma varidvel serao realizados na forma de familias de curvas, conforme discutido a seguir. Na verséo atual do sistema, uma tabela de dados poderd conter até dez variaveis. Familias de Curvas: Como discutimos anteriormente, o STAG permite somente 0 tragado de curvas em duas dimensées (fungdes de uma variavel). E conveniente, porém que seja possivel ao aluno realizar analises sobre tungdes de mais de uma varidvel. Uma fungéo de n variéveis, pode porém ser representada em duas dimensoes, através da parametrizacao de (n-1) variéveis. Como resultado dessa parametrizacao obtém-se um conjunto de curvas, uma para cada combinacao de valores das variaveis parametrizadas. Esse conjunto de curvas. 6 chamado de familia de curvas. Curvas: Para o STAG, define-se como uma curva a representagao grafica de uma sequéncia de coordenadas (x,y), que em geral expressam uma funcdo de uma variavel ( y= F(x). A figura 13 apresenta um diagrama da hierarquia estabelecida entre os diversos elementos acima definidos. 14 Projeto ee Arquivo de Notas Arquivos de Dados Tabelas, Cunvas Familias de Curvas Figura 13 - Hierarquia entre Elementos de Projeto no STAG 1V.1.3 - Suposigdes, Dependéncias e Restrigées © STAG {oi proposto tomando como suposigéo basica que o ambiente de execucao seré aquele definido na segdo II.2 deste trabalho. Considerando-se que 0 STAG deverd operar basicamente em modo grafico, deve-se considerar que 0 uso de monitores de video de baixa resolugéo podera afetar de forma significativa a capacidade de visualizagao grafica dos dados. E suposto também que os usuarios do STAG tenham conhecimentos basicos de operacao de microcomputadores. 1V.2 - Especificagao de Requisitos 1V.2.1 - Requisitos Funcionais Conforme foi citado anteriormente, 0 STAG devera, a partir de dados de resultados de testes e simulag6es, permitir ao aluno executar um conjunto de fungdes de tratamento e andlise, através dos quais poderao ser extraidas informagées sobre 0 comportamento analdgico dos circuitos e, a partir destas, dados sobre pardmetros fisicos @ elétricos de dispositivos, bem como dados para a otimizagéo dos mesmos. Além disso, 0 STAG deverd permitir também a realizagéo de andlises comparativas entre resultados de testes e simulagées. 15 Do ponto de vista de organizagéo interna de suas fungdes, 0 STAG pode ser particionado nos seguintes médulos: + Leitura e Conversdo de Formato de Dados de Entrada - Tragado e Tratamento Grafico de Curvas + Calculos e Analises matemético-estatisticas + Gerenciamento do Projeto + Extragao de Dados Paramétricos e para Otimizagéo © ciagrama apresentando os relacionamentos entre 0s médulos acima descritos e os dados de entrada e saida do sistema € apresentado na figura 14. ki jiados Go| el Fisuliadbe oe Medicas Leitrae Converse dos coreniamonta ‘Dados ce ‘obey Entrada es [Daas Daa es Tabelas de Dade Tragado Tratamento ei ae Cciovlos @ ( Giicoase Paniniteoss andes fora Ounces rratendtcas¢ stations = Figura 14 - Principais Médulos Funcionais do STAG 1V.2.1.1 - Descrigao das Operagdes Basicas O STAG deverd oferecer ao aluno um conjunto de fungdes que Ihe permitam realizar as sequintes operagées: 16 « Tragado e Tratamento de Curvas + Calculos de Regressdes + Calculo de Transformadas de Fourier + Calculos e Andlises Estatisticas Basicas « Comparagées de Resultados de Testes e Simulagdes + Extragéio de Parametros de Dispositivos + Extragao de Dados para Otimizagéo + Configuragéo do Sistema Com vistas a uma melhor organizacao das atividades do aluno, as operagées acima descritas foram agrupadas da seguinte maneira: + Operagées para Definic&o do Projeto + Operagées sobre Arquivos + Operagdes de Tratamento dos Graticos + Operagées de Andlise dos Dados + Operagdes de Configurago do Sistema Descreveremos a seguir cada um desses grupos de fungées, nao nos preocupando, por enquanto, com detalhes do aspecto de interagao entre o aluno e o sistema. Esses detalhes sero discutidos na segao IV.3, que trata da implementacéio do STAG. a) Operagées para Definigao do Projeto As operagées voltadas & definig&éo do projeto permitiréo que 0 usuario defina as conjuntos de dados a serem analisados e caracteristicas particulares desses dados, além dos relacionamentos entre eles. Estarao disponiveis ao aluno as operagées basicas de criagao, modificagéo, exclusao (eliminagao) e consulta aos dados de um projeto Um projeto tem associados a si um conjunto de até dez arquivos de dados um Unico arquivo de anotagdes. Cada um dos arquivos de dados poder conter até dez tabelas de dados, e cada uma das tabelas de dados podera descrever uma curva, um conjunto de curvas distintas ou uma famflia de curvas. O arquivo de anotagdes permitiré que o aluno realize anotag6es de intormages acerca dos estudos e andlises realizadas. Considerando-se que a definicéio do projeto tem como tinico objetivo permitir ao aluno uma melhor organizagéo das informagées durante a andlise de resultados, ela nao seré obrigatéria para a utilizago do sistema. Considerando-se porém que, em geral, a quantidade de tabelas e arquivos de dados envoividas no processo de andlise é grande, a definigdo do projeto é fortemente recomendada. 7 b) Operagdes sobre Arquivos © conjunto de operagées sobre arquivos reine as operagdes voltadas & manipulago dos arquivos de dados e de anotagoes, além de algumas fungdes acessorias. Estardo disponiveis as seguintes operagées: + Ler Dados + Gravar Dados + Anotagées + Consultar Diretério Acperagao de leitura dos dados permitira que sejam lidos arquivos de dados no formato de saida do simulador SPICE ou no formato gerado pelo SAD. Para arquivos gerados pelo SPICE, o sistema 6 capaz de extrair automaticamente as tabelas de dados geradas para os diferentes tipos de analise (AC, DC, transientes, distorgao e ruido). A implementagao dessas fungdes deve ser realizada de forma a permitir que futuramente sejam suportados outros formatos dos dados de entrada. Ao ser lida uma tabela de dados, as curvas nela definidas séio automaticamente apresentadas em tela. Um dos compromissos basicos do STAG 6 permitir ao aluno tealizar andlises comparativas entre resultados de medidas efetuadas e simulagées. Para tal, 0 sistema permitira que sejam lidos e mantidos simultaneamente em meméria dados de diversos arquivos (no maximo 10, na versao inicial), Através da operagao de gravagao de dados é possivel ao aluno armazenar num arquivo em disco uma tabela em formato texto contendo os dados atualmente apresentados em tela. ‘A operacao de Anotagées da acesso a um editor de textos, onde o aluno podera modificar 0 arquivo de anotagdes associado ao projeto atualmente carregado. O arquivo de anotagdes podera conter informagdes geradas automaticamente pelo STAG (como resultados de operagoes de andlises) e dados digitados pelo usuario, através do uso do editor de textos, A operagéo de consulta a diretérios permitira ao aluno verificar arquivos presentes num determinado subdiretério em disco. c) Operagées de Tratamento dos Graficos As operagées voltadas ao tratamento dos grdficos permitem o tragado de curvas na tela e a realizagéio de um conjunto de operacées de tratamento visual dessas curvas. Incluimos também neste grupo de {ungdes, alguns recursos que nao manipulam diretamente as curvas, mas que estdo associados visualizagao dos graficos. 8 Diversas operagoes de tratamento dos dados podem também ser utilizadas no auxilio A andlise de caracteristicas especificas das curvas. A figura 15 apresenta um exemplo de tela do STAG, destacando as principals caracteristicas ligadas as operagées de tratamento dos graficos. et STAG. Sisioma de Tatamanto © Andive Grafica ts posers Dr tS EOD By 1888 Eb DyiDx: 1.307 €02 ‘Wesel Goths Rea Lex La Fp FGrode FUL Toem Fer F6VanK Face FRE renee leste ce co ears Figura 15 - Detalhes de tela para operagées de tratamento c.1) Cursor © cursor sera um dos recursos basicos as operagées de tratamento e andlise dos graficos. © usuario podera selecionar dois métodos diferentes de movimentagao do cursor. O primeiro deles, que chamaremos de movimentagao normal permite que o cursor se desloque livremente pela regio do grafico na tela. O segundo restringe a movimentagéio do cursor, permitindo que se caminhe somente sobre pontos das curvas tracadas. Este segundo método de deslocamento do cursor é bastante util quando o usuario quer verificar valores exatos das coordenadas dos pontos das curvas, dado que a apresentagéo das mesmas na tela é limitada pela resolugao grafica do monitor de video e pode introduzir imprecisbes oriundas de arrendondamentos de valores. Outra fungdo relacionada ao cursor 6 a definigéo do tipo de cursor. Esta fungao permite que 0 usuario escolha o formato do cursor a ser mostrado na tela. A versao inicial do STAG possibilita 0 uso de um cursor em formato de cruz (que 6 0 default do sistema), em formato de circunferéncia ou na forma de linhas paralelas aos eixos do grafico. 19 ¢.2) Grade ‘A fungéo grade nao afeta as curvas propriamente ditas, mas apresenta-se como um recurso de interesse na visualizacéo das mesmas. A grade 6 um conjunto de linhas tracejadas paralelas aos eixos Xe Y, usadas para faciltar a associagao visual de valores de pontos das curvas com as escalas dos eixos. O aluno podera ativar ou desativar a grade a qualquer instante durante a visualizagéo do grafico, conforme julgar conveniente. ¢.3) Tipo de Tracado Deverd ser permitido ao aluno escother a forma como os dados sao representados graficamente na tela. O STAG devera oferecer trés tipos de tragado + Tragado por Pontos + Tragado Poligonal + Tragado Interpolado No tragado por pontos séo mostrados na tela somente os pontos definidos na tabela de dados. O tragado poligonal mostra os dados interligando pontos consecutivos da tabela através de segmentos de reta e © tragado interpolado é realizado calculando-se uma fungao B-Spline a partir dos pontos da tabela e depois tracando-se a curva a partir dessa jungao Ouso de diferentes tipos de tragados é de importancia no sistema, pois dependendo do tipo de analise que o aluno deseje, hd a conveniéncia de um ou outro tracado. Por exemplo, para anélises de dispersao 0 aluno poderia selecionar 0 tragado por pontos, para o tragado de uma curva suave 0 uso de retas poligonais pode ser interessante e para curvas onde haja poucos pontos na tabela o tracado interpolado pode ser desejavel. c.4) Tipo de Escala A fungéo Tipo de Escala permite ao aluno selecionar escalas lineares ou logaritmicas para os eixos X @ Y do grafico. Esse recurso oferece ao usuario maior facilidade na andlise de curvas de fungées logaritmicas. 80 ¢.5) Varldvels para o Grafico No tratamento dos graficos, seré comum que 0 usuario tenha varias curvas (correspondentes a uma ou a varias tabelas) simultaneamente na tela. Num dado instante porém, é comum que ele deseje analisar 0 comportamento de apenas algumas delas, caso onde um niimero excessivo de curvas pode tornar desconfortavel a andlise. A fung&o Varidveis do Gréfico permite que sejam ativadas ou desativadas uma a uma as tabelas e varidveis a serem mostradas nos gréficos. Essa opgao é bastante Util na andlise comparativa entre resultados de simulagdes e de medidas efetuadas. 6) Variavel para o Eixo X Como discutimos anteriormente, na leitura dos dados pelo STAG, a varidvel correspondente a primeira coluna de uma tabela sera tomada como a variével para 0 eixo X e as demais para o eixo Y, tomadas portanto como fung&o de X (ou como pardmetros). Pode ser desejavel, ao longo das analises, tragar uma curva que correlacione duas variaveis que estejam no mesmo eixo. A fung&o Variavel para 0 Eixo X permite ao aluno trocar a variavel do eixo X por qualquer outra variavel do eixo Y pertencente & mesma tabela de dados. Esse recurso 6 de grande importancia, dado que sem ele 0 usuario teria a necessidade de utilizar diversas tabelas para realizar essas mesmas operagées. ¢.7) Varidveis Paramétricas ‘A representacao de fungées de mais de uma varidvel sera feita, conforme discutimos anteriormente, através de familias de curvas. Para uma fungéo de n varidveis, deverd ser feita a parametrizagao de (n-1) delas, definindo assim a familia de curvas paramétricas, A operacdo varidveis paramétricas permitira que 0 usuério escolha, para uma determinada tabela de dados, quais as variéveis que devem ser tomadas como paramétricas para o tragado do gréfico. 81 ¢.8) Zoome Viso Panoramica (Pan) A operacao “Zoom” é subdividida em duas fungdes: Ampliar e Reduzir. A fungao ampliar permite ao usuério selecionar uma regiéo de interesse especifico do grafico e visualizé-la na tela toda, tornando possivel © estudo detalhado da regido selecionada. E permitida a realizagéo de diversas ampliagdes sucessivas, viabilizando assim a visualizagaéo do grafico em diversos niveis de detalhamento. A funcéio reduzir efetua a operagao inversa da ampliagSo, retornando & visualizagéo anterior a ultima ampliacéo. O STAG devera ser capaz de suportar diversos niveis de Zoom. Uma fungéo complementar ao Zoom é a redefinigéo dos limites para o grafico. Para o tragado das curvas, o STAG define automaticamente os limites inferiores e superiores para os eixos X e Y do grafico, de maneira que as curvas sejam apresentadas ocupando a maior area possivel na tela. Através desta fungao 0 usuario pode redefinir os limites do grafico, podendo obter um efgito semelhante ao do Zoom ou ainda obter o efeito de visao panoramica do grafico. ¢.9) Régua Através da fungao régua o sistema permite que 0 aluno mega a distdncia entre dois pontos quaisquer do gréfico, além da inclinagao da reta que passa por eles. Essa fungéo pode ser util, por exemplo, na determinag&o aproximada da derivada de uma curva, com a finalidade de estimaco do valor de um parémetro do dispositive em estudo. ¢.10) Imprimir Dados ‘A fungdo Imprimir nao diz respeito diretamente ao tratamento grafico dos dados mas foi incluida neste grupo de fungées. Por meio desta ‘opgao 0 usudirio pode imprimir somente 0 subconjunto de dados que esta atualmente sendo visualizado. Os dados referentes as varidveis marcadas como inativas e, caso 0 zoom esteja ativo, os dados que ndo pertencem & janela de zoom nao sero impressos. A fung&o imprimir permitira ao aluno imprimir um hardcopy do gréfico mostrado na tela ou ainda uma tabela de dados correspondente aos pontos atualmente visualizados. 4) Operagées de Andlise dos Dados As operagdes de andlise dos dados devem permitir ao aluno a aplicagdo de diferentes métodos mateméticos e estatisticos sobre os dados em estudo, visando & analise dos resultados e a extragao de parametros de dispositivos. 82 Para a versio inicial do STAG foi definido um conjunto considerado minimo de operagées de andlise, o qual podera ser ampliado conforme as necessidades verificadas com a utilizagao do sistema nos cursos. Dentre as operagdes a serem implementadas futuramente, destacam-se aquelas voltadas & extragéo de parametros de dispositivos e de dados para otimizagéo de forma mais automética, incorporando, por exemplo, informagées sobre diferentes modelos de dispositivos. A implementagao deve preocupar-se com a modularidade, de forma a facilitar a ampliagao das fungées de andlise. ‘As operagées de andlise dividem-se em trés grupos: + Regressdes + FFTs + Estatisticas Basicas Para quaisquer das andlises acima definidas, 0 usuario poderd aplicar a operagao a uma Unica curva por vez. Os resultados das operagées de andlise seréo apresentados graficamente na tela e, caso seja conveniente, poderéo ser também visualizados em formato texto e/ou armazenados em disco, no arquivo de anotag6es. Para a extragao de parametros de dispositivos e de dados para otimizagao, 0 aluno deverd efetuar as andlises e tratamentos dos graficos e, em seguida registrar os valores obtidos no arquivo de anotagées, através do editor de textos. Verses futuras do STAG deverdo oferecer recursos para simplificar a extragéo de parametros e dados para a otimizagao, incorporando, por exemplo, definigdes de modelos de dispositivos. 4.1) Regressées As operag6es de regressées permitem que, a partir de um determinado conjunto de pontos de uma curva, sejam realizadas extrapolagdes que podem, por exemplo, estimar valores de pardmetros dos dispositivos sob estudo. figura 16 apresenta um exemplo da tela obtida apés a realizacao de uma operagao de regressao. Para as operagées de regressdes estarao disponiveis quatro métodos basicos: + Regressées Lineares + Regressées Polinomiais + Regressdes Geométricas + Regressées Exponenciais 83 ‘STAG. Sistema de Tialamonto 6 Andlse Gréfica Figura 16 - Exemplo de Tela com Resultados de Regressées Para qualquer uma das regressdes, apés terem sido efetuados os calculos, 0 sistema mostraré na tela a curva com os valores tabulados da variavel escolhida, além da curva obtida através da regressao. Opionaimente, 0 aluno poderd verificar as equagbes que definem as curvas calculadas através das regress6es, sendo possivel registrar, de forma automdtica, esses resultados no arquivo de anotagses. ‘A regresséo linear ajusta as coordenadas da curva escolhida pelo aluno através da equag4o de uma reta. O método aplicado para o ajuste da curva € 0 dos mfnimos quadrados. A regressao polinomial realiza o ajuste da curva por um polindmio de grau n. Ao selecionar este tipo de regressao o usuario devera definir o grau do polinémio a ser calculado. Na versao inicial o grau de polinémio devera ser menor ou igual a 10. Na regresséo geométrica, 0 método aplicado é também o dos minimos quadrados e 0 ajuste da curva 6 realizado segundo uma equacao do tipo: y=Ax® onde Ae B s&o 0s coeficientes a serem determinados pela regressao. Para a regressdo exponencial, serd calculada a fungéio exponencial que melhor aproxima os pontos da curva escolhida pelo usuario. A fungao exponencial pode ser descrita pela equacao: 84 y=Ae®% onde e 6 a base neperiana e Ae B so 08 coeficientes que definem a exponencial, d.2) Transformadas de Fourier (FFTs) As andlises pelas Transformadas de Rapidas de Fourier (FFTs) permitem que, a partir de uma sequéncia de amostras de um sinal analégico discretizado, esse sinal seja decomposto em fungéo de um conjunto de sinais senoidais com frequéncia e fase definidos e tais que a somatéria deles seja equivalente ao sinal analégico tomado iniciaimente. O STAG permitira a0 aluno 0 caloulo de FFT direta ou inversa de um inal. Os resultados da FFT so mostrados graficamente na tela e, caso © usuario deseje, poderao ser automaticamente registrados, em formato texto, no arquivo de anotagées do projeto. Vers6es futuras do STAG deverdo permitir um maior numero de calculos associados as FFTs, como convolugao e correlagao. A figura 17 apresenta 0 formato geral da tela em que serao apresentados os resultados graficos dos céleulos das FFTs. [STAG Sistema de Tratamer we nlee Gaia «AO _—Y Wart Bi Real ers ep {acs | ard OF Figura 17 - Exemplo de Tela com Resultados de FFTs 4.3) Operagées Estatisticas As andlises estatisticas permitem ao aluno realizar um conjunto de operagées estatisticas basicas, visando a realizagéo de medidas de tendéncia central e de dispersao das amostras em estudo. 85 Na versao atual foi estabelecido um conjunto minimo de operagbes estatisticas, para distribuigdes gaussianas. Sao elas: + Média + Moda + Mediana + Desvio Médio + Desvio Padrao + Variancia - Coeficiente de Variagéo + Distribuigéio de Frequéncias Ao ser selecionada a opgao de andlises estatisticas, o sistema calcularé automaticamente todos os valores descritos acima, mostrando graficamente na tela os valores da média e da mediana. O usudrio poderé selecionar também a visualizago de um grafico de barras (histograma) mostrando a distribuigéo de frequéncias da varidvel sob andlise. Ele podera definir os limites inferior e superior para o grafico, bem como o nimero de intervalos (numero de barras no grafico). Em versées futuras poderao, por exemplo, estar disponiveis fungdes para cdlculos de médias e desvios entre diversas curvas e anlises de disperséo mais sofisticadas. Poderdo ser realizados também calculos estatisticos com base em outros tipos de distribuigao, através da aplicacao de outros métodos, como por exemplo o de Weibull [Wei51), que é amplamente utilizado na area de qualidade As figuras 18 e 19 apresentam respectivamente os resultados gréficos e numéricos (em formato textual) das andlises estatisticas basicas. A figura 20 apresenta um exemplo do grafico de distribuigao de frequéncias, [STAG Sistema de Tratamento ¢ Andise Gréfca Figura 18 - Resultados Graficos das Estatisticas Basicas 86 ‘Dasve Meds 7: Beevo Paste: 10 Vatinca' 168 Geet Veragas 8199 ep Fede ao Fei Force Foon Fidinr ESC se Figura 19 - Resultados Numéricos das Estatisticas Basicas STAG™ Sisioma de Tratamiento ¢ Andise Grlfca Lh = Lae Foaonon Furnes arm F-race FES Fibre ESE Mee Figura 20 - Grafico de Distribuigéo de Frequéncias e) Operagées de Configuragéio do Sistema As operagbes de configuragéo permitem ao usuario redetinir diversas caracteristicas ambientais do STAG, conferindo assim uma maior flexibilidade de uso do sistema. O STAG deverd oferecer as seguintes opgées de contiguragao: 87 « Configuragao de Cores + Configuragao de Idioma + Configuracéo do Editor de Textos + Configuracao de Periféricos A configuragao de cores permite que 0 aluno defina as cores a serem utilizadas em tela pelo sistema. O usuario poderd selecionar @ modificar individualmente as cores utilizadas para cabecalhos, rodapés, mensagens de erro e adverténcia, para as varidveis e legendas do grafico, para os menus, etc... A operacao configuragéo de idioma devera permitir que seja selecionado 0 idioma a ser utilizado pelo sistema para todas as mensagens por ele emitidas. Esta operagéo é de importancia em um sistema que pretende ser utilizado em paises de diferentes linguas. Através da operacéo de configuragéio do editor de textos, o usuario podera definir qual o editor de textos que seré utilizado pelo sistema, para 2 edigéo do arquivo de anotagées. Seré utilizado como default do sistema 0 mesmo editor de textos disponivel no SDP. Deve-se ressaltar que, dependendo do editor de textos escolhido, o usuario pode ter problemas de falta de meméria e, nesse caso, a solugao serd a utilizagéo do editor default do sistema. A configuragao de periféricos devera permitit ao aluno definir quais os tipos e modelos dos periféricos disponiveis para uso no sistema. Dependendo do tipo de peritérico, 0 aluno devera definir também um Conjunto adicional de caracteristicas do mesmo, como por exemplo o dispositive légico de entrada e saida utilizado, velocidade de comunicagéo da interface, etc... Iniciaimente 0 usuario terd disponivel opgdes para a configuragao de impresoras apenas. Quaisquer alteragdes realizadas na configuragao do sistema seréo validas para a atual sessao de uso do sistema. No instante em que o usuario for sair do sistema, se houver ocorrido alguma modificagao de configuracao, o sistema devera perguntar a ele se deseja ou nao salvar as. alteragdes. 1V.2.1.2 - Bases de Dados © projeto de dados de um sistema é um ponto de grande importancia na sua definicdo, estando estreitamente ligado aos aspectos de sua eficiéncia e consisténcia, influenciando diretamente a qualidade global do sistema, Descreveremos, nas segées seguintes, as bases de dados utiizadas e geradas pelo STAG. As principais estruturas de dados utilizadas para a representagZo interna dos dados serao descritas nas segdes referentes a implementagao do sistema. 88 ‘As bases de dados utilizadas como entradas para © STAG compreendem basicamente dados gerados como, saidas dos testes @ Simulagdes analégicos. A partir desse dados, sero geradas bases de singe ’de saida contendo resultados das andlises @ que podergo Set sacs em oultas etapas da validagso do circuit. Teremos ainda uma tea etta classe de bases de dados que sera de uso exclusivo do STAG (a8 chamaremos de dados proprietérios). Neste ullimo gripe estarao presentes, por exemplo, os dados de configuragao do Sistemi A figura 21 oeerra um diagrama representando o relacionamento do STAG com suas bases de dados. “Dada de Daccrigae doe Manus Gerenciamento ‘Dados de Aisio a0 sa interface Usuario (help) Usuario software - Gerenciamento ‘co Projto Dados da Doscreso ‘& Proto ‘Baaos do Iconiguracao do STAG! Cate [7 vasa naan conver os matomitcase | Dado de Ende /exmnto 6 (sus es Teamerto panmrbness Tabelas de Dados [Dados de Fesutadog ide Simulagbos : (Dados de Resuidos] od oe Testes Figura 21 - Relacionamentos do STAG com suas Bases de Dados ‘As bases de dados utilizadas pelo STAG serao compostas por um ou mais arquivos, que estarao armazenados em disco. a) Bases de Dados de Entrada ‘As bases de dados tomadas como entrada pelo STAG compreendem dados de resultados de simulagoes, gerados pelo simulador SPICE, dados de resultados de testes, gerados pelo SAD e, eventualmente, tabelas de dados geradas por outras ferramentas externas ao SAD e ao SDP, desde que esses dados obedegam ao formato descrito no anexo | 89 Os dados dos arquivos de entrada de interessse pare © STAG serdo basicamente um conjunto de tabelas de dados Me descrevem Se reas de vandvels de uma simulagao ou medigao. Cada tabela de dados Yovera relacionar valores de no minimo duas @ no maximo dez variaveis @ poderd conter até 1024 valores para cada varidvel. Dara arquivos gerados pelo SPICE, além das tabelas de dados propriamente ditas, 0 arquivo contera também informagées sobre a Hoscrigo do circuito, das andlises a serem aplicadas e de outros Fesultados de simulagbes que nao sero de nosso intereste Para esses arquivos, 0 STAG é capaz de verificar ‘automaticamente as andlises (AC, De. de transientes, de distorgao ou de ruidos) para as quais foram geradas ps igbelas de dados. As tabelas de dados capturadas pelo STAG serao Sempre resulfantes de comandos .PRINT definidos no prograr do SPICE. Para os arquivos em formato compativel com o SAD terema® somente as tabelas de resultados, 0 que facilta 0 tratamento por parte do STAG. b) Bases de Dados de Saida Os dados gerados como saida pelo STAG podem ser classificados ‘em dois grupos: dados de anotagbes de projeto e tabelas de dados. Bara um determinado projeto, os dados de notas de projeto estar armazenados num unico arquivo, em formato texte, O arauivo de gnotagoes poderé conter informagbes geradas automaticamente pelo STAG como € o caso de resultados de andlises (parametros derivados da aplicagéio de regressdes, FFTs ou estatistioas), informagbes digitadas cemuaimente pelo usuario, através do editor de textos. O objetivo do arquivo de anotacées é permitir ao aluno manter um registro historico das informagoes extraidas através do tratamento e andlise dos araficos. ‘O STAG permite também que sejam geradas tabelas de dados com og valores correspondentes as coordenadas das curvas apresentadas na tela As tabelas de dados s40 geradas em formato texto, sendo compativeis om os dados de entrada do STAG. AS tabelas de dados serdo geradas sob Gomando do operador e é ele quem definiré os nomes dos arquivos para as mesmas. c) Bases de Dados Proprietarias ‘As bases de dados consideradas proprietarias agrupam os dados que so de uso exclusivo do STAG. Essas bases de dados sao voltadas basicamente a organizacao e flexibilidade do sistema. Incluem-se aqui as bases de dados de descrigao do projeto, os dados de configuragao do sistema, dados de descrigéo dos menus de opgbes © os dados de auxtio ao usuario (help). O formato dos arquivos descritos nesta secdo 6 apresentado em detalhes no anexo | 90 Abase de dados de descrigo do projeto estara armazenada num arquivo texto @ contera as informagées sobre os arquivos de dados e o arquivo de anotagdes associados ao projeto. Para cada projeto definido pelo usuario teremos um arquivo de descrigao do projeto. Na base de dados de configuragdo do sistema estaréo descritas todas as informagdes necessatias para o sistema acerca de sua configuragao atual, como as cores a serem utilizadas para a tela, o idioma, 08 dispositivos de entrada e saida disponiveis, etc... Esta base de dados estard contida num Unico arquivo, 0 qual poderé ser modificado pelo usuario através das operagées de configuragao do STAG A base de dados de help seré composta por um arquivo em disco para cada idioma disponivel ao sistema. No arquivo de help estaréo armazenadas, em formato especifico, todas as telas de auxilio ao usuario disponiveis para o STAG. Este arquivo serd utilizado pelo STAG somente para leitura. A alteragdo dos dados contidos neste arquivo sera realizada através de um utlltério desenvolvido especificamente para esta finalidade [Aff91]. No préprio arquivo estarao descritas também todas as informagdes referentes as palavras-chave e as ligagdes com outras paginas (hotlinks), que estabelecem os diversos contextos de help e a estrutura do hipertexto. ‘Amaneira como foram estruturados 0s arquivos de help do sistema teve forte influéncia de alguns aspectos voltados a manutengao e evolugao do sistema. O fato de todas as informagées que descrevem o hipertexto estarem descritas no mesmo arquivo possibilitam que a alteracéo dos textos que descrevem determinados contextos do help e, em alguns casos até a criagéo de novos contextos, sejam feitas sem a necessidade de modificagao e recompilagao do cédigo do STAG. ‘A base de dados de descri¢éo dos menus seré composta por um arquivo para cada idioma disponivel no sistema. Cada arquivo contera todos os dados necessdrios a descrigéo dos menus, incluindo as mensagens referentes a cada opcao, 0 nimero de subopgées, 0 contexto de help associado, etc... A exemplo do que ocorre com os arquivos de help, diversas alteragdes nos menus podem eventualmente ser realizadas sem a necessidade de alterag&o e recompilagao do cédigo do sistema. © modo como foram estruturadas as bases de dados para o help e para a descrig4o das estruturas dos menus trazem consigo ainda a possibilidade de que se acrescente um novo idioma ao sistema praticamente sem a necessidade de modificagées do obdigo, reduzindo enormemente os esforgos envolvidos nessa tarefa e dispensando a necessidade da alocagéo de um programador que tenha algum conhecimento do sistema para essa tarefa. 9 1V.2.2 - Requisitos de Interface 1V.2.2.1 - Interface Usuario-Software Como discutimos anteriormente, 0 carater didatico proposto para o sistema exige uma interface usuario-sottware que, além de propiciar ao aluno a facilidade de uso, seja capaz de direcioné-lo durante a utilizagao do sistema. Ainda, deverdo estar disponiveis, a qualquer instante, informacdes que 0 auxiliem, tanto no que diz respeito @ operacao do sistema quanto no que se refere a conceitos envolvidos nas suas atividades. O STAG utilizaré menus de opgdes como o mecanismo basico de interag&o do sistema com o usuario. Através dos menus, 0 aluno podera selecionar quaisquer op¢des disponiveis no sistema. A organizagao dos menus deverd agrupar as operagées de forma a facilitar 0 direcionamento das atividades do aluno, Uma forma alternativa de interag&o com o sistema - aplicdvel principalmene a usudrios jé habituados ao uso do STAG - devera set feita através de teclas especiais (hot-keys). Através das hot-keys 0 aluno poderd ter acesso direto & maioria das fungées disponiveis no STAG, sem a necessidade da navegag4o nos menus. O mecanismo de menus de ‘opgdes levou em consideracéio 0 aspecto de uniformidade com outras ferramentas do SAD e do SDP, tendo funcionamento semelhante &s demais ferramentas. Deveréo estar disponiveis a qualquer instante, informagées de auxilio ao usuario (help), através da tecla . O sistema de auxiio ao usuario deverd ser implementado na forma de hipertexto, a partir das ferramentas propostas em [Af91]. Dessa forma, o aluno podera “caminhar’ através das telas de help do sistema tendo, a partir de uma determinada tela, acesso a outras telas referentes a tépicos relacionados ao contexto atual. As informagées de auxilio deveréo abranger ndo somente aspectos da operagdo do sistema, mas também informagées referentes a conceitos envolvidos nas atividades de analise. Teclando , 0 aluno podera obter informagdes sobre as teclas especiais (hot-keys) disponiveis naquele momento. ‘A capacidade de configuragao de diferentes idiomas 6 também uma caracteristica desejavel a interface usuério-software, considerando-se a possibilidade de disseminacao do sistema em outros paises. Deveré ser prevista a configuragao de idiomas de duas formas diferentes: interativamente, durante uma sessdo de uso do sistema ou durante o processo de instalagao do sistema. 92 1V.2.2.2 - Interfaces com outros Sistemas Como discutimos anteriormente, 0 STAG deve ser capaz de interpretar dados gerados como resultados das simulagées pelo SPICE e dados gerados como resultados de testes analégicos e paramétricos através do proprio SAD. O STAG deverd implementar um médulo dedicado especialmente & interpretagao e conversdo desses dados para o formato interno de armazenamento. Esse médulo poderd futuramente ser ampliado, de forma a suportar dados em outros formatos conhecidos. ‘Também em versbes futuras do sistema, dados de parametros de dispositivos e dados para otimizagéo podero ser gerados em formatos compativeis com os programas do SPICE, melhorando o nivel de integragao das atividades do aluno. 1V.2.2.3 - Interfaces de Hardware As interfaces de hardware previstas para o STAG dizem respeito somente utilizagao de diferentes tipos de periféricos de entrada e saida Deverdo estar disponiveis, no minimo, uma saida paralela e uma saida serial (RS-232). Inicialmente. 0 STAG deverd prover suporte a mouse e impressoras. Futuramente poderdo ser implementadas fung6es adicionais para dar suporte a outros dispositivos, como mesas digitalizadoras, canetas 6ticas, tragadores graficos, etc... IV.3 - Descrigéo da Implementagao 1V.3.1 - Médulos de Implementagao Na definig&io dos médulos de implementagao do STAG tomou-se como principais critérios a obtengao de independéncia funcional entre os diversos médulos, a criagao de biblioteca de rotinas basicas comuns a eles @ a testabilidade das funcdes de cada médulo. Buscou-se com isso otimizar aspectos de estruturagao do sistema e, consequentemente, da facilidade de manutengao e ampliagao do STAG. Em especial, a criag&o de bibliotecas de rotinas comuns foi de grande utilidade, facilitando a programagao e permitindo uma melhor padronizagao do cédigo e das interfaces com 0 usuario. Ainda, o cédigo contido nessas bibliotecas é totalmente reutilizavel. O STAG foi particionado nos seguintes médulos de implementagao: 93 « STAG - E 0 médulo principal do sistema. Realiza a integragéo dos diversos médulos de implementagao. E também o responsdvel pelo tragado das curvas. + GSARQ- implementa as rotinas de leitura dos dados de projeto @ interpretagao dos arquivos de entrada, de gravacao de dados e de gravagao das anotagées automaticas realizadas pelo STAG. GSESTAT - Este médulo contém as rotinas para os cdlculos estatisticos e das analises de regress6es. GSFFTB2 - Contém as rotinas para cdlculo das transformadas répidas de Fourier (FFTs). As rotinas basicas deste médulo foram adaptadas a partir das rotinas do Turbo Numerical Methods Toolbox [B0r87}. + GSTELA - Contém rotinas basicas para tratamento dos gréficos e para apresentacao de resultados de andlises em tela. -BGGRAF - implementa a biblioteca de rotinas basicas de visualizagao grafica, incluindo também tratamento de alto nivel do gerenciamento de menus. « BGVARS - Contém as declaragées e rotinas de inicializago das variaveis globais da biblioteca de rotinas basicas (BGGRAF). BGEXCMNU - Implementa 0 tratamento de médio nivel de gerenciamento dos menus de opgées. « GSMENU - Contém as rotinas associadas & ativacdo das opgdes que so folhas na arvore de menus. = GSVARS - Contém a declaragao @ inicializagao de varidveis globais do STAG. E utilizado por todos os médulos do STAG, exceto aqueles que implementam bibliotecas de rotinas comuns. + BGHELP - implementa as rotinas basicas de gerenciamento e ativagéo do sistema de auxilio ao usuario. 1V.3.2 - Organizagao da Interface Usudrio-Software As telas s&0, para o STAG, 0 principal meio de interface com 0 usuério, Elas sao organizadas de forma a definir um conjunto de regides, conforme mostrado na figura 22. O posicionamento das informagdes na tela segundo a definicéo das regides busca oferecer ao usuario maior conforto durante a utilizagdo do sistema, evitando que este precise “procurar" determinadas informagées na tela toda. Descrevemos a seguir cada uma das regides da tela. 94 Fagito de cabogaino « Menus Rogiso dos Nomes © Gricos operas das Variéveis Coordonadas do ‘Cursor Lunhas de Statue @ Mensagens Figura 22 - Regides da Tela para 0 STAG = Regido dos Graficos: Nesta regio sero mostrados os resultados gréficos dos tratamentos e andlises aplicados aos dados em estudo. O usuario terd disponivel nesta regio um cursor, através do qual ele poder realizar a manipulagao das curvas. Nesta regiéo serdo apresentadas também as informagbes de auxilio ao usuario (help), quando solicitadas. = Regido de Cabecalho e Menus: Nesta regiéio da tela é apresentado ao usuario 0 menu principal do STAG, a partir do qual ele terd acesso as diversas operagées do sistema. O menu principal nao permanece presente na tela o tempo todo. Para btivar os menus o usuario deve, estando na regido dos graficos, pressionara tecla . Para abandonar os menus, retornando 4 regido dos grdticos, deve-se teclar a partir do menu principal do sistema. - Regido das Linhas de Status e Mensagens: Nesta regiao 0 sistema apresenta ao usudrio mensagens explicativas e/ou de adverténcia. E apresentada também uma linha mostrando o estado operacional do sistema, com informagbes como o nome do projeto, 0 tipo de escalas dos gréficos (linear ou logaritmica), nivel de Zoom, tipos de escalas, ete. 95, Varidveis: Serao mostradas nesta regio os nomes das variaveis atualmente em estudo, assim como as suas respectivas legendas. Entre duas tabelas de dados é utilizado um separador, na forma de linha horizontal, para facilitar ao usuario a identificagdo das tabelas. Para as variaveis que forem desativadas pelo operador, ao invés da legenda sera mostrada a palavra OFF. As variaveis do eixo X sero sempre a primeira varidvel da tabela e serdo identificadas pelo texto ‘[X]"apés 0 nome da varidvel. Varidveis paramétricas sero identificadas pela palavra “Param” apés 0 nome da variavel. Algumas operagées permitirao que o usuario selecione varidveis desta lista como se estivesse utilizando um menu de opgdes. « Regiao das Coordenadas do Cursor: Esta regido apresentard a0 usuario os valores das coordenadas X e Y correspondentes Aposigao atual do cursor no grafico. 1V.3.3 - Estruturas de Dados Descreveremos nesta segéio as principais estruturas de dados utilizadas para a organizacao das informagées no STAG. Utilizaremos um pseudo-cddigo semelhante ao do Pascal para a descrigao dos campos de dados de cada estrutura e, quando conveniente, usaremos também exemplos e diagramas a) Estrutura de Dados para os Menus A estrutura de dados dos menus representa a drvore de opgées dos menus e caracteristicas particulares a cada uma das opgées. Const MAXOPCMENU = 80; Type RegMenu = Record Msg: String{40}; NOpe: Integer: Ind: Integer: Prior: Integer Hip: Integer end: Var Menu: Array[1..MAXOPCMENU] of RegMenu: 96 Na estrutura acima o campo Msg contém 0 texto de uma opgao do menu. © campo NOpe representa 0 nimero de sub-opgées para essa opgéo, sendo validos os valores entre Oe 16. Caso 0 valor seja zero, isso significa que a opgo é uma folha na arvore de menus. ‘© campo ind indica qual a posigao no vetor onde se iniciam as eub-opgées (caso 0 valor do campo NOpe seja maior ave zero) ou 0 procedimento a ser executado (caso NOpe tenha © valor 0). S40 validos quaisquer valores inteiros nao nulos entre -32000 & MAXOPCMENU, sendo. que valores negativos indicam um procedimento a ser executado pelo programa, Note-se que as opcdes referentes a um mesmo menu deverdo estar em posigées contiguas no vetor Menu. ‘O campo Prior designa qual a prioridade de acesso minima para que 0 usuario tenha acesso a esta ‘op¢ao. Na verso atual este campo n&o tem utilidade, mas prevé, para versdes futuras, a criagéio de opgdes que tenham acesso restrito a determinados grupos de usuarios. © campo Hip estabelece qual 0 contexto de help associado a opgao do menu. llustraremos a seguir um exemplo simples de uma arvore de opgées e da estrutura de dados segundo a qual ela pode ser descrita. ea EE] 1 Top Free | ie Baie Segue a argetyartecin guises init OMDaEZEENy Seon ‘Andlises 2 7 0 Configuragio 39 0 Ler 0-110 i | Ler ___0_-} >i nee Gravar giess2eeO _| fee Estatisticas 0-210 Linear Regressies 2 120 aaa Cores 0-310 — Idioma aeeagiedd Periféricos 216 0 Cones Linear 0-221 08 ieome Geoméirica 0-222, 09 rege Ingles 0 -3210 1 agus Portugués 0-322 012 ee ace Tmpresora 0 -331.0 15. ce Plotter 0-332 016 L_protor 97 b) Estruturas para o Sistema de Help Cada contexto do sistema de auxilio ao usuario (help) define um texto explicativo sobre um determinado t6pico do sistema, bem como suas ligagdes com outros contextos. As estruturas de dados que definem cada contexto de help s4o descritas a seguir. Const MaxLinHllp = 12; MaxColHip = 50: Type RegHelp= Record LinhaHelp: Array[1..MaxLinHIp] of StringiMaxColHip+30): end: Aestrutura RegHelp define um registro de dados correspondente a um contexto de help de 12 linhas de 50 colunas cada. No vetor LinhaHelp, cada string é definida com um espaco adicional (+30), a fim de permitir que 08 hot-links estejam definidos juntamente com 0 texto. © texto de help, na versdo atual, sera composto apenas por caracteres ASCII padrao (ie., caracteres de 7 bits). As palavras que definem hot-links sao marcadas somando-se 128 ao cédigo ASCII de cada caracter da palavra (ou seja, colocando o bit mais significative em “1"). O contexto "apontado" por cada palavra marcada como hot-link é definido nos primeiros bytes imediatamente apés 0 final do texto da linha. Para cada hot-link so utilizados dois bytes. O primeiro byte tem o valor NULO e 0 segundo byte indica o ndmero do contexto associado ao hotlink. Considerando-se que cada linha tem um espago adicional de 30 bytes, poderiamos definir entéo 15 hot-links para cada linha de uma tela de help. Em tempo de execucao do sistema, as informagées de help teréo somente acesso para leitura. A criagao e manutengdo dos sistemas de help é feita através de utiitérios desenvolvides especificamente para essa finalidade Os anexos | € II apresentam informagdes complementares a respeito do sistema de help. ¢) Estruturas para Descrigao das Variaveis do Grafico Cada varidvel para o grdfico 6 descrita por um vetor contendo um conjunto de valores lidos da tabela de entrada e um conjunto de atributos ‘que podem ser modificados pelo usuario durante os tratamentos e analises. As estruturas que descrevem uma varidvel para 0 gréfico séo mostradas a seguir. 98 Const MAX_TAM_VET = 1023; { Numero maximo de pontos para 1 varidvel } MAX_VET_GR = 20: ( Numero maximo de variveis simultaneas | Type VetPtos = Array (0..MAX_TAM_VET] of Real: VarGrafico = Record V: VetPtos: EhParam: Boole NomVar: Siring(8]; Ativa: Boolean; end; A estrutura VarGrafico descreve uma varidvel. Nela, 0 campo V descreve o vetor dos valores para a variavel, 0 campo EhParam identifica se a variavel esta atualmente configurada como um parametro ou no, 0 ‘campo NomVar define o nome da variavel e 0 campo Ativa identifica sea variavel esta ativa para visualizag&o ou nao. d) Estruturas para Descrigdo das Tabelas de Dados. Cada uma das tabelas de dados lidas descreve uma variével de varredura (a variavel do eixo X) e uma ou mais varidveis para o eixo Y. Essas tabelas sero descritas pela seguinte estrutura: Const. MAXVARY = 10: Type PirVarGraf = 4VarGrafico: DscTabela = Record NomTab: String|40}: VarX: PuVarGraf: VarY: Array[1..MAXVARY] of PirVarGraf: TabAtiva: Boolean; TotPtos: Integer; Familia: Byte end: 99 Na estrutura DscTabela 0 campo NomTab contera um nome légico, definido pelo usuario, para a tabela. Os campos VarX e VarY serao apontadores para descritores de variaveis para o eixo X (uma Unica varidvel) e Y (até 10 variéveis) respectivamente. O campo TabAtiva identifica se a tabela esta ou nao ativa para a visualizagdo. O campo TotPlos contém o némero de linhas da tabela (ou seja, 0 nimero de valores para cada variavel). O campo Familia descreve 0 numero da familia de curvas (usado internamente pelo STAG). e) Estruturas para Descricao de Arquivos de Dados A descrigao dos arquivos de dados deverd identificar 0 nome do arquivo, seu formato (SPICE ou SAD) e as tabelas de dados nele contidas, observada a restric do numero maximo de dez tabelas de dados por arquivo, A estrutura de dados associada serd a seguinte: Const MAXTABARQ= 10; { Numero méximo de tabelas de dados num arquivo Type DsvArqDados = Record NomArq: String|32]: Arg: Texts TipoArg: Byte: Ativo: Boolean TabDad: Arrayl 1. MAXTABARQ] of DscTabela: Ativo: Boolean end; O campo NomArg conteré 0 pathlist completo do arquivo (diretério fe nome do arquivo), O campo TipoArq identificara 0 formato do arquivo (1=SAD, 2=SPICE). O vetor TabDados conterd as descriges de cada uma das tabelas de dados contidas no arquivo. O campo Ativo indica se o arquivo esta atualmente ativo ou nao. 1) Estruturas para a Descrigao do Projeto Adescricao do projeto associaré um conjunto de arquivos de dados € um arquivo de anotagSes a um nome de projeto, contorme jd toi discutido anteriormente. A estrutura de dados para a descrig&o do projeto é definida a seguir, 100

Vous aimerez peut-être aussi