Estou animado para compartilhar que o curso de VHDL e FPGA que venho desenvolvendo nos últimos seis meses está próximo da conclusão. Atualmente em beta, será lançado oficialmente neste outono. Para Quem é o Curso? Este programa é projetado para desenvolvedores que já conhecem outras linguagens de p
Quando encontrei a interface AXI pela primeira vez ao projetar um módulo, fiquei surpreso com sua abordagem simplificada de controle de fluxo. Diferente de protocolos tradicionais que dependem de pares busy/valid, full/valid ou empty/valid, AXI usa apenas dois sinais: ready e valid. O que começou co
Popular block RAM com valores predefinidos é feito mais eficientemente lendo literais binários ou hexadecimais de um arquivo ASCII. Esta técnica também serve para criar ROMs, pois ROM de FPGA é simplesmente uma RAM que só é lida. Para os exemplos abaixo, as seguintes constantes e tipo de RAM são de
Ler dados de estímulo de um arquivo externo é uma maneira poderosa de controlar um Device-Under-Test (DUT) em VHDL. Scriptando uma sequência de valores de sinais e tempos de simulação em um arquivo de texto simples, projetistas podem trocar rapidamente padrões de teste sem modificar a lógica do test
Ao trabalhar com testbenches VHDL, a maneira mais simples de importar uma imagem é usar o formato de gráficos raster BMP. Arquivos BMP são nativamente suportados pelo Windows e expõem dados de pixel brutos sem compressão, tornando-os ideais para simulação. Este artigo explica como ler um arquivo BM
Este vídeo é uma apresentação introdutória sobre tecnologia FPGA e lógica programável. Apresentei esta palestra de 45 minutos em um evento hospedado pela 7 Peaks Software em Bangkok, Tailândia, em 19 de novembro de 2019. Destaques da apresentação: 05:07 – Quem usa FPGAs? 09:06 – O que é um FPGA?
VHDL inclui um gerador pseudo-aleatório embutido que produz valores de ponto flutuante no intervalo [0, 1]. Escalando e deslocando esses valores, você pode criar dados aleatórios de qualquer tipo — real, integer, std_logic_vector ou time — adequados para testbenches. O guia a seguir mostra como cons
Modulação por largura de pulso (PWM) transforma um pino digital de FPGA em um poderoso controlador analógico. Alternando a alimentação entre ligado e desligado em alta velocidade, o PWM entrega a corrente média exata que um dispositivo precisa, sem nunca gerar uma tensão analógica verdadeira. Aplic
Percebi que muitos dos gadgets que comprei nos últimos anos mudaram de LED piscando para LED respirando. A maioria dos gizmos eletrônicos contém um LED de status cujo comportamento dá indicações do que está acontecendo dentro do dispositivo. Minha escova de dentes elétrica pisca um LED quando é hor
Quando um testbench VHDL atinge o fim de sua execução pretendida, você vai querer que o simulador pare limpa e, se possível, retorne o controle a qualquer script chamador. Este artigo revisa as técnicas mais comuns e confiáveis para parar uma simulação nos principais simuladores VHDL, com exemplos d
A maioria dos simuladores VHDL expõe a Tool Command Language (Tcl) como sua interface de script principal. Quando você digita um comando no console do simulador, está usando Tcl, e também pode escrever scripts que acionam e observam seu projeto VHDL. Este artigo orienta você na construção de um tes
Servos de radiocontrole (RC) são o coração de aeronaves, carros e barcos de hobby. Eles traduzem um comando de rádio remoto em uma posição angular precisa. Como sistemas RC existem há décadas, a interface padrão da indústria é modulação por largura de pulso (PWM) em vez de um protocolo puramente dig
A declaração generate do VHDL permite que projetistas repliquem automaticamente um bloco de código em múltiplas instâncias, cada uma conectada a sinais distintos. Pense nela como um loop for em tempo de compilação que pode criar processos encadeados ou instâncias de módulos, reduzindo drasticamente
Strings de texto em VHDL geralmente são limitadas a arrays de caracteres de comprimento fixo. Isso faz sentido porque VHDL descreve hardware, e strings de comprimento genérico exigiriam memória dinâmica. Para definir um array de strings, você deve alocar espaço em tempo de compilação para o maior n
Este tutorial orienta você no uso dos núcleos Integrated Logic Analyzer (ILA) e Virtual Input/Output (VIO) do Xilinx Vivado para depurar e monitorar projetos VHDL on-chip. Ao final, você saberá como inserir sondas, configurar gatilhos e capturar o comportamento preciso dos sinais sem equipamentos ex
Ao projetar VHDL para aplicações FPGA críticas de segurança, simplesmente escrever testbenches não basta. Engenheiros devem provar que um módulo comporta-se exatamente como especificado, livre de efeitos colaterais ocultos. Verificação formal fornece essa garantia matemática. Verificação formal pree
VUnit é um framework líder open-source de verificação VHDL que acopla um executor de suíte de testes Python com uma biblioteca VHDL dedicada. Juntos eles automatizam compilação de testbench, execução e relatório de resultados, permitindo que engenheiros sigam um ciclo de desenvolvimento orientado a
Já quis rodar uma simulação VHDL que inclui um IP core do Quartus através do framework de verificação VUnit? Era isso que o engenheiro FPGA Konstantinos Paraskevopoulos tinha em mente, mas não encontrou tutorial adequado. Felizmente, usou seu talento para descobrir como e foi gentil o suficiente par
No VHDL, variáveis comportam-se similarmente a variáveis em C: seu valor está disponível imediatamente após uma atribuição e permanece inalterado até a próxima atribuição. Isso as torna ideais para armazenamento temporário e cálculos procedurais dentro de um processo. Regras Principais para Usar Var
Designers digitais dependem de aritmética precisa dentro de FPGAs e ASICs. Um conceito central é a distinção entre tipos de dados signed e unsigned em VHDL. Ambos os tipos são definidos no pacote numeric_std da biblioteca IEEE. Embora muitos designers ainda usem std_logic_arith, este pacote não é pa
VHDL
Solda Robótica: Custo-Efetiva, Versátil e Qualidade Superior
Exemplo de Programa CNC NUMS 322T - G-Code Abrangente para Maquinação CNC
Priorizando Equilíbrio Trabalho-Vida dos Funcionários: Por Que Importa para Seu Negócio
Entendendo Números Negativos em Binário: Sinal-Magnitude, Complemento e Complemento de Dois