General Description: This Answer Record explains how to manually instantiate I/O cells in Verilog.
FPGA Express 2.x and older can insert either all of the I/O in a design or none at all; therefore, if any I/O are instantiated in a design, all of the I/O must be instantiated.
FPGA Express 3.x can insert unspecified I/O; you can instantiate some of the I/O and let FPGA Express insert the rest.
DATAIN_R can be connected to internal logic. Use the following in a UCF file to lock the pin: NET DATAIN_PI LOC=Pxx;
2
Clock signals
1. BUFG This example illustrates how to instantiate a global buffer being driven directly by an input signal. This involves a modification to the resulting XNF netlist because a global buffer can be driven by an internal node, as well as by an external input signal.
(If you do not wish to directly drive the global buffer, and would rather have the signal go through an IBUF, then a BUFG, you can use the previous IBUF example followed by the instantiation of a BUFG, and there is no need to modify the XNF.)