| 45 | == Instantiating the Core == |
| 46 | The MHS and UCF snippets below show how to instantiate the fmc_bb_4da_bridge core in an XPS project for WARP v3. |
| 47 | |
| 48 | In system.mhs: |
| 49 | {{{#!sh |
| 50 | #Top-level ports |
| 51 | ... |
| 52 | ##FMC-BB-4DA pins |
| 53 | # DAC data busses |
| 54 | PORT DAC_AB_DB = DAC_AB_DB, DIR = O, VEC = [0:13] |
| 55 | PORT DAC_CD_DB = DAC_CD_DB, DIR = O, VEC = [0:13] |
| 56 | # DAC_AB clock/control |
| 57 | PORT DAC_AB_CLK = DAC_AB_CLK, DIR = O |
| 58 | PORT DAC_AB_PINMD = DAC_AB_PINMD, DIR = O |
| 59 | PORT DAC_AB_PWDN = DAC_AB_PWDN, DIR = O |
| 60 | PORT DAC_AB_CLKMD = DAC_AB_CLKMD, DIR = O |
| 61 | PORT DAC_AB_FORMAT = DAC_AB_FORMAT, DIR = O |
| 62 | # DAC_CD clock/control |
| 63 | PORT DAC_CD_CLK = DAC_CD_CLK, DIR = O |
| 64 | PORT DAC_CD_PINMD = DAC_CD_PINMD, DIR = O |
| 65 | PORT DAC_CD_PWDN = DAC_CD_PWDN, DIR = O |
| 66 | PORT DAC_CD_CLKMD = DAC_CD_CLKMD, DIR = O |
| 67 | PORT DAC_CD_FORMAT = DAC_CD_FORMAT, DIR = O |
| 68 | |
| 69 | ... |
| 70 | |
| 71 | BEGIN fmc_bb_4da_bridge |
| 72 | PARAMETER INSTANCE = fmc_bb_4da_bridge_0 |
| 73 | PARAMETER HW_VER = 1.00.b |
| 74 | ## Widths of user data ports |
| 75 | PARAMETER USER_DAC_A_BITS = 12 |
| 76 | PARAMETER USER_DAC_B_BITS = 12 |
| 77 | PARAMETER USER_DAC_C_BITS = 12 |
| 78 | PARAMETER USER_DAC_D_BITS = 12 |
| 79 | ## Internal clocks |
| 80 | PORT sys_samp_clk = clk_80MHz |
| 81 | PORT sys_samp_clk_90 = clk_80MHz_90degphase |
| 82 | ## User data ports |
| 83 | PORT user_DAC_A = data_12_bits_for_DAC_A |
| 84 | PORT user_DAC_B = data_12_bits_for_DAC_B |
| 85 | PORT user_DAC_C = data_12_bits_for_DAC_C |
| 86 | PORT user_DAC_D = data_12_bits_for_DAC_D |
| 87 | ## Data outputs |
| 88 | PORT DAC_AB_DB = DAC_AB_DB |
| 89 | PORT DAC_CD_DB = DAC_CD_DB |
| 90 | ## Clock outputs |
| 91 | PORT DAC_AB_CLK = DAC_AB_CLK |
| 92 | PORT DAC_CD_CLK = DAC_CD_CLK |
| 93 | ## Control outputs |
| 94 | PORT DAC_AB_PINMD = DAC_AB_PINMD |
| 95 | PORT DAC_AB_PWDN = DAC_AB_PWDN |
| 96 | PORT DAC_AB_CLKMD = DAC_AB_CLKMD |
| 97 | PORT DAC_AB_FORMAT = DAC_AB_FORMAT |
| 98 | PORT DAC_CD_PINMD = DAC_CD_PINMD |
| 99 | PORT DAC_CD_PWDN = DAC_CD_PWDN |
| 100 | PORT DAC_CD_CLKMD = DAC_CD_CLKMD |
| 101 | PORT DAC_CD_FORMAT = DAC_CD_FORMAT |
| 102 | END |
| 103 | |
| 104 | }}} |
| 105 | |
| 106 | In system.ucf: |
| 107 | {{{#!sh |
| 108 | |
| 109 | ... |
| 110 | |
| 111 | NET "DAC_AB_CLK" LOC = H20 | IOSTANDARD = LVCMOS25; #FMC_LA09_N |
| 112 | NET "DAC_AB_PINMD" LOC = F21 | IOSTANDARD = LVCMOS25; #FMC_LA00_CC_P |
| 113 | NET "DAC_AB_PWDN" LOC = B20 | IOSTANDARD = LVCMOS25; #FMC_LA01_CC_P |
| 114 | NET "DAC_AB_CLKMD" LOC = G20 | IOSTANDARD = LVCMOS25; #FMC_LA00_CC_N |
| 115 | NET "DAC_AB_FORMAT" LOC = E22 | IOSTANDARD = LVCMOS25; #FMC_LA02_P |
| 116 | |
| 117 | NET "DAC_AB_DB<13>" LOC = F20 | IOSTANDARD = LVCMOS25; #FMC_LA07_N |
| 118 | NET "DAC_AB_DB<12>" LOC = A24 | IOSTANDARD = LVCMOS25; #FMC_LA08_N |
| 119 | NET "DAC_AB_DB<11>" LOC = F19 | IOSTANDARD = LVCMOS25; #FMC_LA07_P |
| 120 | NET "DAC_AB_DB<10>" LOC = E21 | IOSTANDARD = LVCMOS25; #FMC_LA05_N |
| 121 | NET "DAC_AB_DB<9>" LOC = A23 | IOSTANDARD = LVCMOS25; #FMC_LA08_P |
| 122 | NET "DAC_AB_DB<8>" LOC = G22 | IOSTANDARD = LVCMOS25; #FMC_LA06_N |
| 123 | NET "DAC_AB_DB<7>" LOC = D21 | IOSTANDARD = LVCMOS25; #FMC_LA05_P |
| 124 | NET "DAC_AB_DB<6>" LOC = D19 | IOSTANDARD = LVCMOS25; #FMC_LA04_N |
| 125 | NET "DAC_AB_DB<5>" LOC = G21 | IOSTANDARD = LVCMOS25; #FMC_LA06_P |
| 126 | NET "DAC_AB_DB<4>" LOC = E19 | IOSTANDARD = LVCMOS25; #FMC_LA04_P |
| 127 | NET "DAC_AB_DB<3>" LOC = C23 | IOSTANDARD = LVCMOS25; #FMC_LA03_N |
| 128 | NET "DAC_AB_DB<2>" LOC = B23 | IOSTANDARD = LVCMOS25; #FMC_LA03_P |
| 129 | NET "DAC_AB_DB<1>" LOC = C19 | IOSTANDARD = LVCMOS25; #FMC_LA01_CC_N |
| 130 | NET "DAC_AB_DB<0>" LOC = E23 | IOSTANDARD = LVCMOS25; #FMC_LA02_N |
| 131 | |
| 132 | NET "DAC_CD_CLK" LOC = F13 | IOSTANDARD = LVCMOS25; #FMC_LA28_N |
| 133 | NET "DAC_AB_PINMD" LOC = D20 | IOSTANDARD = LVCMOS25; #FMC_LA11_N |
| 134 | NET "DAC_AB_PWDN" LOC = H13 | IOSTANDARD = LVCMOS25; #FMC_LA16_N |
| 135 | NET "DAC_AB_CLKMD" LOC = G12 | IOSTANDARD = LVCMOS25; #FMC_LA16_P |
| 136 | NET "DAC_AB_FORMAT" LOC = G13 | IOSTANDARD = LVCMOS25; #FMC_LA15_P |
| 137 | |
| 138 | NET "DAC_CD_DB<13>" LOC = E13 | IOSTANDARD = LVCMOS25; #FMC_LA28_P |
| 139 | NET "DAC_CD_DB<12>" LOC = J10 | IOSTANDARD = LVCMOS25; #FMC_LA29_N |
| 140 | NET "DAC_CD_DB<11>" LOC = J11 | IOSTANDARD = LVCMOS25; #FMC_LA29_P |
| 141 | NET "DAC_CD_DB<10>" LOC = D11 | IOSTANDARD = LVCMOS25; #FMC_LA24_P |
| 142 | NET "DAC_CD_DB<9>" LOC = D12 | IOSTANDARD = LVCMOS25; #FMC_LA25_P |
| 143 | NET "DAC_CD_DB<8>" LOC = B13 | IOSTANDARD = LVCMOS25; #FMC_LA21_N |
| 144 | NET "DAC_CD_DB<7>" LOC = A11 | IOSTANDARD = LVCMOS25; #FMC_LA26_P |
| 145 | NET "DAC_CD_DB<6>" LOC = B12 | IOSTANDARD = LVCMOS25; #FMC_LA21_P |
| 146 | NET "DAC_CD_DB<5>" LOC = A14 | IOSTANDARD = LVCMOS25; #FMC_LA22_N |
| 147 | NET "DAC_CD_DB<4>" LOC = E14 | IOSTANDARD = LVCMOS25; #FMC_LA19_N |
| 148 | NET "DAC_CD_DB<3>" LOC = J12 | IOSTANDARD = LVCMOS25; #FMC_LA20_N |
| 149 | NET "DAC_CD_DB<2>" LOC = F14 | IOSTANDARD = LVCMOS25; #FMC_LA19_P |
| 150 | NET "DAC_CD_DB<1>" LOC = H12 | IOSTANDARD = LVCMOS25; #FMC_LA20_P |
| 151 | NET "DAC_CD_DB<0>" LOC = H14 | IOSTANDARD = LVCMOS25; #FMC_LA15_N |
| 152 | |
| 153 | ... |
| 154 | |
| 155 | }}} |
| 156 | |