Вы находитесь на странице: 1из 4

Síntese Lógica baseada no uso de rede de transistores

Processo e técnicas.

Valentina Montserrat
Universidade Federal do Rio Grande do Sul
Instituto de Informática
Porto Alegre, Brasil
vmontserrat@inf.ufrgs.br

Abstract—Este trabalho tem como objetivo mostrar como é o II. GERAÇÃO DE REDES DE TRANSISTORES
funcionamento da síntese lógica aplicada à geração de redes de
transistores por meio do fluxo standard cell, assim como as A. Redes de transistores em standard cell
principais técnicas utilizadas para o processo.
A geração de redes de transistores para compor circuitos
Palavras chave—síntese lógica; rede de transistores; fluxo integrados pode ser realizada através de um processo manual
standard cell; biblioteca de células; mapeamento tecnológico. de projeto conhecido como full custom ou por um processo
automatizado de passos de forma sequencial com base em uma
combinação lógica, este conhecido como fluxo standard cell,
I. INTRODUÇÃO usando uma linguagem de descrição de hardware e
Com o aumento da necessidade de construir circuitos combinando com uma biblioteca de células, que resulta em
integrados de aplicação específica, chamados de ASICS, uma rede de células. Projetos em full custom geram um custo
cresce junto a demanda por formas de concepção otimizadas de tempo de desenvolvimento elevado, enquanto projetos em
desses circuitos, tanto por parte do projetista como por parte de standard cell tem limitações por dependência de bibliotecas de
parâmetros de projeto, tais como área, consumo de potência, células, e risco de menor qualidade do circuito integrado.
desempenho e timing.
As células do processo standard cell precisam ser
O fluxo standard cell permite que a concepção de circuitos caracterizadas e validadas para poderem constituir as
integrados seja realizada através de etapas de síntese e análise bibliotecas pré definidas que participam da formação de novas
através de dados pré definidos como entrada, que determinam o células – redes de transistores - durante o processo do fluxo.
circuito como resultado final. Dentro desse fluxo está
compreendida a síntese lógica, que transforma a descrição do Criar células com qualidade em standard cell é um desafio,
circuito em um conjunto de redes de transistores e visto que o algoritmo empregado determina a rede de
interconexões para a etapa de síntese física transcrever em transistores, processo conhecido como mapeamento
forma de leiaute, utilizando uma biblioteca de células (redes tecnológico, e de acordo com o mapeamento é possível
de transistores formam as células, estas podem ser vistas como otimizar o circuito com base em algum parâmetro de qualidade
portas lógicas, base para construção dos circuitos) pré específico. Por qualidade entende-se as características de
definidas. desempenho, consumo de potência, área, timing. A parte do
fluxo standard cell responsável pela transcrição de uma
Esse processo permite que a concepção de circuitos especificação HDL em uma descrição de rede de transistores,
integrados seja mais rápida do que em um processo full custom em forma de netlist, é a síntese lógica.
– onde o projetista forma as redes de transistores unidade a
unidade – e ainda possibilita análises sobre a viabilidade da
construção do circuito.
B. Síntese Lógica
Este trabalho revisa as técnicas e desafios no A síntese lógica é composta por uma série de passos que
desenvolvimento da síntese lógica para o uso de redes de interpretam um conjunto de parâmetros dados em linguagem
transistores, considerando as etapas de formação da síntese de descrição de máquina (referenciados pela sigla HDL) que
lógica, desde a descrição de linguagem de hardware até a depois de transcritos podem ser representados em forma de
netlist, com vistas em otimizar parâmetros com minimização rede de transistores. As descrições em HDL podem ser do tipo
de perdas em outras características. estrutural, comportamental ou RTL – register transfer logic.
Também salienta o aprimoramento de algoritmos em Esta última descreve em alto nível uma determinada lógica,
etapas fundamentais da síntese lógica, como o mapeamento que é a utilizada no fluxo standard cell.
tecnológico; e a perspectiva de aproximar a síntese lógica da A síntese lógica pode ser realizada para implementações em
síntese física e vice versa. FPGA, dispositivos com hardware pré-definidos e dependem
da descrição lógica para depois da síntese os recursos de
hardware existentes estarem configurados de forma a compor o O processo consiste na interpretação do circuito lógico
circuito lógico esperado; ou para o fluxo standard cell, a independente da tecnologia para um grafo acíclico dirigido,
interpretação de um HDL junto da biblioteca de células Direct Acyclic Graph - denominado DAG. Essa etapa prepara a
permitem ao fim da síntese uma netlist que compoe a rede de estrutura de dados para o próximo passo, o de identificação de
transistores, permitindo na etapa de síntese física completer a padrões. Esta etapa busca padrões entre o grafo e a biblioteca
concepção do circuito até a etapa de leiaute. de células disponível. De acordo com o número de padrões a
complexidade do algoritmo de busca pode aumentar,
As etapas que constituem o fluxo da síntese lógica são comprometendo o tempo de execução do processo. Finalmente,
 Otimização independente da tecnologia: tem como a etapa de cobertura define, entre os padrões identificados,
entrada a rede booleana não otimizada e como quais devem ser utilizados para atender as restrições de projeto.
saída a rede boolenana otimizada; Ao longo do mapeamento, o algoritmo busca minimizar os
 Mapeamente tecnológico: precisa da rede booleana custos das restrições de projeto. As restrições permitem definir
otimizada e da biblioteca de células, e tem como quais características o circuito final terá, tais como área,
saída a rede de células; consumo, atraso; vinculadas diretamente com a biblioteca de
células, durante a etapa de busca de padrões, que no fluxo
 Otimização dependente da tecnologia: tem como standard cell vem sendo amplamente utilizado o algoritmo que
entrada a rede de células e como saída a rede busca padrões de forma booleana, sobre uma estrutura de
otimizada. dados do tipo And-Inverter Graph, ou AIG, um caso particular
de DAG.
Apesar do mapeamento tecnológico estar limitado à
III. SÍNTESE LÓGICA NO FLUXO STANDARD CELL evolução das bibliotecas de células disponíveis, o
melhoramento em algoritmos para minimizar custos de
Para melhor produtividade do designer de projeto de
restrição de projeto ainda pode ser muito explorado para ênfase
circuitos integrados, assim como para um projeto bem
em desenvolvimento de redes de transistores. .
executado, aumentar o nível de abstração da síntese logica é
um objetivo constante para aprimorar o processo de otimização
da síntese.
Diversas técnicas são aplicadas na busca de algoritmos B. Otimização de rede booleana não otimizada
mais eficazes, tratando diretamente da biblioteca de células; Através de uma descrição em RTL é possível formar uma
das redes booleanas com técnicas que são não são diretamente rede booleana. No processo de síntese lógica, a rede booleana
vinculadas à tecnologia em questão, trabalhando sobre a rede pode ser otimizada independente da tecnologia utilizada, sendo
booleana não otimizada provinda do RTL, e as que dependem o segundo passo do fluxo, como foi visto na figura 1. Uma vez
diretamente da tecnologia, estas utilizando a rede booleana já otimizada ela pode passar para a fase de mapeamento
otimizada no processo do fluxo de síntese lógica. tecnológico, o qual depende da tecnologia.
A qualidade da netlist resultante do processo de síntese O procedimento mais usual é o de divisão da rede booleana,
lógica interfere de forma direta no processo de síntese física, e seja por divisão booleana ou algébrica. Divisão booleana
questões como testes e estimativas de atraso e sua minimização abrange todas as possibilidades das funções enquanto a divisão
são trabalhadas no emprego de técnicas como o Esforço algébrica é mais rápida.
Lógico; especialmente na etapa de mapeamento tecnológico, Além desse método, é também conhecido o Kerneling, que
etapa chave para desenvolvimento da síntese lógica no fluxo realiza divisões dos nós da rede.
standard cell, bons algoritmos empregados permitem melhor
equilíbrio entre esses fatores de qualidade na produção do
circuito integrado.
C. Biblioteca de células
Apesar de depender externamente da biblioteca de
A. Mapeamento tecnológico células(bibliotecas pré-definidas), seu desenvolvimento é
primordial para o progresso do fluxo de síntese lógica, como
Das etapas da síntese lógica, o mapeamento tecnológico visto anteriormente em Mapeamento Tecnológico. Logo, ter
caracteriza a mais importante, segundo a literatura. Diversos disponível uma ampla biblioteca de células possibilita o
algoritmos para otimização da etapa foram propostos, para as desenvolvimento em diversas tecnologias.
diferentes possibilidades de síntese lógica. No que diz respeito
ao fluxo standard cell, o mapeamento é diretamente Por outro lado, quando a biblioteca é muito extensa, a busca
relacionado à biblioteca de células disponível, além do se torna maior, aumentando a complexidade do algortimo, e
algortimo empregado. mais demorado se torna o processo de caracterização no
mapeamento tecnológico.
Aqui o conjunto de funções lógicas definida em RTL,
textual, é transformado em uma rede de transistores de uma A biblioteca de células tem em sua característica o fator de
determinada biblioteca de células, para uma determinada qualidade das restrições de projeto: area, consumo de potência
tecnologia, respeitando as restrições de projeto. e dados temporais são definidos pelas células em função de seu
tipo: tamanho, número de funções lógicas, ou capacidade de IV. DESAFIOS
fornecer corrente. Ainda não se alcançou um método perfeito de desenvolver
Quando uma determinada característica de qualidade a síntese lógica baseada no uso de rede de transistores, visto
disponível é otimizada no mapeamento tecnológico, alguma que as variáveis em questão são dependentes – otimiza-se uma
outra tem efeito contrário. Algoritmos que trabalham a característica, perde-se em outra.
otimização buscando um equilibrio entre elas são uma possível Busca-se a concepção de circuitos integrados realizados em
tendência de pesquisa. . melhor tempo do que na concepção do tipo full custom, mas
que resultem netlist de qualidade – redes de transistores com
desempenho tão bom quanto o realizado no projeto por conta
D. Esforço lógico no mapeamento tecnológico do professional projetista. Bons algoritmos desenvolvidos para
etapas específicas do fluxo de síntese lógica permitem no
resultado da netlist uma rede de transistores mais polida para a
Uma técnica utilizada para desdenvolvimento de células próxima etapa do fluxo standard cell.
lógicas é o esforço lógico, utilizado nas concepções de
circuitos full custom. No caso de standard cell, o esforço lógico Algoritmos de fatoração e de grafos são explorados para
pode ser aplicado ao mapeamento tecnológico, no intuito de otimizar as redes lógicas, onde os de fatoração trabalham sobre
minimizar o atraso pelo dimensionamento das portas. a rede Booleana de entrada, minimiza as variáveis e mapeia a
expressão otimizada; os grafos são a representação da rede,
A técnica consiste de manipular as dimensões de área de onde as arestas tem ligação direta com um transistor da rede, e
uma porta lógica em função de sua passagem de carga o objetivo é diminuir o número de arestas, sem modificar a
continua. Essa técnica de controle do dimensionamento permite lógica. Alguns trabalhos sugerem que esses algoritmos possam
manter constante o atraso. ser combinados. Esses algoritmos são empregados em
Algumas pesquisas sugerem através de seus resultados, que ferramentas EDAs, que visam otimizar as redes com menor
o algoritmo de mapeamento tecnológico possa ser direcionado custo de tempo em relação ao processo puramente manual.
ao conceito e aplicação do esforço lógico, minimizando atrasos No que diz respeito ao mapeamento tecnológico, a
significativos quando tratada a distribuição de carga, sem escalabilidade ainda é a maior dificuldade. Pelo mapeamento
deixar de atender as restrições de projeto como um todo, o qual tecnológico é possível definir características em foco nas
o mapeamento tecnológico também é responsável. restrições de projeto, como área, atraso, potência e
desempenho, e o algoritmo empregado é fundamental para
atender as restrições sem depreciar outras características; a
E. Netlist: efeitos na síntese física gerência da memória e o tempo de execução são quesitos de
A netlist é composta de toda a rede de transistores ao final procura de algoritmos que encontrem um equilíbrio entre os
da síntese lógica, permite ao processo de síntese física utilizar fatores: o número de bibliotecas de células elevado, que
os dados de células e interconexões para posicionar e rotear o melhora o processo de mapeamento do ponto de vista de
conjunto no leiaute. produtividade, implica a necessidade de maior memória
A estrutura da netlist reflete diretamente na etapa seguinte disponível, e a procura por padrões entre a estrutura de dados
- de síntese física. Uma netlist otimizada para as aplicações de da rede e a biblioteca de células se torna mais lenta.
posicionamento dos blocos lógicos permite, por exemplo, Ainda procuram-se formas de vincular o mapeamento
menores interconexões, o que melhora os resultados de atraso tecnológico às características de leiaute, visto que o
e também de área, visto que o custo do circuito integrado posicionamento dos transistores obtidos pela netlist interfere
diminui em função da área necessária na bolacha de silício – em características como área e atraso. Alguns trabalhos
especialmente por ocorrer menor disperdício quando um sugerem a busca de algoritmos visando avaliação diretamente
circuito tem falha no teste. do ordenamento dos transistores para minimizar quebras de
A otimização dependente da tecnologia é a etapa mais difusão, mantendo os transistores da rede alinhados para
próxima da netlist, e além do mapeamento tecnológico e aproveitar , otimizando área em um tempo de concepção do
esforço lógico, outras técnicas podem ser empregadas para circuito mais apropriado do que o necessário para um projeto
otimizações locais no circuito após o mapeamento tecnológico, full custom.
da rede booleana otimizada. Das mais difundidas temos gate Com a possibilidade de vincular alguns aspectos da síntese
sizing, gate reapplication e as transformações por de Morgan. física durante o processo de síntese lógica, há a perspectiva de
A reestruturação do caminho crítico, no escopo de ter capacidade de testes de atraso mais precisas, especialmente
mudanças não locais, dependem diretamente da análise de pela melhor estimativa das interconexões nas redes de
timing. O processo se dá em duas fases, com a identificação de transistores. As técnicas utilizadas para estimativas em testes
partes do circuito que possam ser modificadas, e a seleção de ainda não tem a precisão necessária para minimizer o atraso
conjuntos dessas porções para modificar, seguido de teste da como desejado, e algumas pesquisas mostraram que pode haver
modificação realizada e no caso de haver melhoria, manter a o aumento em consumo potência e área.
modificação.
CONCLUSÕES parâmetros de projeto tenham maior equilíbrio entre si, e
facilitem processos seguintes de síntese.

O constante aumento da necessidade de circuitos integrados Ainda é possível aprimorar o mapeamento tecnológico que
para fins específicos no mercado tecnológico exige uma depende da biblioteca de células e do algoritmo empregado,
demanda maior no processo de produção, especialmente para que o conjunto resulte em netlists de maior qualidade,
quando o foco é na rede final de transistores, que torna facilitando um bom leiaute da rede de transistores, e
processo full custom com custo de tempo elevado, e com isso é encontrando um bom gerenciamento entre a quantidade de
necessário recorrer ao processo de fluxo standard cell. memória necessária e o tempo de execução para o processo.

Para tanto ainda é necessário desenvolver algoritmos que


aumentem o nível de abstração da concepção dos circuitos REFERÊNCIAS
integrados, nas ferramentas de desenvolvimento, buscando
encontrar um padrão de qualidade similar ao realizado passo a
passo a nível de transistor. [1] S. Karandikar and S. Sapatnekar, Logical effort based technology
mapping, Proceedings of IEEE International Conference on Computer-
Dentro das técnicas e tecnologias desenvolvidas para cada Aided Design, Santa Clara, CA, 2004, pp. 419–422.
parte do fluxo de síntese lógica nesse contexto, percebe-se [2] L. Scheffer, L. Luciano, and G. Martin, EDA for IC implementation,
vasta quantidade de pesquisas possíveis em diversos tipos de circuit design, and process technology, Taylor & Francis Group, 2006,
pp.38-64.
algoritmos com o intuito de tornar mais eficiêntes as diversas
[3] L. da Rosa, “Automatic Generation and Evalution of Transistor
etapas do processo. Networks in Different Logic Styles”, Tese (doutorado) – Universidade
Federal do Rio Grande do Sul. Programa de Pós-Graduação em
Buscas por estimativas mais precisas, e testes com maior Microeletrônica. Porto Alegre, 2008.
abrangência, possibilitam que em trabalhos futuros os

Вам также может понравиться