Академический Документы
Профессиональный Документы
Культура Документы
Obijuan / open-fpga-verilog-tutorial
Code
Issues 0
Pull requests 0
Watch
Wiki
Pulse
13
Star
31
Fork
15
Graphs
Pages 40
Inicio (EN)
Captulos
Introduccin
Ahora en vez de 1 bit sacaremos 4, y los mostraremos por los leds. Se trata de un valor fijo, que
est "cableado por hardware". Si queremos visualizar otro nmero por los leds, habr que sintetizar
otro circuito.
Este componente lo denominaremos Fport (Fixed port). Tiene un bus de salida de 4 bits,
etiquetado como data, que est cableado al valor binario 1010
La salida ahora es un array de 4 cables. Esto se denota poniendo [3:0] delante del nombre. Para
realizar la asignacin escribimos el nmero en binario usando la notacin de Verilog: Primero el
nmero de bits, luego el carcter ', a continuacin la base del nmero (b para binario) y por ltimo los
4 dgitos binarios. Este mismo nmero se podra expresar mediante un nico dgito hexadecimal
mediante: 4'hA. Tambin lo podramos poner en decimal como 4'd10
https://github.com/Obijuan/open-fpga-ve
Clone in Desktop
converted by W eb2PDFConvert.com
Sntesis en la FPGA
Cada uno de los 4 bits de la salida data se saca por los pines de la fpga donde estn conectados los
4 leds:
data[0]
data[1]
data[2]
data[3]
99
98
97
96
En el mensaje final obtenemos un resumen de los recursos de la FPGA consumidos y los que
quedan libres:
After placement:
PIOs
2 / 96
PLBs
1 / 160
BRAMs
0 / 16
Al terminar, dos leds estarn encendidos y dos apagados, ya que estamos enviando el valor 1010:
converted by W eb2PDFConvert.com
Simulacin
El banco de pruebas es similar al del captulo anterior, pero ahora en vez de comprobar slo un bit
se comprueba el patrn de 4 bits. Si no es igual al esperado se emite un mensaje de error. El
diagrama es el siguiente:
converted by W eb2PDFConvert.com
//-- Fport_tb.v
module Fport_tb;
//-- Bus de 4 cables para conectarlos a la salida del componente Fport
wire [3:0] DATA;
//--Instanciar el componente. Conectar la salida a DATA
Fport FP1 (
.data (DATA)
);
//-- Comenzamos las pruebas
initial begin
//-- Fichero donde almacenar los resultados
$dumpfile("Fport_tb.vcd");
$dumpvars(0, Fport_tb);
//-- Pasadas 10 unidades de tiempo comprobamos
//-- si el cable tiene el patron establecido
# 10 if (DATA != 4'b1010)
$display("---->ERROR! Salida Erronea");
else
$display("Componente ok!");
//-- Terminar la simulacion 10 unidades de tiempo despues
# 10 $finish;
end
endmodule
Observamos que la salida del componente es data, y le hemos conectado el cable DATA, para
enfatizar el hecho de que los nombres pueden ser diferentes
Para realizar la simulacin ejecutamos el comando make sim:
$ make sim
Este es el resultado con gtkwave:
Ejercicios propuestos
Cambiar el valor para sacar otro patrn por los leds. Simular, sintetizar y cargar en la FPGA
Modificar el componente para que el bus sea de 5 bits en vez de 4. Sacar el quinto bit por el pin
44 de la FPGA (no tiene led asociado)
Conclusiones
converted by W eb2PDFConvert.com
TODO
converted by W eb2PDFConvert.com