Laman

Rabu, 01 Januari 2020

Hal Menarik di FPGA

IO untuk tester
Mungkin anda bisa menggunakan CMOD-A7 untuk memulai pengoprekan yang lebih greget di dunia perembeddedan. Anda bisa menggunakan beragam macam yang aneh dengan board 75$ itu.

Ada macam cara untuk memprogramnya berikut adalah code verilog untuk mengetes seven series anda


`timescale 1ns / 1ps

module btn_led(
    input [1:0]btn,   // Button inputs
    output [1:0]led  // Led outputs
    );
   
    // Assign each btn to it's respective led
    assign led = btn;
   
endmodule




dan berikut file constrainnya

set_property -dict {PACKAGE_PIN A18 IOSTANDARD LVCMOS33} [get_ports {btn[0]}]
set_property -dict {PACKAGE_PIN B18 IOSTANDARD LVCMOS33} [get_ports {btn[1]}]

set_property -dict {PACKAGE_PIN A17 IOSTANDARD LVCMOS33} [get_ports {led[0]}]
set_property -dict {PACKAGE_PIN C16 IOSTANDARD LVCMOS33} [get_ports {led[1]}]

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
set_property CONFIG_MODE SPIx4 [current_design]

file pertama yang verilog digunakan untuk membangun logicnya sedangkan constrain untuk menempatkan pin sesuai dengan logicnya agar bisa mengakses lednya.

Misalkan anda ingin merubah led yang merah yang mau dijadikan patokan input output tinggal edit constrainnya misal A17 diganti dengan B17, maka konstraintnya akan berubah seperti berikut ini

set_property -dict {PACKAGE_PIN A18 IOSTANDARD LVCMOS33} [get_ports {btn[0]}]
set_property -dict {PACKAGE_PIN B18 IOSTANDARD LVCMOS33} [get_ports {btn[1]}]

set_property -dict {PACKAGE_PIN B17 IOSTANDARD LVCMOS33} [get_ports {led[0]}]
set_property -dict {PACKAGE_PIN C16 IOSTANDARD LVCMOS33} [get_ports {led[1]}]




Referensi :
  1.  CMOD-A7 starting