Gustavo G. Parma. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL.
|
|
- Yan Bennert Farinha
- 7 Há anos
- Visualizações:
Transcrição
1 Introdução à VHDL Gustavo G. Parma Assunto: Introdução à VHDL. Objetivos: O aluno deverá ser capaz de compreender os conceitos básicos de VHDL. 1 Introdução Teórica VHDL, VHSIC (Very High Speed Integrated Circuits) Hardware Description Language, foi desenvolvido como um padrão de linguagem de programação que descreve a estrutura e o funcionamento de circuitos integrados digitais. Sendo um padrão desenvolvido pelo IEEE, a cada 5 anos é feita uma revisão do assunto podendo haver modificações no padrão inicialmente proposto. A utilização do VHDL possibilita o desenvolvimento metodológico de sistemas complexos. Inicialmente ele permite a descrição do sistema em partes, ou seja, ele permite a decomposição de um grande sistema em subsistemas indicando como estes subsistemas estão conectados. Em segundo lugar, ele permite a utilização de formas padrões de programação no desenvolvimento de um sistema digital e, como conseqüência, ele permite a simulação do sistema digital antes de sua implementação. Além disto, por ser uma linguagem padrão de programação de circuitos digitais, o código VHDL é desenvolvido independentemente do CI a ser utilizado permitindo, desta forma, uma grande flexibilidade na hora da implementação do sistema. Por se tratar de uma linguagem de programação, VHDL segue alguns preceitos básicos de um linguagem estruturada. Em VHDL um elemento que executa uma função digital qualquer é chamado de entity e os pinos de entrada ou saída deste componente estão listados na seção de port. A primeira etapa no desenvolvimento de um sistema digital utilizando VHDL é a definição da entidade e seus pinos de entrada e saída, a qual funciona como a interface entre que o componente realmente faz e o mundo exterior a ele. A declaração utiliza o seguinte código: entity nome-do-elemento is port (NPI1,NP2I,NPI3 : in tipo-variável; NPI4,NPI5 : in tipo-variável; NPO1,NPO2 : out tipo-variável; NPO3,NPO4 : out tipo-variável); end nome-do-elemento; onde: NPI1,NPI2,NPI3,NPI4 e NPI5 são os nomes dos pinos de entrada; NPO1, NPO2, NPO3 e NPO4 são os nomes dos pinos de saída; As palavras em negrito são palavras reservadas; o tipo-variável indica qual o tipo da varíavel de entrada/saída do pino. Este tipo define quais operações podem ser executadas com um determinado pino. Os seguintes tipos são suportados pelo software da Xilinx:
2 1. BOOLEAN: o mais abstrato dos tipos de variável. Uma variável booleana pode ser verdadeira ou falsa; 2. INTEGER range 0 to 31: A variável inteira permite operações matemáticas básicas com os sinais, devendo ser especificado os limites desta variável. Os limites máximos para uma variável do tipo integer são: (2 31 ) até (2 31 1). Não se pode ter acesso direto aos bits de uma variável do tipo inteiro. 3. BIT: pode assumir dois valores lógicos, 0 ou 1; 4. BIT VECTOR (3 downto 0): vetor de bits, no caso um vetor de quatro elementos; 5. STD LOGIC; Este tipo é pré-definido em uma biblioteca do software. Esta biblioteca permite, dentre outras coisas, o acesso aos bits de uma variável do tipo inteiro. 6. STD LOGIC VECTOR (0 to 3): similar ao tipo anterior, porém definindo um vetor de 4 elementos. Após a definição da entidade, é necessário a definição da arquitetura desta entidade. A arquitetura determina o comportamento da entidade, em função dos pinos de entrada/saída. A arquitetura é definida utilizando a seguinte sintaxe: architecture nome-da-arquitetura of nome-da-entidade is begin nesta parte entra o corpo da arquitetura end nome-da-arquitetura; O corpo da arquitetura é composto dos seguintes elementos: 1. Declaração de sinais, tipos, constantes, componentes ou sub-programas. Um sinal é uma variável local à arquitetura ou ao bloco onde ela é definida, podendo, também, ser definido na arquitetura da entidade, antes do begin; 2. Definição dos blocos concorrentes (executados paralelamente), logo após o begin, os quais podem ser: (a) associação de valores a sinais; (b) chamadas de procedimentos: chamadas a algoritmos que executam uma determinada função (c) Processos: Algoritmos executados sequencialmente, podendo ler ou escrever sinais definidos no resto da arquitetura; A associação de valores para as variáveis pode ser executada de duas formas distintas, em função do tipo da variável e da forma como a variável foi definida (VARIABLE ou SIGNAL). A := 1; para VARIABLE B <= 1; para SIGNAL C <= 1 ; para SIGNAL tipo BIT D <= 0101 ; para SIGNAL do tipo vetor de BIT (bit vector ou STD logic vector) A diferença de uma variável SIGNAL - definida na arquitetura - de uma variável VARIABLE - definida dentro do processo - é que a primeira tem o seu valor associado apenas quando o processo termina, enquanto o valor da segunda é associado a cada passo de execução do processo. Além disto, 2
3 uma variável SIGNAL possui escopo global, ou seja, se a arquitetura possui mais de um processo, todos os processos enxergam a variável SIGNAL, enquanto que o escopo da variável VARIABLE é local, somente o processo no qual ela foi definida consegue enxergá-la. variable A, B: BIT; signal C: BIT VECTOR(1 to 4); A := 1 ; variável A possui o valor 1 B := 0 ; variável B possui o valor 0 C <= 1100 ; variável C possui o valor 1100 Em função do tipo da variável, pode-se executar operações matemáticas ou lógicas com a variável criada. Os operadores em HDL podem ser lógicos, relacionais, unários, soma, multiplicadores ou outros. 1. Operadores lógicos: AND, OR, NAND, NOR, XOR e NOT, podendo ser aplicados a variáveis do tipo DIT, BOOLEAN ou vetores destes tipos. É importante ressaltar que a precedência de execução do AND e igual à do OR, desta forma é importante separar os termos com parenteses para que a implementação de uma dada função lógica não ocorra de forma erronea. signal A, B, C: BIT VECTOR(3 downto 0); signal D, E, F, G: BIT VECTOR(1 downto 0); signal H, I, J, K: BIT; signal L, M, N, O, P: BOOLEAN; A <= B and C; D <= E or F or G; H <= (I nand J) nand K; L <= (M xor N) and (O xor P); 2. Operadores relacionais: = (igual), / = (diferente), < (menor), <= (menor ou igual), > (maior), e >= (maior ou igual). Os dois primeiros operadores (igual e diferente) podem ser aplicados a qualquer tipo de variável. Os demais podem ser aplicados a variáveis com sinal ou inteiros. O resultado de uma operação relacional é do tipo BOOLEAN. A comparação de vetores é feita bit a bit, da esquerda para a direita, independentemente do número de elementos em cada um dos vetores a serem comparados. Desta forma,o vetor é menor do que o vetor 1011, porque o quarto bit (da esquerda para a direita) do primeiro vetor é igual à 0 e o quarto bit do segundo vetor é igual à 1. signal A, B: BIT VECTOR(3 downto 0); signal C, D: BIT VECTOR(1 downto 0); signal E, F, G, H, I, J: BOOLEAN; G <= (A = B); H <= (C < D); I <= (C >= D); J <= (E > F); 3. Operador unário: (menos), utilizado para variáveis do tipo inteiro. signal A, B: INTEGER range -8 to 7; A <= -B; 3
4 4. Operador de soma: podendo ser soma aritmética ou concatenação. Os operadores + e são utilizados para operação aritmética entre variáveis do tipo inteiro e o operador & é utilizado para a concatenação de todo os tipos variáveis unidimensionais e é utilizado para a construção de vetores. signal A, D: BIT VECTOR(3 downto 0); signal B, C, G: BIT VECTOR(1 downto 0); signal E: BIT VECTOR(2 downto 0); signal F, H, I: BIT; signal J, K, L: INTEGER range 0 to 3; A <= not B & not C; Array & array D <= not E & not F; Array & element G <= not H & not I; Element & element J <= K + L; Simple addition 5. Operadores de multiplicação: (multiplicação), / (divisão), mod (quociente da divisão), ou rem (resto da divisão), utilizados para variáveis do tipo inteiro. Para a utilização dos operadores /, mod ou rem o operador do lado direito deve ser uma potência de dois. signal A, B, C, D, E, F, G, H: INTEGER range 0 to 15; A <= B * 4; C <= D / 4; E <= F mod 4; G <= H rem 4; 6. Outros: existem mais duas operação disponíveis, exponenciação ( ) ou módulo (ABS). Para a utilização da exponenciação é necessário que o operador do lado esquerdo seja uma potência de dois. Estas duas operações são definidas para variáveis do tipo inteiro. signal A, B: INTEGER range -8 to 7; signal C: INTEGER range 0 to 15; signal D: INTEGER range 0 to 3; A <= abs(b); C <= 2 ** D; Como mencionado, um processo é um algoritmo executado sequencialmente pelo dispositivo. Desta forma, todo comando que tiver uma origem sequencial (desvio de fluxo de programa), tais como IF, CASE, LOOPS precisam, necessariamente, ser inseridos dentro de um processo. A declaração de um processo segue as seguintes diretrizes: [ label: ] process [ ( sensitivity list ) ] { process declarative item } begin end process [ label ] ; Onde: 4
5 sensitivity list é a lista das variáveis (SIGNALs e PORTs) que serão acessíveis ao processo, separados por vírgula; process declarative item é o espaço no qual são feitas as declarações de sub-programas, Tipos, constantes e variáveis locais ao processo; sequential statement é o espaço no qual é feita a programação sequencial, propriamente dita. Pode-se utilizar os seguintes códigos de programa nos processos: 1. Comando IF THEN if condition then { elseif condition then } [ else ] end if; Exemplo: signal A, B, C, P1, P2, Z: BIT; if (P1 = 1 ) then Z <= A; elseif (P2 = 0 ) then Z <= B; else Z <= C; end if; 2. Comando CASE case expression is when choices => { when choices => } end case; exemplo: signal VALUE is INTEGER range 0 to 15; signal Z1, Z2, Z3, Z4: BIT; Z1 <= 0 ; Z2 <= 0 ; 5
6 Z3 <= 0 ; Z4 <= 0 ; case VALUE is end case; when 0 => verifica o 0 Z1 <= 1 ; when 1 3 => verifica o 1 ou 3 Z2 <= 1 ; when 4 to 7 2 => verifica o 2, 4, 5, 6 ou 7 Z3 <= 1 ; when others => verifica os valores restantes, 8 até 15 Z4 <= 1 ; 3. Comandos de LOOP Existem ao menos três tipos de iteração para loops (a) Loop: Esquema básico sem critério de parada pré-definido. O processo é executado ao encontrar um comando NEXT ou um comando EXIT. Este esquema deve conter ao menos uma linha de comando de espera. [label :] loop end loop [label]; (b) while...loop: Este equema de loop possui um sistema de iteração booleana. Se a condição da iteração for avaliada como TRUE, a sequencia é executada uma vez. A condição é, então, reavaliada. O loop só irá terminar quando a condição for avaliada como FALSE. Este esquema deve conter ao menos uma linha de comando de espera. [label :] while condition loop end loop [label]; (c) for...loop: Este esquema possui um sistema de iteração do tipo inteiro, onde o número de repetições é determinado pelo limite do inteiro.este esquema não deve conter um comando de espera. [label :] for identifier in range loop end loop [label]; O seguinte exemplo mostra dois códigos equivalentes: variable A, B: BIT VECTOR(1 to 3); primeiro código, utilizando loop for I in 1 to 3 loop A(I) <= B(I); end loop; 6
7 segundo código, utilizando associação direta A(1) <= B(1); A(2) <= B(2); A(3) <= B(3); 4. Comando WAIT Uma linha de espera suspende a execução de um processo até que seja detectado uma transição positiva ou negativa em um determinado sinal, pode-se utilizar as seguintes sintaxes: (a) wait until signal = value ; (b) wait until signal event and signal = value ; (c) wait until not signal stable (d) and signal = value ; 5. Comando NEXT Este comando termina a iteração corrente de um loop e muda para o primeiro comando dentro do loop. next [ label ] [ when condition ] ; onde label pode ser o nome do loop. exemplo: signal A, B, COPY ENABLE: BIT VECTOR (1 to 8);... A <= ;... Assumindo que B possua o valor Assumindo que COPY ENABLE possua o valor for I in 1 to 8 loop next when COPY ENABLE(I) = 0 ; A(I) <= B(I); end loop; 6. Comando EXIT Este comando termina a iteração corrente de um loop e continua a execução do processo no primeiro comando depois do loop. exit [ label ] [ when condition ] ; onde label pode ser o nome do loop que se deseja terminar. exemplo: 7
8 signal A, B: BIT VECTOR(1 downto 0); signal A LESS THAN B: Boolean;... A LESS THAN B <= FALSE; for I in 1 downto 0 loop if (A(I) = 1 and B(I) = 0 ) then A LESS THAN B <= FALSE; exit; elsif (A(I) = 0 and B(I) = 1 ) then A LESS THAN B <= TRUE; exit; else null; continua a comparação end if; end loop; A seguir é mostrado o exemplo simples de um contador módulo 10, utilizando um processo. library IEEE; use IEEE.std logic 1164.all; use IEEE.std logic arith.all; use IEEE.std logic unsigned.all; entity COUNTER is port (CLEAR: in BIT; IN COUNT: in INTEGER range 0 to 9; OUT COUNT: out INTEGER range 0 to 9); end COUNTER; architecture EXAMPLE of COUNTER is begin process(in COUNT, CLEAR) begin if (CLEAR = 1 or IN COUNT = 9) then OUT COUNT <= 0; else OUT COUNT <= IN COUNT + 1; end if; end process; end EXAMPLE; É importante ressaltar que um processo não é chamado ou executado, ele é, simplesmente, implementado. Uma arquitetura pode conter vários processos, sendo que os processos são concorrentes entre si. Desta maneira, as atribuições a variáveis ou pinos dentro de um processo só acontece realmente ao fim do processo, se pensarmos de forma sequencial. Por isto deve-se tomar cuidado extra ao se trabalhar com processos, nos quais podemos pensar de forma sequencial (entre aspas) mas que é implementado concorrentemente aos demais comandos da arquitetura. 8
9 2 Parte Experimental : Desenvolva o código VHDL para a implementação do semáforo da aula anterior, o qual havia sido implementado usando a ferramenta gráfica do Quartus II. 9
VHDL. Descrição e Projeto de Circuitos Utilizando VHDL
VHDL Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia
Leia maisIntrodução à Linguagem VHDL
Sistemas Digitais EEL 480 Introdução à Linguagem VHDL Luís Henrique M. K. Costa luish@gta.ufrj.br UFRJ DEL/Poli e PEE/COPPE P.O. Box 68504 - CEP 21941-972 - Rio de Janeiro - RJ Brasil - http://www.gta.ufrj.br
Leia maisVHDL Circuitos Combinacionais
VHDL Circuitos Combinacionais Neste módulo será feita uma revisão de circuitos combinacionais introduzindose alternativas representações em VHDL Uma descrição VHDL, de forma geral, pode seguir uma das
Leia maisLivro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC
Livro texto: VHDL- Descrição e Síntese de Circuitos Digitais Roberto D Amore Editora LTC Linguagem para descrever o funcionamento de um sistema (o que e como o sistema faz). O sistema descrito em HDL
Leia maisAula 2 Semântica de VHDL
VHDL - VHSIC Hardware Description Language Aula 2 Semântica de VHDL Leonardo Augusto Casillo Ivan Saraiva Silva 2003-2 Identificadores Usados como referência a todos os objetos declarados no código. Regras:
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I. Introdução ao VHDL. César A. M. Marcon
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Introdução ao VHDL César A. M. Marcon VHDL Uma Linguagem de Descrição de Hardware 2 Originou como linguagem para descrever hardware, no contexto do programa
Leia maisIntrodução à Linguagem VHDL
Fundamentos de Sistemas Digitais 23/abril/2019 Introdução à Linguagem VHDL profs. Alexandre M. Amory e Fernando G. Moraes 1 Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar
Leia maisDescrição e Projeto de Circuitos Utilizando VHDL
Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia Melhor
Leia maisMódulo 4 Introdução ao VHDL
1 Módulo 4 Introdução ao VHDL Conceitos básicos do VHDL Modelação, Simulação e Síntese de Sistemas Digitais entity declara o interface de um componente; architecture descreve a realização de um componente;
Leia maisIntrodução à Linguagem VHDL
Fundamentos de Sistemas Digitais Introdução à Linguagem VHDL prof. Dr. Alexandre M. Amory Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar verilog e SystemC Bem didático! um
Leia maisLógica Reconfigurável
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA MESTRADO EM SISTEMAS DE ENERGIA Lógica Reconfigurável - amauriassef@utfpr.edu.br
Leia maisPCS3225. Sistemas Digitais II. Biestáveis em VHDL. Biestáveis em VHDL. Marcos A. Simplicio Jr.
PCS3225 Sistemas Digitais II Biestáveis em VHDL Marcos A. Simplicio Jr. Slides baseados em material de Edson Midorikawa e Bruno Albertini PCS3225-2015 1 Tópicos VHDL: recapitulação Circuitos sequenciais
Leia maisIntrodução ao VHDL. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva. Original por Ayman Wahba
Introdução ao VHDL Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva Original por Ayman Wahba VHDL É uma linguaguem de descrição de hardware, ou seja, uma forma estruturada para a descrição de circuitos
Leia maisIntrodução. VHDL: VHSIC Hardware Description Language. Origem: VHSIC: Very High Speed Integrated Circuits. Departamento de Defesa EUA
Introdução VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits Origem: Departamento de Defesa EUA desenvolvida entre anos 70 e 80 descrever e modelar circuitos complexos
Leia maisDISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Introdução à Linguagem VHDL Plano de Ensino Conteúdo Programático 3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou
Leia maisProjetos de Circuitos Digitais em VHDL e FPGA
Projetos de Circuitos Digitais em VHDL e FPGA Cap. 2 - Introdução ao VHDL Prof. Erivelton Geraldo Nepomuceno Engenharia Elétrica UFSJ - Universidade Federal de São João del-rei 13 de março de 2019 Objetivo
Leia maisRevisão: Projeto de Processadores em VHDL
Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto de Processadores em VHDL DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Sumário
Leia maislow): Descreve o que o sistema deve fazer utilizando expressões lógicas.
Descrição por fluxo de dados (Data Data-Flow low): Descreve o que o sistema deve fazer utilizando expressões lógicas. Descrição estrutural: Descreve como é o hardware em termos de interconexão de componentes.
Leia maisUniversidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 5-P Processos em VHDL. Comandos de atribuição em VHDL:
Leia maisSistemas Digitais. Linguagem Verilog. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)
Sistemas Digitais Linguagem Verilog Monitoria SD 2011.2 Daniel Alexandro/Reniê Delgado/Vanessa Ogg Editado por (DARA) Introdução Verilog é uma linguagem, como VHDL, largamente usada para descrever sistemas
Leia maisDISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 18/04/2016 Prof. Alexandre - ELP1DLP1 / DEE
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Introdução à Linguagem VHDL Plano de Ensino Conteúdo Programático 3. Ferramentas de Desenvolvimento 3.4. Editor de texto (programação VHDL ou
Leia maisDescrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas.
Descrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas. Descrição estrutural: Descreve como é o hardware em termos de interconexão de componentes. Descrição
Leia maisDISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP. 10/03/2017 Prof. Alexandre - ELP1DLP1 / DEE
DISPOSITIVOS LÓGICOS PROGRAMÁVEIS - DLP 1 Objetivos da Aula: Linguagem VHDL Bibliotecas e Tipos de Dados STD STD_LOGIC_1164 Constantes, Variáveis, Sinais, Arrays, Range Expressões (Operadores) Exemplos
Leia maisDemonstração de imagens de auxílio didático. VHDL - Descrição e Síntese de Circuitos Digitais Roberto d Amore
Demonstração de imagens de auxílio didático VHDL - Descrição e Síntese de Circuitos Digitais Roberto d Amore ISBN 85-216-1452-7 Editora LTC www.ltceditora.com.br Para imagens de um curso completo consulte:
Leia maisO AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.
O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO Prof. Angelo Augusto Frozza, M.Sc. ROTEIRO 1. A linguagem de programação Object Pascal a) Palavras reservadas b) Tipos de dados, variáveis e constantes
Leia mais4. Constantes. Constantes pré-definidas
4. Constantes Constantes pré-definidas O PHP possui algumas constantes pré-definidas, indicando a versão do PHP, o Sistema Operacional do servidor, o arquivo em execução, e diversas outras informações.
Leia maisTipos enumerados definem uma lista de valores, e são especialmente úteis na
Usando a palavra reservada TYPE é possível definir tipos personalizados. Por exemplo, pode-se definir tipos enumerados (Enumerated) e tipos compostos (Array). Tipos enumerados definem uma lista de valores,
Leia maisProf. Leonardo Augusto Casillo
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 3 Introdução ao VHDL Prof. Leonardo Augusto Casillo O que significa VHDL? Very High Speed Integrated Circuit Hardware Description
Leia maisELETRÔNICA DIGITAL I
ELETRÔNICA DIGITAL I DE10-LITE Programação Utilizando VHDL Professor Dr. Michael Klug 1 Comparativo Linguagens Linguagem de Programação x HDL Supondo que cada instrução leve 20ns entre 40 e 60ns para conclusão
Leia maisProjeto com Dispositivos Programáveis
Projeto com Dispositivos Programáveis E.T.M./2011 (revisão) RESUMO Nesta experiência será apresentada uma metodologia para projeto de sistemas digitais utilizando FPGAs (dispositivos programáveis) e HDLs
Leia maisPascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string
Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program
Leia maisCapítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
Leia maisALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior
ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,
Leia maisProgramação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
Leia maisPHP Instalação. Linguagens Server-side Professor Fábio Luís da Silva Santos XAMPP.
Linguagens Server-side Professor Fábio Luís da Silva Santos PHP Instalação XAMPP Apache PHP MySQL http://www.apachefriends.org/en/index.html 1 PHP Instalação Ferramentas de desenvolvimento Notepad++ NetBeans
Leia maisSuporte de funcionamento e interacção com o teclado
Suporte de funcionamento e interacção com o teclado Autor: André Amaral Costa (nº 7578) Curso: Universidade de Aveiro Data: 6 de Dezembro de 006 Disciplina: Docente: Valery Sklyarov Introdução Neste trabalho
Leia maisUniversidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Lógica Programável INE 5348 Aula 1-P Formas de implementação
Leia maisIntrodução à Computação
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Conceitos Básicos de Eletrônica Digital (Parte IV) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br
Leia maisFPGA & VHDL. Tutorial Aula 1. Computação Digital
FPGA & VHDL Tutorial Aula 1 Computação Digital FPGA Field Programmable Gate Array Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programáveis ) para desempenhar uma
Leia maisFPGA & VHDL. Tutorial
FPGA & VHDL Tutorial 2009-2 FPGA FieldProgrammableGateArray Dispositivo lógico contendo uma matriz de: Células lógicas genéricas Configuráveis ( programadas ) para desempenhar uma função simples Chaves
Leia maisLinguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Leia maisVHDL. Prof. Maurício A Dias Laboratório de Lógica Digital
VHDL Prof. Maurício A Dias Laboratório de Lógica Digital Introdução VHDL é uma linguagem para descrever sistemas digitais utilizada universalmente. Origem: VHDL é proveniente de VHSIC Hardware Description
Leia maisProf. Luiz Marcelo Chiesse da Silva VHDL. 1.Histórico
VHDL 1.Histórico A linguagem VHDL deve o seu desenvolvimento à necessidade de uma ferramenta de projeto e documentação padrão para o projeto VHSIC - Very High Speed Integrated Circuit, do Departamento
Leia maisFundamentos de Programação. Turma CI-240-EST. Josiney de Souza.
Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 8 (30/09/15) Comentários sobre exercícios propostos Desvio condicional Simples Composto Exercícios Propostos
Leia maisUniversidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 3-P Descrição de somadores em VHDL, síntese com o Quartus
Leia maisProjeto com Linguagens de Descrição de Hardware
Projeto com Linguagens de Descrição de Hardware Versão 2012 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware.
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Professor: Diego Oliveira Conteúdo 05: Linguagem Java Conteúdo da Aula Linguagem Java Tipos Primitivos Operadores Aritiméticos Operadores Lógicos Precedência de Operadores
Leia maisEletrônica Digital para Instrumentação. Prof: Herman Lima Jr
G03 Eletrônica Digital para Instrumentação Prof: hlima@cbpf.br Centro Brasileiro de Pesquisas Físicas Ministério da Ciência, Tecnologia e Inovação (MCTI) PACOTES (package) Entidades e Arquiteturas são
Leia maisMCG114 Programação de Computadores I. Comandos de condição 3/26/18. Comando if. Comando if. Até agora... Comandos de Condição! Comandos de Condição
3/26/18 MCG114 Programação de Computadores I Profa. Comandos de condição 20:32:09 1 2 Até agora... Todos os programas têm fluxo de execução único As instruções que serão executadas são sempre as mesmas,
Leia maisProfa. Luiza Maria Romeiro Codá 2
Profa. Luiza Maria Romeiro Codá 2 Descrição por Fluxo de Dados (Data Data-Flow low): Descreve o que o sistema deve fazer utilizando expressões lógicas e comandos concorrentes. Descrição Estrutural: Descreve
Leia maisTópicos Especiais 2 Capítulo 3 Introdução ao VHDL, sintaxe básica, tipo de dados e atribuições
Tópicos Especiais 2 Capítulo 3 Introdução ao VHDL, sintaxe básica, tipo de dados e atribuições Prof. Alan Petrônio Pinheiro - 2011 Introdução VHDL é uma linguagem de descrição de hardware Hardware Description
Leia maisLógica de Programação
Lógica de Programação Aula 2 Conhecendo o Ruby Clenisson Calaça Variáveis Mais Ruby Já sabemos como atribuir um valor a uma variável escrevendo o seu identificador seguido
Leia maisDE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE DO MINHO
Sistemas Digitais I LESI :: 2º ano VHDL António Joaquim Esteves João Miguel Fernandes www.di.uminho.pt/~aje Bibliografia: secção 4.7, DDPP, Wakerly DEP. DE INFORMÁTICA ESCOLA DE ENGENHARIA UNIVERSIDADE
Leia maisLinguagens de Programação
Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 10 de novembro de 2011 Sumário 1 Introdução 2 Paradigma imperativo Modelo
Leia maisTeoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
Leia mais7 Operadores e Expressões
7 Operadores e Expressões 7.1 Definição de operador, expressão e operando Um operador é um símbolo utilizado para identificar que uma determinada operação deve ser realizada sobre um ou mais parâmetros,
Leia maisInformática II Cap. 4-2
Cap. 4-2 1 Estruturas de Controlo O VBA tem diversas estruturas de controlo que podemos utilizar para controlar o fluxo de execução dos programas (procedimento ou conjunto de procedimentos que participam
Leia maisArquitetura de Computadores Aula 9 Portas Lógicas
Arquitetura de Computadores Aula 9 Portas Lógicas Prof. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/18 * Definição * Tipos de portas lógicas (operadores) * Aplicações - porta de transferência
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Linguagem de Descrição de Hardware
Leia maisExercícios Referentes à Prova P1
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Referentes à Prova P1 prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 11 1. Assinale com V se a sentença estiver correta, caso contrário
Leia mais1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog.
1. Objetivos: Familiarizar o aluno com o uso do ambiente de desenvolvimento da Linguagem Verilog. Familiarizar o aluno com a linguagem Verilog. 2. Material utilizado: Ambiente Eclipse 3. Introdução: 3.1
Leia maisCurso de PHP. FATEC - Jundiaí
Curso de PHP ATEC - Jundiaí Aspas Invertidas Ao utilizarmos as aspas invertidas como delimitadores, estaremos usando uma função muito interessante que o PHP oferece, que é executar comandos do sistema
Leia maisExercícios de Fixação
Exercícios de Fixação Para entregar em 07/02/2013 Exercício I Implemente o circuito de seis portas lógicas abaixo em VHDL; Crie um projeto com o simulador Modelsim que contenha o par entidade-arquitetura
Leia maisFundamentos de sistemas digitais. Test-bench. prof. Dr. Edson Ifarraguirre Moreno
Fundamentos de sistemas digitais Test-bench prof. Dr. Edson Ifarraguirre Moreno 2 / 8 Validação por Simulação Utilizar um circuito de teste: test-bench Contém um circuito gerador de teste e uma instância
Leia maisLINGUAGEM C: COMANDOS DE REPETIÇÃO
LINGUAGEM C: COMANDOS DE REPETIÇÃO Prof. André Backes ESTRUTURAS DE REPETIÇÃO Uma estrutura de repetição permite que uma sequência de comandos seja executada repetidamente, enquanto determinadas condições
Leia maisProjeto de Circuito Combinacional
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA) prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 12 ULA Unidade
Leia maisConteúdo. Estrutura do código VHDL; Objetos; Tipos; Universidade Federal do Ceará Engenharia da Computação 2
Conteúdo Estrutura do código VHDL; Objetos; Tipos; Engenharia da Computação 2 Engenharia da Computação 3 Armazenamento de código compilado; As bibliotecas são compostas por pacotes; A declaração de um
Leia maisDisciplina de SSC Elementos de Lógica Digital II (Prática)
USP - ICMC - SSC SSC 0113 (Lab ELD II) - 2o. Semestre 2012 Disciplina de SSC0113 - Elementos de Lógica Digital II (Prática) 1 Prof. Fernando Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Estagiário
Leia maisLÓGICA DIGITAL - CONCEITOS. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas.
* Tipos de Dados. * Constantes. * Expressões: Aritméticas; Lógicas; Tabela Verdade; Relacionais; Booleanas. * Portas Lógicas. 1 TIPOS DE DADOS Dados inteiros Representação das informações pertencentes
Leia maisVariáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Leia maisArquitetura de Computadores
VHDL - VHSIC Hardware Description Language Arquitetura de Computadores Leonardo Augusto Casillo Referências bibliográficas PELLERIN, David. TAYLOR, Douglas. VHDL Made Easy. Prentice-Hall PTR. 1997. SKANHILL,
Leia maisProgramação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
Leia maisFundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno
Fundamentos de Sistemas Digitais Lógica Sequencial Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno 2 Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 7 até 7.4, 9, 10. Não tem
Leia maisTIPO INTEGER. Profa. Luiza Maria Romeiro Codá 2
TIPO INTEGER 2 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY FF3_tipoD_nivel IS PORT(CLK, RST, SET : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(2 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)); END FF3_tipoD_nivel;
Leia maisEstruturas de controle no nível de sentença
Estruturas de controle no nível de sentença Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
Leia maisRevisão da Linguagem C Prof. Evandro L. L. Rodrigues
SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos
Leia maisLógica Reconfigurável
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA MESTRADO EM SISTEMAS DE ENERGIA Lógica Reconfigurável - amauriassef@utfpr.edu.br
Leia maisCapítulo 7. Expressões e Sentenças de Atribuição
Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário
Leia maisISE com VHDL estrutural
UFRJ - DEL EEL480-2014 Laboratório - Turmas EL1, EL2 ISE com VHDL estrutural Texto para as aulas de laboratório, a ser complementado pelo Tutorial dos Alunos e manuais da Xilinx UG331, UG334 e UG695. Mário
Leia maisIMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO.
SISTEMAS DIGITAIS Módulo 06 - Prof. Luís Caldas www.luiscaldas.com.br IMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO. 1.) Introdução: Quando o número
Leia maisPROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Leia maisProgramação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO
Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO Dados em Algoritmos Quando escrevemos nossos programas, trabalhamos com: Dados que nós fornecemos ao programa Dados
Leia maisArquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;
1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e
Leia maisResolução De Problemas Em Informática. Docente: Ana Paula Afonso Resolução de Problemas. 1. Analisar o problema
ALGORITMIA Resolução De Problemas Em Informática Docente: Ana Paula Afonso 2000-2001 Resolução de Problemas 1. Analisar o problema Conhecer o bem o problema Descrever o problema: subdividir, detalhar 2.
Leia maisFunções de Lógica Combinacional
Fundamentos de Sistemas Digitais Funções de Lógica Combinacional prof. Dr. Alexandre M. Amory prof. Dr. Edson I. Moreno Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 6. ppt segue
Leia maisConceitos Básicos de Algoritmos
Conceitos Básicos de Algoritmos 35 TIPOS PRIMITIVOS Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais Palavra-reservada: real - define variáveis numéricas
Leia maisVHDL - VHSIC Hardware Description Language. Exemplo prático. Raiz Quadrada
VHDL - VHSIC Hardware Description Language Exemplo prático Raiz Quadrada Exemplo de um circuito completo Descrição de um circuito que realiza a raiz quadrada de um número natural; Obtenção de um modelo
Leia maisRegistradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva
Registradores Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva 2 Registradores Conjunto de elementos de memória (flip-flops ou latches) utilizados para armazenar n bits. Utilizam um único sinal de
Leia maisLABORG. VHDL Máquina de estados finitos
LABORG VHDL Máquina de estados finitos Sumário Introdução TRABALHO A FAZER A ENTREGAR 2 Na aula anterior vimos: Introdução VHDL pode ser vista não como uma, mas como várias linguagens modelagem/simulação/síntese
Leia maisModelagem de Sistemas com VHDL
Modelagem de Sistemas com VHDL A abstração empregada por projetistas de sistemas digitais pode ser expressa em dois domínios: No domínio estrutural, um componente é descrito em termos de um conjunto de
Leia maisELETRÔNICA DIGITAL. Parte 4 Funções Lógicas - Circuitos Integrados. Professor Dr. Michael Klug. 1 Prof. Michael
ELETRÔNICA DIGITAL Parte 4 Funções Lógicas - Circuitos Integrados Professor Dr. Michael Klug 1 2 ALGEBRA BOOLEANA George Boole (1854): Uma investigação das Leis do Pensamento modo como tomamos decisões
Leia maisProgramação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
Leia mais6) ESTRUTURA DE UM PROGRAMA
Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Operadores Lógicos; Estruturas de Controle (Decisão) Professor: Charles Leite Fluxo de Controle A ordem com que as instruções são executadas em um programa é chamada
Leia maisLinguagem e Técnicas em Programação. Gilson de Souza Carvalho
Gilson de Souza Carvalho gaucho.gilson@hotmail.com 4.3 Comandos de repetição encadeados Apesar de seguir o mesmo padrão de encadeamento de outros comandos já vistos, a utilização de comandos de repetição
Leia maisLinguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;
Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo
Leia maisCalculadora Simples em VHDL
Calculadora Simples em VHDL Versão 2014 RESUMO Esta experiência consiste no projeto e implementação de um circuito digital simples com o uso de uma linguagem de descrição de hardware. São apresentados
Leia maisI1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.
Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis
Leia maisObjetos em VHDL. * Há quatro tipos de objetos em VHDL: - Constantes - Sinais - Variáveis - Arquivos
VHDL * Objetos de Dados * Tipos de Dados * Tipos e Subtipos * Atributos * Sentenças Concorrentes e Sequenciais * Procedimetos e Funções * Pacotes e Bibliotecas * Generics * Tipos de Atraso Objetos em VHDL
Leia mais