Universidade Federal do Rio Grande do Sul
Instituto de Informática
Programa de Pós Graduação em Computação (PPGC)


8 de Janeiro de 2001
Tutorial Mentor Graphics

Geração de layout a partir da descriçãoVHDL
de um circuito digital utilizado as bibliotecas AMS



1 Introdução a Ferramenta Mentor Graphics
2 Síntese de Circuitos Integrados
3 Ferramenta: Design Manager (dmgr)
4 Ferramenta: Design Architecture (da)
5 Ferramenta: Simulador QuickSim
6 Ferramenta: Autologic II (alui)
7 Ferramenta: Design View Point (DVE)
8 Ferramenta: IC Station (ic)


1 Introdução

O sistema Mentor Graphics é composto por diversas ferramentas responsáveis pela síntese, validação e teste de circuitos integrados. Essas ferramentas são: compilador de descrições de alto nível de circuitos digitas, simuladores lógicos e elétricos, mapeador tecnológico, posicionador, roteador, extrator elétrico, compactador de layout e outras.

Cada ferramenta pode ser chamada em separado digitando diretamente sua chamada no command tool, ou pode ser chamada de dentro da janela da ferramenta principal da Mentor chamada Design Manager.

O objetivo deste tutorial é mostrar passo a passo a síntese de um circuito digital no sistema Mentor. Este tutorial parte da descrição VHDL de um circuito e mostra como fazer a síntese do layout Standard cell a partir desta descrição utilizando as células da biblioteca da AMS.

O layout chamado de Standard cell (mar de células) é composto de células lógicas, projetadas e testadas anteriormente e descritas em uma biblioteca de células, posicionadas em bandas separadas por canais de roteamento. A biblioteca da AMS é concedida pela fábrica e conectada ao sistema Mentor a fim de sintetizar circuitos para a fabricação na AMS (Austria).

1.1 Configuração do ambiente

Para chamar o sistema Mentor, e consequentemente todas as suas ferramentas, deve-se acrescentar ao .login as seguintes linhas:
source /gme/cadtool/pub/login.mentor
source /gme/cadtool/pub/login.kitams

Antes de chamar o Design Manager da janela command tool, execute o comando:
> source .login

Se ocorrer algum erro após a chamado do Mentor, então execute os comandos:
> unsetenv LANG
> source .login

[inicio]


2 Síntese de Circuitos Integrados

A figura 2.1 ilustra o fluxo da síntese de circuitos integrados começando na descrição de alto nível e chegando ao layout Standard Cell. Todos esses passos são cobertos pelo sistema Mentor e estão descritos neste tutorial.

Figura 2.1 – Fluxograma de projeto





Os passsos de simulação são extremamente importantes para a validação da descrição do circuito e posteriormente para avaliação do funcionamento e desempenho do circuito.

[inicio]


3 Ferramenta: Design Manager (dmgr)

A ferramenta Design Manager é visualizada no ambiente Falcon Framework. Todas as demais ferramentas instaladas no sistema Mentor podem ser chamadas de dentro do Design Manager.

3.1 Chamada da ferramenta

Na linha de comando digitar:
> dmgr

Para o ambiente AMS, digitar:
> ams_dmgr

A figura 3.1 mostra a janela da ferramenta Design Manager.

Figura 3.1 – Janela do Design Manager

Nesta ferramenta podemos configurar o diretório de trabalho onde estão os arquivos que descrevem o circuito ou sistema que irá ser sintetizado pelo sistema Mentor. A figura 3.2 ilustra a configuração do diretório (MGC > Set Working Directory)
 

Figura 3.2 – Design Manager, escolhendo o diretório de trabalho

[inicio]


4 Ferramenta: Design Architecture (da)

A ferramenta Design Architecture é responsável pelas entradas de descrição do circuito ou sistema e sua respectiva edição e compilação lógica. As entradas podem ser descritas em VHDL, ou utilizando outras linguagens de auto nível, ou através de esquemáticos.

4.1 Chamada da ferramenta

A ferramenta Design Architecture deve ser chamadas de dentro do Design Manager. Entretanto, se for necessário chamar a ferramenta isoladamente, digite o comando:
> da &

Para o ambiente AMS, digitar:
> ams_da &

A figura 4.1 ilustra a chamada do Design Architecture de dentro do ams_dmgr. A tecnologia a ser escolhida para a síntese de layout deverá ser a tecnologia CMOS cyb.

Figura 4.1 – Chamando o Design Architecture

O circuito que iremos descrever em VHDL é um somador de 8 bits com carry de entrada e carry de saída. Para descrever um circuito em VHDL na ferramenta Design Architecture é necessário chamar um bloco de notas de dentro da ferramenta, como mostra a figura 4.2. Após, devemos escolher o diretório da biblioteca VHDL de utilização com o comando qlib, figura 4.3.

Figura 4.2 – Janela do Design Architecture



Figura 4.3 – Escolhendo o diretório das bibliotecas no Design Architecture

Arquivo VHDL do somador de 8 bits:
 

LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;

entity somador8 is
PORT (
a : IN bit_vector (7 downto 0);
b : IN bit_vector (7 downto 0);
cin : IN bit;
s : OUT bit_vector (7 downto 0);
cout : OUT bit
);
end somador8;

ARCHITECTURE part OF somador8 IS
signal cy : bit_vector (7 downto 0);

BEGIN
s(0) <= a(0) xor b(0) xor cin;
s(1) <= a(1) xor b(1) xor cy(0);
s(2) <= a(2) xor b(2) xor cy(1);
s(3) <= a(3) xor b(3) xor cy(2);
s(4) <= a(4) xor b(4) xor cy(3);
s(5) <= a(5) xor b(5) xor cy(4);
s(6) <= a(6) xor b(6) xor cy(5);
s(7) <= a(7) xor b(7) xor cy(6);
cy(0) <= (a(0) and b(0)) or (a(0) and cin) or (b(0) and cin);
cy(1) <= (a(1) and b(1)) or (a(1) and cy(0)) or (b(1) and cy(0));
cy(2) <= (a(2) and b(2)) or (a(2) and cy(1)) or (b(2) and cy(1));
cy(3) <= (a(3) and b(3)) or (a(3) and cy(2)) or (b(3) and cy(2));
cy(4) <= (a(4) and b(4)) or (a(4) and cy(3)) or (b(4) and cy(3));
cy(5) <= (a(5) and b(5)) or (a(5) and cy(4)) or (b(5) and cy(4));
cy(6) <= (a(6) and b(6)) or (a(6) and cy(5)) or (b(6) and cy(5));
cy(7) <= (a(7) and b(7)) or (a(7) and cy(6)) or (b(7) and cy(6));
cout <= cy(7);
END;

Para compilar o circuito escolha no Menu superior o comando Compile.

Observação importante: Se o sistema esta descrito em diversas entidades, o nome da arquitetura deve ser sempre explicitamente especificada na entidade. Isso é devido ao Mentor possibilitar múltiplas arquiteturas para uma mesma entidade.
Se as entidades estão descritas em arquivos fisicamente separados (.vhd) deve-se definir o diretório onde estes arquivos se encontram no Setup do Design Architecture.

[inicio]


5 Ferramenta: Simulador QuickSim

5.1 Chamada da ferramenta

As ferramentas devem ser chamadas de dentro do Design Manager. Entretanto, se for necessário chamar a ferramenta isoladamente, digite o comando:

> quicksim &

    Informações a serem inseridas no Tutorial.

[inicio]


6 Ferramenta: Autologic II (alui)

6.1 Chamada da ferramenta

As ferramentas devem ser chamadas de dentro do Design Manager. Entretanto, se for necessário chamar a ferramenta isoladamente, digite o comando:
> alui &

Para o ambiente AMS, digitar:
> ams_alui &

A descrição VHDL deve ser chamada pelo Menu File > Open  > VHDL.

Figura 6.1 – Janela do Autologic

Nesta etapa serão criadas duas janelas, uma que mostrará a hierarquia do projeto, figura 6.2. E outra que mostrará o esquemático do projeto mapeado para uma biblioteca standard do Mentor, figura 6.3.

Figura 6.2 – Janela do compilador do Autologic

Para visualizar a janela do esquemático selecione Menu > Report > Schematic. Após a visualização da primeira versão do esquemático, feche a janela. Se quiser salvar o esquemático File > SAVE > *.sch.

Figura 6.3 – Esquemático não otimizado gerado pelo Autologic

 O segundo passo é escolher a biblioteca da AMS pelo Menu > Setup > Destination technology > AMS_CYB. E após escolhida a biblioteca destino da AMS, executamos o comando de Optimize > Optimize > Area. A sintese e otimização é realizada nessa etapa.

Para visualizar o novo esquemático contendo as células da AMS, execute o mesmo comando feito anteriormente, no Menu > Report > Schematic. Note que agora o esquemático está otimizado e utilizando as células descritas na biblioteca da AMS.

Figura 6.4 – Esquemático otimizado gerado pelo Autologic

A figura 6.5 mostra um detalhe do esquemático final.

Figura 6.5 – Detalhe do esquemático otimizado gerado pelo Autologic

Para criar o layout deve-se salvar o projeto com a extensão EDDM como mostrado na janela a baixo.
Execute o comando FILE > Save as > EDDM.
O GN library mapping é o mesmo para todos os projetos (diretório de instalação do Mentor no grupo GME).

Figura 6.6 – Escrita do arquivo EDDM

[inicio]


7 Ferramenta: Design View Point (DVE)

O Design View Point é um arquivo (.dve)  que aponta para o circuito que estamos utilizando para simular ou para gerar o layout.

7.1 Chamada da ferramenta

As ferramentas devem ser chamadas de dentro do Design Manager. Entretanto, se for necessário chamar a ferramenta isoladamente, digite o comando:
> dve&

Para o ambiente AMS, digitar:
> ams_dve &

Neste caso, será necessário digitar outros comandos de configuração que virão escritos na tela, como tecnologia, nível de descrição, … Se a ferramenta for chamada de dentro do ams_dmgr, veremos:

Figura 7.1 – Janela do DVE

[inicio]



 

8 Ferramenta: IC Station (ic)

A ferramenta IC station é responsável pelo geração do layout. Podemos usar essa ferramenta para desenhar layout retângulo por retângulo (células ou circuitos menos complexos), editar layout, inserir novas tecnologias, ou para gerar automaticamente layout do tipo Standard Cell.

8.1 Chamada da ferramenta

Atenção: O IC station é a única ferramenta que deverá ser chamada obrigatoriamente fora do ambiente AMS para a geração automática de layout.

> ic &

A configuraração da biblioteca AMS é feita quando um novo layout é criado.

Figura 8.1 – Janela do IC Station

Primeiro devemos configurar o ambiente com o comando no menu lateral Setup > IC. Configuramos o Working Directory e o Search path (se necessário).

Observação importante sobre o Search Path: Se o layout a ser gerado contiver apenas células básicas da AMS (ou seja, a descrição não contem blocos hierarquicos), o search path não precisa ser definido. Porem, se o layout contiver blocos hierarquicos internos, o diretório que contem esses blocos de layout gerados previamente deve ser definido no search path.

Figura 8.2 – Criando uma nova célula de layout no IC Station

A criação do layout deve ser feita com o comando no menu lateral Create > Cell.
Os diretórios da biblioteca AMS são os seguintes (execute o browse):
Attach Library:
/home3/mgc/AMS_KIT2/mentor/ic_station/cyb/libraries/cyb_core
Process:
/home3/mgc/AMS_KIT2/mentor/ic_station/cyb/process/cyb
Rules Files:
/home3/mgc/AMS_KIT2/mentor/ic_station/cyb/rules/cyb
Cell Type: Escolha Block se o layout contiver blocos hierarquicos ou Standard se o layout contiver apenas células básicas da AMS (neste caso escolha um Site Types diferente de zero). Se optar em usar sempre Block, funciona para ambos os casos.
EDDM Schematic Viewpoint: escolha o diretório onde foi criado o View Point (tem um formado diferenciado).

Figura 8.3 - Criando uma nova célula (layout)

Após a criação da nova célula (create cell), deve-se fecha-la e abri-la novamente no modo de edição como mostrado na figura a seguir.
 

Figura 8.4 – Abrindo uma nova célula de layout no IC Station

Para ver o esquemático correspondente ao layout que vai ser gerado (esquemático relacionado ao viewpoint), escolha a barra de menu a direita  Floorplan e a opção Logic > open.

Figura 8.5 – Janelas de esquemático e layout no IC station

Após escolha a opção de Autofloorplan (Autofp) no menu da direita.  Desta forma será gerada automaticamente uma estrutura de matriz com bandas e a borda dos pads na periferia como mostra a figura 8.6.

Figura 8.6 – Planejamento das células de layout no IC Station

O placement é realizado na opção Autoplc. Como estamos posicionando células básicas (standard cell), então optamos pelo comando Autoplc > Stdcel. Se o projeto fosse hierarquico e tivesse diversos blocos internos, deveríamos primeiro fazer o layout de cada bloco (com standard cells) e após criar um novo layout que irá chamar os blocos já projetados (comando Autoplc > blocks).

A figura 8.7 mostra as células do somador posicionadas nas bandas da matriz standard cell.
Para ver o layout interno detalhado de cada célula da AMS, basta seleciona-la, ir no Menu superior em Context > Hierarchy > Peek. Escolha o nível (1).

Figura 8.7 – Posicionamento das células de layout no IC Station

Para o roteamento automático escolha no menu lateral Autorou > all. O roteamento geral e detalhado é feito nesta etapa. Se houver overflow, ou seja, se algumas conexões não forem transformadas em roteamento, selecione cada conexão não roteada e execute o comando Autorou > OverFlw.

Figura 8.8 – Roteamento das células de layout no IC Station

A figura 8.9 mostra o layout final detalhado.

Figura 8.9 – Detalhe do layout das células no IC Station

A figura 8.10 mostra um exemplo de layout composto por blocos hierarquicos que foram instanciados no layout. E a figura 8.11 mostra o mesmo circuito com um layout feito totalmente em Standard Cell.  Note que o layout composto por blocos não ficou muito compactado, na verdade está 4 vezes maior que o segundo.


Figure 8.10 - Layout de um somador composto por blocos hierarquicos.


Figure 8.11 - Layout de um somador composto por apenas portas lógicas básicas.

A inserção dos pads deve ser feita hierarquicamente no Design Arquitecture (da). Os pads são células da biblioteca AMS. Desta forma quando o layout for gerado, haverá um bloco central que comtém todo o layout do circuito já roteado e os pads ao redor. Nesta etapa deve ser realizado apenas o roteamento dos pinos do CORE (bloco central) aos pads.

Algumas questões em aberto:
1) Colocar passo a passo a inserção dos pads e depois a geração do layout final com os pads.
2) Como gerar um layout composto apenas por células básicas quando o circuito esta descrito hierarquicamente (diversas entidades)?
Possível resposta, durante a síntese no Alui pode haver uma opção em realizar a síntese hierarquica ou não. Vantagem em descrever um circuito em diversas entidades: circuito mudular, fácil compreensão. Vantagem do layout sem hierarquia: compactação. As opções dependem do circuito e da aplicação.
3) Passos para realizar a extração elétrica e simulação.

[inicio]


Este tutorial apresentou apenas os passos básicos para geração de um layout a partir de uma descrição VHDL no sistema Mentor. A sua contribuição é muito importante para completar este Tutorial. Mande um e-mail para mim fglima@inf.ufrgs.br para inserir itens e dados neste tutorial.

Muito Obrigada!
Fernanda


Última atualização em 8 de janeiro de 2001