Conhecendo os dispositivos lógicos programáveis - QUARTUS PRIME

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

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

Atenção: Se você estiver usando uma versão mais antiga do Quartus II, veja Conhecendo os dispositivos lógicos programáveis - QUARTUS II.


Inserindo um circuito para programação

Abra um diagrama esquemático no Quartus (File > New > Design Files > Block Diagram. Clique em Qsymbol.png para selecionar os símbolos e insira um contador 74161 (name: 74161) e tecle ESC. 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.


Figura 1 - Diagrama esquemático do projeto
Ckt74161.png
Fonte: Elaborado pelo autor.

Após salvar o arquivo como "Ckt74161.bdf" em uma pasta vazia com nome LAB1, 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]. Mantenha a pasta que já foi selecionada LAB1 , e mantenha o nome do projeto e a top-level entity como Ckt74161, clicando [Next]. Na aba Project Type mantenha Empty project, clicando em [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 família de DLPs e do número do dispositivo selecione Device Family: MAX II e Available device: EPM240F100C4, e clique em [Next]. Na tela EDA Tool Settings, selecione a ferramenta de simulação a ser usada e a linguagem Simulation > [ModelSim-Altera] > [VHDL] e clique em [Next]. A próxima tela mostrará o Summary na qual estão os principais parâmetros do projeto e do dispositivo selecionado. Clique em [Finish].

ATENÇÃO!!!: O Quartus não aceita caminhos de pastas com espaços, acentos ou outros caracteres exceto letras, números e "_", iniciando sempre com letras.

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 Node > 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 2 - Taxa de ocupação no Chip Planner
ChipPlanner Ckt74161 QuartusPrime.png
Fonte: Elaborado pelo autor.

Na Figura 1 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. A cor azul mais escura indica os elementos lógicos que estão sendo usados no projeto, e a sombra vermelha indica quais os elementos lógicos corresponde ao componente que você selecionou no diagrama esquemático.

Dica: Para mudar o nível de zoom você pode segurar a tecla [Ctrl] e girar o scroll do mouse.

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 3 - Circuito do pino de I/O sendo usado como entrada - família MAX II
InCkt MAXII.png
Fonte: Elaborado pelo autor.

Figura 4 - Circuito do pino de I/O sendo usado como saída - família MAX II
OutCkt MAXII.png
Fonte: Elaborado pelo autor.

Figura 5 - 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. Dica: Se a janela/aba Layers Settings não estiver visível, você pode reapresentá-la clicando em [View > Layers Settings].

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

Figura 6 - Barramentos de roteamento da família MAX II
Routing MAXII QuartusPrime.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 [Assignments > Pin Planner].


Figura 7 - Pin Planner
PinPlanner MAXII QuartusPrime.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. Dicas:

  • Para mostrar o Fitter Placements, clique em [View > Show > Show Fitter Placements], ou no ícone correspondente.
  • Para mostrar o Pin Legend, clique em [View > Pin Legend Window, ou no ícone correspondente.

Relatório do tempo de processamento

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


Figura 8 - Tempo de processamento
Elapsed Time QuartusPrime.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 9 - RTL Viewer
RTL Ckt74161 QuartusPrime.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 10 - Technology Map Viewer
TM Ckt74161 QuartusPrime.png
Fonte: Elaborado pelo autor.