Académique Documents
Professionnel Documents
Culture Documents
BLOQUES:
ARQUITECTURA:
Flip-FLop
Multiplexor
Open-drain
Fanout
Cuantas entradas de una familia lógica pueden conectarse a una misma salida.
COMBINACIONALES – LUT
Secuencial. – la salida depende de las entradas y del estado actual del circuito (entrada +
memoria).
ANÁLISIS. – tengo el sistema y doy valores a las entradas y salidas. Plantear el circuito y pedir la
tabla de verdad y la función de salida.
SÍNTESIS. – conozco las entradas y las salidas y diseño el sistema. Plantear la tabla de verdad o
función de salida y a partir de ella diseñar el circuito.
MEMORIAS
BUS DE DATOS
MEMORIA= 2N * n
N palabras
n bits cada palabra
VERILOG
Utilizado para describir sistemas digitales, tales como procesadores, memorias o un simple flip-
flop.
1. Realiza el diseño
2. Crea un fichero HDL (VHDL, Verilog). Simular.
3. Crea un archivo par las conexiones de los periféricos de entrada y salida.
4. Crea un bitstream.
5. Configura.
ICESTUDIO (https://github.com/FPGAwars/icestudio)
Herramienta visual.
INSTALACIÓN:
Cmd
EJEMPLO COPIADO:
SINTETIZABLE
//----------------------------------------------------------------
--
//-- Hello world example
//-- Turn on all the leds
//-- This example has been tested on the following boards:
//-- * Lattice icestick
//-- * Icezum alhambra (https://github.com/FPGAwars/icezum)
//----------------------------------------------------------------
--
endmodule
PARA PRUEBAS
//----------------------------------------------------------------
---
//-- leds_tb.v no es sintetizable
//-- Testbench
//----------------------------------------------------------------
---
//-- Juan Gonzalez (Obijuan)
//-- Jesus Arroyo Torrens
//-- GPL license
//----------------------------------------------------------------
---
`default_nettype none
`define DUMPSTR(x) `"x.vcd`"
`timescale 100 ns / 10 ns
module leds_tb();
initial begin
endmodule
Ayuda de Apio
Dispositivos para programar
Creamos un archivo para sintetizar (HW)
Creamos un archive
set_io LED4 99
set_io LED3 98
set_io LED2 97
set_io LED1 96 LED1 nombre en el sistema
set_io LED0 95
Sintetizar
Programar la tarjeta
NOTG.V
module notg(i,o);
input i;
output o;
wire o;
assign o=!i;
endmodule
NOTG_TB.V
//----------------------------------------------------------------
---
//-- leds_tb.v
//-- Testbench
//----------------------------------------------------------------
---
//-- Juan Gonzalez (Obijuan)
//-- Jesus Arroyo Torrens
//-- GPL license
//----------------------------------------------------------------
---
`default_nettype none
`define DUMPSTR(x) `"x.vcd`"
`timescale 100 ns / 10 ns
module notg_tb();
endmodule
module icezum(SW1,LED0);
input SW1;
output LED0;
wire LED0;
module notg_tb();
endmodule
PARA MODIFICAR EL MODULO PRINCIPAL
- Modifico icezum.v
- Modifico icezum.pcf