DigiKey Coffee Cup Demo De Contador via 2x20 GPIO Header, kit de evaluación FPGA Cyclone 10 LP

El presente demo va a implementar un counter básico en el Intel® Cyclone® 10 LP FPGA evaluation kit via el 2x20 GPIO header.

El Kit de evaluación Intel® Cyclone® 10 LP Kit de bajo costo, provee una plataforma fácil de usar para verificar las caracteristicas del Intel Cyclone 10 LP FPGA. En un previo artículo, se describió como implementar una interfaz virtualJTAGen en el Cyclone 10 LP FPGA.

En este demo el siguiente GPIO header se va a usar para emitir las salidas desde un contador. El espeficio Verilog HDL usado en este demo es el siguiente,

// Digikey Coffee Cup Counter for 2x20 GPIO header for Intel Cyclone 10 board

module counter (
    input wire clk, // 50MHz input clock

    output wire GPIO0, //GPIO0
    output wire GPIO1, //GPIO1
    output wire GPIO2, //GPIO2
    output wire GPIO3, //GPIO3
    output wire GPIO4, //GPIO4
    output wire GPIO5, //GPIO5
    output wire GPIO6, //GPIO6
    output wire GPIO7, //GPIO7
    output wire GPIO8, //GPIO8
    output wire GPIO9 //GPIO9
);

   reg [31:0] counter;

   initial begin
      counter = 0;
   end

   always @(posedge clk)
   begin
      counter <= counter + 1;
   end
   
   assign GPIO9 = counter[31];
   assign GPIO8 = counter[30];
   assign GPIO7 = counter[29];
   assign GPIO6 = counter[28];
   assign GPIO5 = counter[27];
   assign GPIO4 = counter[26];
   assign GPIO3 = counter[25];
   assign GPIO2 = counter[24];
   assign GPIO1 = counter[23];
   assign GPIO0 = counter[22];


endmodule

El diagrama relevante de este puerto 2x20 GPIO port en el Kit de evaluación de Intel® Cyclone® 10 LP FPGA como se muestra a continuación,

Se sabe desde hace tiempo que estas definiciones pueden automatizarse y pueden ser creadas por GUI’s o otros sistemas, pero el proposito de este articulo no es ese, sino de establecerlos manualmente. Las definiciones de los I/O usadas en este demo son,

	
    set_location_assignment PIN_L13 -to GPIO0
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO0
    
    set_location_assignment PIN_L16 -to GPIO1
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO1
    
    set_location_assignment PIN_L15 -to GPIO2
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO2
    
    set_location_assignment PIN_K16 -to GPIO3
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO3
    
    set_location_assignment PIN_P16 -to GPIO4
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO4
    
    set_location_assignment PIN_R16 -to GPIO5
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO5
    
    set_location_assignment PIN_N16 -to GPIO6
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO6
    
    set_location_assignment PIN_N15 -to GPIO7
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO7
    
    set_location_assignment PIN_N14 -to GPIO8
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO8
        
    set_location_assignment PIN_P15 -to GPIO9
    set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to GPIO9
    

El Sparkfun Logic Analyzer fue conectado para verificar las señales en el puerto 2x20 GPIO como se muestra en la siguiente foto,

La sigueinte toma del Sparkfun Logic Analyzer confirma la operación apropiada de este demo,

El Kit de evaluación Intel® Cyclone® 10 LP FPGA es una excelente plataforma para desorrollar muchas aplicaciones y está disponible en DigiKey.

Que tenga un buen día.

Este artículo está disponible en inglés aquí.

This article is available in english here.

1 Like