Conhecendo os dispositivos lógicos programáveis

De MediaWiki do Campus São José
Ir para: navegação, pesquisa

Este experimento visa conhecer a estrutura interna dos dispositivos lógicos programáveis. Será utilizado como base o software Quartus II e os dispositivos da ALTERA.

Inserindo um circuito para programação

Abra um diagrama esquemático no Quartus II (File > Design Files > Block Diagram. Clique em Qsymbol.png para selecionar os símbolos e insira um contador "74161" (name: 74161). Em seguida clique em Qpin.png para inserir os pinos de entrada e saídas. Opcionalmente você pode usar o botão direito do mouse e inserir todos os pinos de entrada e saída selecionando Generate Pins for Symbol Ports.

Ckt74161.png


Após salvar o arquivo como "Ckt74161.bdf" em uma pasta vazia com nome AULA1, crie um projeto Ckt74161 utilizando a família MAX II com o dispositivo device=EPM240F100C4.

Após salvar o arquivo "Ckt74161.bdf", o software oferece a opção de criar um projeto para o arquivo. Clique [Yes]. Em seguida clique [Next]. Selecione a pasta AULA1, e mantenha o nome do projeto e a top-level entity como Ckt74161, clicando [Next]. Clique novamente [Next] na tela de inclusão dos arquivos, pois o seu arquivo Ckt74161.bdf já foi incluído. No próxima tela de seleção da familia de DLPs e do número do dispositivo selecione Device Family: MAX II e Available device: EPM240F100C4, e clique em [Next], [Next] e [Finish] pois não há nenhum dado para ser alterado nestas telas de configuração.
ATENÇÃO!!!: O Quartus não aceita caminhos de pastas com espaços, acentos ou outros caracteres exceto letras, números e "_"

Observando a estrutura interna do PLD

Após isso compile o projeto (Processing > Start Compilation).

Chip Planner

Depois de terminada a compilação, clique com o botão direito do mouse sobre o CI 74161 no diagrama esquemático e (Locate > Locate in Chip Planner) o que fará abrir o Chip Planner, indicando onde o 74161 está localizado. Note que várias cores são utilizada para indicar diferentes tipos de circuitos lógico e taxas de ocupação.


Figura 1 - Taxa de ocupação no Chip Planner
ChipPlanner Ckt74161.png
Fonte: Elaborado pelo autor.

Na figura acima as áreas indicadas em marrom correspondem aos pinos de entrada/saída (I/O). A intensidade indica a ocupação dos pinos e do circuito correspondente a cada pino. As áreas em azul corresponde aos Logic Array Blocks (LABs), onde cada LAB contem 10 elementos lógicos.

Node Properties

Para visualizar o interior desses circuito e sua ocupação clique sobre um desses elementos lógicos (ou sobre o pino de I/O) e observe o circuito na janela Node Properties.


Figura 2 - Circuito do pino de I/O da família MAX II
IOCkt MAXII.png
Fonte: Elaborado pelo autor.

Figura 3 - Circuito do elemento lógico da família MAX II
LECkt MAXII.png
Fonte: Elaborado pelo autor.

Para observar os barramentos e as interconexões possíveis dentro o dispositivos, selecione na janela Layers Settings. Use o zoom para visualizar melhor a região desejada

[x] Local Routing
[x] Global Routing
[x] Ports

Figura 4 - Barramentos de roteamento da família MAX II
Routing MAXII.png
Fonte: Elaborado pelo autor.

Se quiser apenas observar os recursos que estão sendo utilizados de-selecione na janela Layers Settings [ ] Unused resources.

Pin Planner

Para observar o leiaute dos pinos externos, e também para definir a posição de cada porta de entrada e saída do circuito é possível utilizar a interface do Pin Planner.


Figura 5 - Pin Planner
PinPlanner MAXII.png
Fonte: Elaborado pelo autor.

A parte de superior da interface mostra a posição física do pinos e sua função conforme a legenda de símbolos. Os pinos usados são destacados com cores. Na parte inferior da mesma interface é possível definir o pino que será atribuído a cada porta através da coluna Location, assim como definir o tipo de interface a ser usada nos pinos de Entrada/Saída (coluna I/O Standard) e também a limitação de corrente nestes pinos (coluna Current Strength). Na borda esquerda da interface tem diversos icones que ativam diferentes visualizações nesta interface.

Relatório do tempo de processamento

Para visualizar o tempo utilizado pelo Quartus para o processamento, é possível obter os valores na aba [Tasks] .


Figura 6 - Tempo de processamento
Elapsed Time.png
Fonte: Elaborado pelo autor.

A figura mostra que foram usados 39 segundos para realizar todos as tarefas de compilação, desse tempo, 12 segundos foram para realizar a Análise e Síntese.

RTL Viewer

Para observar o circuito RTL obtido, siga o procedimento indicado em RTL Viewer.


Figura 6 - RTL Viewer
RTL Ckt74161.png
Fonte: Elaborado pelo autor.

Technology Map

Para observar o mapeamento tecnologico realizado na sintese pelo quartus, siga o procedimento indicado em Technology Map Viewer.


Figura 7 - Technology Map Viewer
TM Ckt74161.png
Fonte: Elaborado pelo autor.