2013-06-10 3 views
0

는 이더넷을 사용하여 스파르타 6 간단한 마이크로 블레이즈를 생성 한 후, 같은 디렉토리에 데이터 폴더에있는 UCF 파일을 생성하고, DDR3의 IPS 난 UCF 파일을 열 : 당신이 비트 스트림을 볼 수 있듯이UCF 파일 생성의 버그? EDK를 사용하여 Microbalze 만들기

# Spartan-6 SP605 Evaluation Platform 
Net fpga_0_DIP_Switches_4Bit_GPIO_IO_pin<0> LOC=C18 | IOSTANDARD=LVCMOS25; 
Net fpga_0_DIP_Switches_4Bit_GPIO_IO_pin<1> LOC=Y6 | IOSTANDARD=LVCMOS25; 
Net fpga_0_DIP_Switches_4Bit_GPIO_IO_pin<2> LOC=W6 | IOSTANDARD=LVCMOS25; 
Net fpga_0_DIP_Switches_4Bit_GPIO_IO_pin<3> LOC=E4 | IOSTANDARD=LVCMOS15; 
Net fpga_0_Ethernet_MAC_PHY_tx_clk_pin LOC=L20 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rx_clk_pin LOC=P20 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_crs_pin LOC=N15 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_dv_pin LOC=T22 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rx_data_pin<0> LOC=P19 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rx_data_pin<1> LOC=Y22 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rx_data_pin<2> LOC=Y21 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rx_data_pin<3> LOC=W22 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_col_pin LOC=M16 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rx_er_pin LOC=U20 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_rst_n_pin LOC=J22 | IOSTANDARD = LVCMOS25 | TIG; 
Net fpga_0_Ethernet_MAC_PHY_tx_en_pin LOC=T8 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_tx_data_pin<0> LOC=U10 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_tx_data_pin<1> LOC=T10 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_tx_data_pin<2> LOC=AB8 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_tx_data_pin<3> LOC=AA8 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_MDC_pin LOC=R19 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_PHY_MDIO_pin LOC=V20 | IOSTANDARD = LVCMOS25; 
Net fpga_0_Ethernet_MAC_MDINT_pin LOC=J20 | IOSTANDARD = LVCMOS25 | TIG; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<0> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<1> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<2> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<3> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<4> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<5> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<6> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<7> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<8> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<9> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<10> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<11> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_addr_pin<12> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_ba_pin<0> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_ba_pin<1> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_ba_pin<2> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_ras_n_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_cas_n_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_we_n_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_cke_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_clk_pin IOSTANDARD = DIFF_SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_clk_n_pin IOSTANDARD = DIFF_SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<0> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<1> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<2> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<3> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<4> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<5> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<6> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<7> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<8> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<9> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<10> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<11> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<12> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<13> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<14> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dq_pin<15> IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dqs_pin IOSTANDARD = DIFF_SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_dqs_n_pin IOSTANDARD = DIFF_SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_udqs_pin IOSTANDARD = DIFF_SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_udqs_n_pin IOSTANDARD = DIFF_SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_udm_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_ldm_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_odt_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_mcbx_dram_ddr3_rst_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_rzq_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_MCB_DDR3_zio_pin IOSTANDARD = SSTL15_II; 
Net fpga_0_clk_1_sys_clk_p_pin TNM_NET = sys_clk_pin; 
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 200000 kHz; 
Net fpga_0_clk_1_sys_clk_p_pin LOC = K21 | IOSTANDARD=LVDS_25 | DIFF_TERM = TRUE; 
Net fpga_0_clk_1_sys_clk_n_pin LOC = K22 | IOSTANDARD=LVDS_25 | DIFF_TERM = TRUE; 
Net fpga_0_rst_1_sys_rst_pin TIG; 
Net fpga_0_rst_1_sys_rst_pin LOC = H8 | IOSTANDARD=LVCMOS15 | PULLUP | TIG; 

을 생성되며, FPGA에 프로그래밍 된 모든 예제는 잘 작동합니다 SDD를 사용하여 컴파일하고 하드웨어에서 시작하지만 DDR3의 위치가 ucf 파일에 없을 때 everthing은 어떻게 작동합니까?

답변

0

microblaze/edk 설정에 대해 잘 모르겠지만 다른 구성 요소 (dcms) 등에서 coregen을 사용하면 다른 구성 요소에 대해 다른 ucf 파일이 생성된다는 것을 알고 있습니다. 예를 들어 project_dir/ipcore_dir로 이동하면 내가 만든 coregen 모듈 각각에 대해 별도의 ucf 파일이 표시됩니다. 프로젝트 디렉토리에는 다른 정의 파일이있을 수 있습니다 (다른 평가판을 기반으로하므로 평가 키트를 사용하고 있다고 가정하고 있습니다). 디렉토리 구조를 파헤 치면 찾을 수 있습니다. 궁금하다면 ucf 파일에서 볼 수있는 DDR3 네트 이름을 grep하려고 시도하십시오. 보드에 핀 위치가 포함 된 다른 ucf를 찾을 수있을 것입니다.

0

스파르탄 -6은 하드웨어 코어 블록을 DDR 인터페이스로 사용합니다. 나는 S6 흐름을 통과하지 못했지만 핀 위치에 대한 선택권을 얻지 못했기 때문에 UCF 옵션이 아니라는 사실에 놀라지 않습니다.

다른 DDR 메모리는 공급 전압이 다르므로 IOSTANDARD를 지정하는 것이 좋습니다.