This article show simple project creation and SPI Flash update.

 Create Vivado project for TE0714. Project settings should be like

Create/Add VHDL source file top.vhd.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity top is
    Port ( clk : in STD_LOGIC;
           led : out STD_LOGIC);
end top;
architecture Behavioral of top is
signal led_cnt      : UNSIGNED(22 downto 0);
begin
process(clk)
begin
    if(clk = '1' and clk'event)then
        led_cnt     <= led_cnt + 1;
    end if;
end process;
led     <= led_cnt(22);
end Behavioral;

Create/Add constaraints file TE0714.xdc

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 66 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR NO [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.M1PIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.M2PIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.M0PIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.USR_ACCESS TIMESTAMP [current_design]

set_property PACKAGE_PIN T14 [get_ports clk]
set_property IOSTANDARD LVCMOS18 [get_ports clk]
set_property PACKAGE_PIN K18 [get_ports led]
set_property IOSTANDARD LVCMOS18 [get_ports led]

Click "Generate Bitstream". After bitstream generation complete generate MCS file. Fastest way is to use TCL command in project "Tcl Console"

write_cfgmem -force -interface SPIx4 -format MCS -size 128 -loadbit "up 0x0 C:/path_to_project/project_name.runs/impl_1/top.bit" -file "C:/path_to_project/TE0714-blinky.mcs"

Where "path_to_project" and "project_name" should be replaced by real project path and  name.

Connect and power on TE0714 module.

In Vivado select "Open Hardware Manager -> Open Target" to run "Hardware Manager"

Right click on xc7a35t_0 to select "Add configuration Memory Device..." dialog

Select n25q128-1.8v-spi-x1_x2_x4 from part list

Press "OK" in to start program dialog

Select your MCS file and set "State of non-config mem I/O pins" to "Pull-up"

Press OK to start Flash program. 

After that module should boot from QSPI Flash.

 

 

  • No labels