Mudanças entre as edições de "Conhecendo os dispositivos lógicos programáveis - QUARTUS PRIME"
(Criou página com '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 INTE...') |
|||
(19 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
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. | 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. | ||
− | Se você | + | |
+ | '''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== | ==Inserindo um circuito para programação== | ||
− | Abra um diagrama esquemático no Quartus ('''File > New > Design Files > Block Diagram'''. Clique em [[Imagem:qsymbol.png]] para selecionar os símbolos e insira um contador | + | Abra um diagrama esquemático no Quartus ('''File > New > Design Files > Block Diagram'''. Clique em [[Imagem:qsymbol.png]] para selecionar os símbolos e insira um contador '''74161''' (name: 74161) e tecle '''ESC'''. Em seguida clique em [[Imagem: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'''. |
− | + | {{fig|1|Diagrama esquemático do projeto| Ckt74161.png| 700 px |}} | |
+ | Após salvar o arquivo como "Ckt74161.bdf" em uma pasta vazia com nome '''LAB1''', crie um projeto '''Ckt74161''' utilizando a família '''[https://www.altera.com/en_US/pdfs/literature/hb/max2/max2_mii51002.pdf 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 "_" | + | :'''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== | ==Observando a estrutura interna do PLD== | ||
Após isso compile o projeto ('''Processing > Start Compilation'''). | Após isso compile o projeto ('''Processing > Start Compilation'''). | ||
===Chip Planner=== | ===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. | + | 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. |
− | {{fig| | + | {{fig|2|Taxa de ocupação no Chip Planner| ChipPlanner_Ckt74161_QuartusPrime.png| 700 px |}} |
− | Na | + | 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=== | ===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'''. | + | 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'''. |
− | {{fig| | + | {{fig|3|Circuito do pino de I/O sendo usado como entrada - família MAX II| InCkt_MAXII.png| 700 px |}} |
+ | |||
+ | {{fig|4|Circuito do pino de I/O sendo usado como saída - família MAX II| OutCkt_MAXII.png| 700 px |}} | ||
− | {{fig| | + | {{fig|5|Circuito do elemento lógico da família MAX II| LECkt_MAXII.png| 700 px |}} |
− | 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 | + | 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] Local Routing | ||
:[x] Global Routing | :[x] Global Routing | ||
:[x] Ports | :[x] Ports | ||
− | {{fig| | + | {{fig|6|Barramentos de roteamento da família MAX II| Routing_MAXII_QuartusPrime.png| 700 px |}} |
Se quiser apenas observar os recursos que estão sendo utilizados de-selecione na janela '''Layers Settings''' [ ] Unused resources. | Se quiser apenas observar os recursos que estão sendo utilizados de-selecione na janela '''Layers Settings''' [ ] Unused resources. | ||
==Pin Planner== | ==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. | + | 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]'''. |
− | {{fig| | + | {{fig|7|Pin Planner| PinPlanner_MAXII_QuartusPrime.png| 800 px |}} |
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'''). | 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. | 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== | ==Relatório do tempo de processamento== | ||
− | Para visualizar o tempo utilizado pelo Quartus para o processamento, é possível obter os valores na aba '''[Tasks]''' <!-- ou também no '''[Compilation Report > Flow Elapsed Time]''' --> | + | Para visualizar o tempo utilizado pelo Quartus para o processamento, é possível obter os valores na aba '''[Tasks]'''. Recomendo selecionar o fluxo '''[Compilation]'''. |
− | {{fig| | + | <!-- ou também no '''[Compilation Report > Flow Elapsed Time]''' --> |
+ | {{fig|8|Tempo de processamento| Elapsed_Time_QuartusPrime.png| 400 px |}} | ||
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'''. | 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== | ==RTL Viewer== | ||
Para observar o circuito RTL obtido, siga o procedimento indicado em [[RTL Viewer]]. | Para observar o circuito RTL obtido, siga o procedimento indicado em [[RTL Viewer]]. | ||
− | {{fig| | + | {{fig|9|RTL Viewer| RTL_Ckt74161_QuartusPrime.png| 900 px |}} |
==Technology Map== | ==Technology Map== | ||
Para observar o mapeamento tecnologico realizado na sintese pelo quartus, siga o procedimento indicado em [[Technology Map Viewer]]. | Para observar o mapeamento tecnologico realizado na sintese pelo quartus, siga o procedimento indicado em [[Technology Map Viewer]]. | ||
− | {{fig| | + | {{fig|10|Technology Map Viewer| TM_Ckt74161_QuartusPrime.png| 900 px |}} |
Edição atual tal como às 16h00min de 9 de setembro de 2022
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 para selecionar os símbolos e insira um contador 74161 (name: 74161) e tecle ESC. Em seguida clique em 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
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
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
Figura 4 - Circuito do pino de I/O sendo usado como saída - família MAX II
Figura 5 - Circuito do elemento lógico da família MAX II
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
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
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
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
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