I output the clock generated through GPIO, but I cannot check the data on the oscilloscope.
I am developing using the AMD Kintex7 FPGA KC705 Evaluation Kit and using the Vivado 2022.2 version.
I want to use the GPIO of XADC and output the created clock to GPIO_0 using the port below.
I found some information about the pins (XDC files) provided by Xilinx and used them.
set_property PACKAGE_PIN AA27 [get_ports XADC_GPIO_3]
set_property IOSTANDARD LVCMOS25 [get_ports XADC_GPIO_3]
set_property PACKAGE_PIN AB28 [get_ports XADC_GPIO_2]
set_property IOSTANDARD LVCMOS25 [get_ports XADC_GPIO_2]
set_property PACKAGE_PIN AA25 [get_ports XADC_GPIO_1]
set_property IOSTANDARD LVCMOS25 [get_ports XADC_GPIO_1]
set_property PACKAGE_PIN AB25 [get_ports XADC_GPIO_0]
set_property IOSTANDARD LVCMOS25 [get_ports XADC_GPIO_0]
This is the code I used for testing. The generation of clock data was confirmed through the LED and annotated as an error related to LVMOS.
.v
`timescale 1ns / 1ps
module top(
input rst,
input clk_p,
input clk_n,
//output [7:0] leds,
output gpio_0
);
wire clk;
IBUFDS #(
.DIFF_TERM("FALSE"),
.IBUF_LOW_PWR("TRUE"),
.IOSTANDARD("DEFAULT")
) IBUFDS_inst (
.O(clk),
.I(clk_p),
.IB(clk_n)
);
reg [31:0] counter;
always @ (posedge clk or posedge rst)
if(rst)
counter <= 0;
else
counter <= counter + 1'b1;
//assign leds = counter[31:24];
assign gpio_0 = counter[10];
endmodule
.xdc
set_property PACKAGE_PIN AD12 [get_ports clk_p]
set_property IOSTANDARD LVDS [get_ports clk_p]
set_property IOSTANDARD LVCMOS15 [get_ports rst]
set_property PACKAGE_PIN G12 [get_ports rst]
#set_property PACKAGE_PIN AB8 [get_ports {leds[0]}]
#set_property PACKAGE_PIN AA8 [get_ports {leds[1]}]
#set_property PACKAGE_PIN AC9 [get_ports {leds[2]}]
#set_property PACKAGE_PIN AB9 [get_ports {leds[3]}]
#set_property PACKAGE_PIN AE26 [get_ports {leds[4]}]
#set_property PACKAGE_PIN G19 [get_ports {leds[5]}]
#set_property PACKAGE_PIN E18 [get_ports {leds[6]}]
#set_property PACKAGE_PIN F16 [get_ports {leds[7]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[7]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[6]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[5]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[4]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[3]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[2]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[1]}]
#set_property IOSTANDARD LVCMOS15 [get_ports {leds[0]}]
set_property PACKAGE_PIN AB25 [get_ports gpio_0]
set_property IOSTANDARD LVCMOS33 [get_ports gpio_0]
I would like to know how to use XADC's GPIO or if it is possible to use that port.
The XADC of the FPGA KC705 is used for temperature and debugging of the FPGA, and the GPIO is also used to receive input.
To implement the system, you must use the FMC of KC705.