Hi

i use my ouwn Spartan-3AN board. this board is compatible with Spartan-3AN starter kit. I have problem with nor flash read and write. my architecture is like attached picture. also my ucf file is like this:

Click image for larger version. 

Name:	Screenshot from 2018-05-10 23-03-20.png 
Views:	2 
Size:	114.5 KB 
ID:	146565

Click image for larger version. 

Name:	Screenshot from 2018-05-10 23-08-50.png 
Views:	1 
Size:	58.4 KB 
ID:	146566

Code:
NET "NOR_FLASH_Mem_A_pin<10>" 			LOC= "F16" | IOSTANDARD= LVCMOS33;#A21
	NET "NOR_FLASH_Mem_A_pin<11>" 			LOC= "G16" | IOSTANDARD= LVCMOS33;#A20
	NET "NOR_FLASH_Mem_A_pin<12>" 			LOC= "F18" | IOSTANDARD= LVCMOS33;#A19
	NET "NOR_FLASH_Mem_A_pin<13>" 			LOC= "G17" | IOSTANDARD= LVCMOS33;#A18
	NET "NOR_FLASH_Mem_A_pin<14>" 			LOC= "F19" | IOSTANDARD= LVCMOS33;#A17
	NET "NOR_FLASH_Mem_A_pin<15>" 			LOC= "F20" | IOSTANDARD= LVCMOS33;#A16
	NET "NOR_FLASH_Mem_A_pin<16>" 			LOC= "G20" | IOSTANDARD= LVCMOS33;#A15
	NET "NOR_FLASH_Mem_A_pin<17>" 			LOC= "H20" | IOSTANDARD= LVCMOS33;#A14
	NET "NOR_FLASH_Mem_A_pin<18>" 			LOC= "H18" | IOSTANDARD= LVCMOS33;#A13
	NET "NOR_FLASH_Mem_A_pin<19>" 			LOC= "H19" | IOSTANDARD= LVCMOS33;#A12
	NET "NOR_FLASH_Mem_A_pin<20>" 			LOC= "J18" | IOSTANDARD= LVCMOS33;#A11
	NET "NOR_FLASH_Mem_A_pin<21>" 			LOC= "J19" | IOSTANDARD= LVCMOS33;#A10
	NET "NOR_FLASH_Mem_A_pin<22>"  			LOC= "L16" | IOSTANDARD= LVCMOS33;#A9
	NET "NOR_FLASH_Mem_A_pin<23>"  			LOC= "L15" | IOSTANDARD= LVCMOS33;#A8
	NET "NOR_FLASH_Mem_A_pin<24>"  			LOC= "M18" | IOSTANDARD= LVCMOS33;#A7
	NET "NOR_FLASH_Mem_A_pin<25>"  			LOC= "M17" | IOSTANDARD= LVCMOS33;#A6
	NET "NOR_FLASH_Mem_A_pin<26>"  			LOC= "N19" | IOSTANDARD= LVCMOS33;#A5
	NET "NOR_FLASH_Mem_A_pin<27>"  			LOC= "N18" | IOSTANDARD= LVCMOS33;#A4
	NET "NOR_FLASH_Mem_A_pin<28>"  			LOC= "N17" | IOSTANDARD= LVCMOS33;#A3
	NET "NOR_FLASH_Mem_A_pin<29>"  			LOC= "N15" | IOSTANDARD= LVCMOS33;#A2
	NET "NOR_FLASH_Mem_A_pin<30>"  			LOC= "R16" | IOSTANDARD= LVCMOS33;#A1

	#Data
	NET "NOR_FLASH_Mem_DQ_pin<0>" 			LOC= "T17"| IOSTANDARD= LVCMOS33; #A0
	NET "NOR_FLASH_Mem_DQ_pin<1>" 			LOC= "Y7" | IOSTANDARD= LVCMOS33; #D14
	NET "NOR_FLASH_Mem_DQ_pin<2>" 			LOC= "V8" | IOSTANDARD= LVCMOS33; #D13
	NET "NOR_FLASH_Mem_DQ_pin<3>" 			LOC= "V9" | IOSTANDARD= LVCMOS33; #D12
	NET "NOR_FLASH_Mem_DQ_pin<4>" 			LOC= "Y12"| IOSTANDARD= LVCMOS33; #D11
	NET "NOR_FLASH_Mem_DQ_pin<5>" 			LOC= "V14"| IOSTANDARD= LVCMOS33; #D10
	NET "NOR_FLASH_Mem_DQ_pin<6>" 			LOC= "Y16"| IOSTANDARD= LVCMOS33; #D9
	NET "NOR_FLASH_Mem_DQ_pin<7>" 			LOC= "W16"| IOSTANDARD= LVCMOS33; #D8
	NET "NOR_FLASH_Mem_DQ_pin<8>" 			LOC= "V7" | IOSTANDARD= LVCMOS33; #D7
	NET "NOR_FLASH_Mem_DQ_pin<9>" 			LOC= "W8" | IOSTANDARD= LVCMOS33; #D6
	NET "NOR_FLASH_Mem_DQ_pin<10>" 			LOC= "U10"| IOSTANDARD= LVCMOS33; #D5
	NET "NOR_FLASH_Mem_DQ_pin<11>" 			LOC= "T10"| IOSTANDARD= LVCMOS33; #D4
	NET "NOR_FLASH_Mem_DQ_pin<12>" 			LOC= "W14"| IOSTANDARD= LVCMOS33; #D3
	NET "NOR_FLASH_Mem_DQ_pin<13>" 			LOC= "Y15"| IOSTANDARD= LVCMOS33; #D2
	NET "NOR_FLASH_Mem_DQ_pin<14>" 			LOC= "V15"| IOSTANDARD= LVCMOS33; #D1
	NET "NOR_FLASH_Mem_DQ_pin<15>" 			LOC= "W18"| IOSTANDARD= LVCMOS33; #miso
	#NET "NOR_FLASH_Mem_DQ_pin<15>" --> use NF_A<0> on pin T17 when NF_BYTE = High

	#control

	NET "NOR_FLASH_Mem_CEN_pin"			 	LOC= "U18"| IOSTANDARD= LVCMOS33;
	NET "NOR_FLASH_Mem_OEN_pin"  				LOC= "V19"| IOSTANDARD= LVCMOS33;
	NET "NOR_FLASH_Mem_WEN_pin"  				LOC= "W20"| IOSTANDARD= LVCMOS33;
	NET "NOR_FLASH_Mem_BEN_pin" 				LOC= "V20"| IOSTANDARD= LVCMOS33;
	NET "NOR_FLASH_Mem_RPN_pin"  				LOC= "J20"| IOSTANDARD= LVCMOS33;
	NET "NOR_FLASH_Mem_WP_pin"  				LOC= "K18"| IOSTANDARD= LVCMOS33;
also my mhs file is like this:

Code:
 PORT NOR_FLASH_Mem_A_pin = NOR_FLASH_Mem_A_pin_vslice_10_30_concat, DIR = O, VEC = [10:30]
 PORT NOR_FLASH_Mem_DQ_pin = NOR_FLASH_Mem_DQ, DIR = IO, VEC = [0:15]
 PORT NOR_FLASH_Mem_CEN_pin = NOR_FLASH_Mem_CEN, DIR = O
 PORT NOR_FLASH_Mem_OEN_pin = NOR_FLASH_Mem_OEN, DIR = O
 PORT NOR_FLASH_Mem_WEN_pin = NOR_FLASH_Mem_WEN, DIR = O
 PORT NOR_FLASH_Mem_WP_pin = net_vcc, DIR = O
 PORT NOR_FLASH_Mem_BEN_pin = net_vcc, DIR = O
 PORT NOR_FLASH_Mem_RPN_pin = net_vcc, DIR = O
***i should comment that because xps_mch_ems bit direction in reverse, i change my port bit direction too.

now after implement my project and download to board, when i read nor flash always in all address i see 0xFFFEFFF and with writing data to all address value not change infinitely.
Click image for larger version. 

Name:	Screenshot from 2018-05-10 23-15-19.png 
Views:	0 
Size:	10.2 KB 
ID:	146564

I monitored port by signal analyzer and i think all thing is true but memory nor work correctly!

i will be happy if help me.