Objetivos Ementa Livros Professores: JOSEANA ELMAR
|
Informações preliminares sobre conceitos básicos de matematicaÉ possível fazer divisão usando caneta e papel, sem usar calculadora nem computador ?Veja neste video o caso de uma divisão que termina. Assiste este vídeo para ver uma divisão que nunca termina. E aqui um vídeo sobre divisão em binário. Circuito digital para divisãoDefinimos, como exemplo de exercício, uma divisão com dividendo constante igual a 4: u = 4/a, u ∈ ℝ, a ∈ ℕ Empregando um fator de escala t ∈ ℕ para poder usar números inteiros para o resultado, podemos substituir: v = u*t, v ∈ ℕ0 e obtemos a expressão: v = m/a A técnica de fator de escala é usada em todas as aplicações profissionais de computação para fazer cálculos de forma eficiente. Para este exercício queremos usar representação hexadecimal (veja no final do guia do exercício de display de 7 segmentos), para poder trabalhar com mais dígitos do que seria possível usando os oito LED. Trabalhando com dígitos hexadecimais fracionários, t assume potências de 16, ou seja, t pode ser igual a 10hex para 1 dígito hexadecimal fracionário, 100hex para 2 dígitos hexadecimais fracionários, 1000hex para 3 dígitos hexadecimais fracionários, 10000hex para 4 dígitos hexadecimais fracionários,... , ou seja, 16, 162, 163, 164,... , ou seja, 24, 28, 212, 216,.... t e m são parâmetros constantes. Divisão e subtraçãoDefinimos a variável v2 para calcular a diferença de um par de quocientes: v2 = m/a - m/(a+2), a ∈ ℕ Divisão, subtração e somaDefinimos a variável v4 para calcular a soma de duas diferenças de um par de quocientes cada: v4 = m/a - m/(a+2) + m/(a+4) - m/(a+6), a ∈ ℕ Definimos a variável vn: vn = m/a - m/(a+2) + m/(a+4) - m/(a+6) +... , a ∈ ℕ, n ∈ { 2, 4, 6,... }; Prepare os arquivos
Entradas, saídas, variáveis, e constantesA entrada SWI deve ser atribuída à variável a e a variável v deve aparecer na segunda linha do display LCD (output lcd_b). Nas definições de variáveis e parâmetros não podem aparecer valores mágicos. Tem que existir um parâmetro que representa a quantidade de dígitos hexadecimais fracionários. Demais parâmetros que dependem da quantidade de dígitos hexadecimais fracionários devem ser derivados desse parâmetro. Nosso simulador precisa de uma forcinha para usar mais do que 32 bits para a um parâmetro. No lugar deparameter P = 1<<40;é preciso escrever parameter P = 64'd1<<40;
Para saber se o valor calculado pela FPGA está correto, abre um terminal X e dê o seguinte comando:
Por exemplo, para calcular 8 quocientes (v8) com 12 dígitos hexadecimais a partir de a=9: Em casa, pode fazer download de pi.py e dar os comandos Para poder usar um parâmetro para a quantidade de quocientes, é necessário lançar mão de uma construção com laço |