T1 Version | Compatible Harware | Use |
---|---|---|
0x2200 up | AMC13XG with XC7K325T FPGA | general CMS use, up to 3 10GB/s DAQ links |
0x6000 up | AMC13XG with XC7K325T FPGA | HCAL CMS use, 2 10GB/s DAQ links plus local trigger |
0x8000 up | AMC13XG with XC7K325T FPGA | Fermilab g-2 use, up to 3 10GB/s Ethernet links |
- Test versions - | ||
0xf0-0xff | AMC13XG with XC7K325T FPGA | Special data test receiver |
0x1000 up | AMC13XG with XC7K325T FPGA | Fake AMC data generator |
T1 Ver | T2 Ver | Doco | Files | Repository | Notes |
---|---|---|---|---|---|
AMC13XG 8806 (0x2266) | 52 (0x34) | AMC13XGspecK0x2266S0x34.txt | AMC13T1v0x2266_7k325t.mcs AMC13T2v0x0034_6slx45t.mcs AMC13T1v0x2266_7k325t.bit | Sept. 9 2021 T1 version 0x2266 and T2 version 0x34 fixed a bug in src id2 | |
AMC13XG 8804 (0x2264) | 46 (0x2e) | AMC13XGspecK0x2264S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x2264_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2264_7k325t.bit | SVN URI Redmine Doxygen | Apr 16 2018 T1 version 0x2264 and T2 version 0x31 Fixed a bug with DAQ back pressure signal for state 0x6 |
AMC13XG 8796 (0x225c) | 46 (0x2e) | AMC13XGspecK0x225cS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x225c_7k325t.mcs AMC13T1v0x225c_7k325t.bit | SVN URI Redmine Doxygen | June 12 2017 T1 version 0x225c and T2 version 0x2e added register 0x1b to set BX for per orbit L1A |
AMC13XG 8795 (0x225b) | 46 (0x2e) | AMC13XGspecK0x225bS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x225b_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x225b_7k325t.bit | SVN URI Redmine Doxygen | Sept. 23 2016 T1 version 0x225b and T2 version 0x2e Added bit 3 to reg 0x0, if write 1 to this bit, PLL for TTC clock input will be reset. This might be necessary if TTC input clock frequency has/had been changed due to whatever reason |
AMC13XG 8794 (0x225a) | 46 (0x2e) | AMC13XGspecK0x225aS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x225a_7k325t.mcs AMC13T1v0x225a_7k325t.bit | SVN URI Redmine Doxygen | Sept. 9 2016 T1 version 0x225a and T2 version 0x2e Added bit 31 to reg 0x3. If bit 31 is set, DAQ data will be ignored and TTS states disconnect, error and OOS are reversible. |
AMC13XG 8793 (0x2259) | 46 (0x2e) | AMC13XGspecK0x2259S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2259_7k325t.mcs AMC13T1v0x2259_7k325t.bit | SVN URI Redmine Doxygen | Sept. 7 2016 T1 version 0x2259 and T2 version 0x2e Fixed a bug of multi-orbit L1A generation in ttc_if.vhd |
AMC13XG 8792 (0x2258) | 46 (0x2e) | AMC13XGspecK0x2258S0x2e.txt | AMC13T1v0x2258_7k325t.mcs AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2258_7k325t.bit | SVN URI Redmine Doxygen | Sept. 1 2016 T1 version 0x2258 and T2 version 0x2e Fixed a bug in faked event length in amc_link.vhd. Error started from v0x2250 |
AMC13XG 8791 (0x2257) | 46 (0x2e) | AMC13XGspecK0x2257S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2257_7k325t.mcs AMC13T1v0x2257_7k325t.bit | SVN URI Redmine Doxygen | July 21 2016 T1 version 0x2257 and T2 version 0x2e The new version fixed a bug of local TTC command problem of dropping the command at random due to a synchronization problem. The TTS output clock frequency in loop back mode is now 160.31MHz and ...more |
AMC13XG 8790 (0x2256) | 46 (0x2e) | AMC13XGspecK0x2256S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2256_7k325t.mcs AMC13T1v0x2256_7k325t.bit | SVN URI Redmine Doxygen | July 7 2016 T1 version 0x2256 and T2 version 0x2e Found a problem in XGMII_serdes_wrapper.vhd that it did not power down unused SFP transceiver of the FPGA. New version can save some power and lower the temperature of FPGA. |
AMC13XG 8789 (0x2255) | 46 (0x2e) | AMC13XGspecK0x2255S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2255_7k325t.mcs AMC13T1v0x2255_7k325t.bit | SVN URI Redmine Doxygen | May 5 2016 T1 version 0x2255 and T2 version 0x2e Fixed a bug of AMC event length error flag in amc_link.vhd |
AMC13XG 8788 (0x2254) | 46 (0x2e) | AMC13XGspecK0x2254S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2254_7k325t.mcs AMC13T1v0x2254_7k325t.bit | SVN URI Redmine Doxygen | May 2 2016 T1 version 0x2254 and T2 version 0x2e New slink core implemented.(version 0x"5e100003") |
AMC13XG 8787 (0x2253) | 46 (0x2e) | AMC13XGspecK0x2253S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x2253_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2253_7k325t.bit | SVN URI Redmine Doxygen | Apr. 27 2016 T1 version 0x2253 and T2 version 0x2e Fixed a bug which causes back_plane link failure in AMC_link.vhd New slink core used |
AMC13XG 8786 (0x2252) | 46 (0x2e) | AMC13XGspecK0x2252S0x2e.txt | AMC13T1v0x2252_7k325t.mcs AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2252_7k325t.bit | SVN URI Redmine Doxygen | Apr. 20 2016 T1 version 0x2252 and T2 version 0x2e Fixed a bug which causes event data readout failing to start in evtBLDRNew.vhd |
AMC13XG 8785 (0x2251) | 46 (0x2e) | AMC13XGspecK0x2251S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2251_7k325t.mcs AMC13T1v0x2251_7k325t.bit | SVN URI Redmine Doxygen | Apr. 19 2016 T1 version 0x2251 and T2 version 0x2e Fixed a bug of TTS in amc_if.vhd |
AMC13XG 8784 (0x2250) | 46 (0x2e) | AMC13XGspecK0x2250S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x2250_7k325t.mcs AMC13T1v0x2250_7k325t.bit | SVN URI Redmine Doxygen | Apr. 10 2016 T1 version 0x2250 and T2 version 0x2e fixed a bug in amc_link.vhd which flags error in amc event length and/or CRC for certain event length. fixed a bug in fake_event.vhd to limit maximum fake length to 0xffffb ...more |
T1 Ver | T2 Ver | Doco | Files | Repository | Notes |
---|---|---|---|---|---|
AMC13XG 24678 (0x6066) | 52 (0x34) | AMC13XGspecK0x6066S0x34.txt | AMC13T2v0x0034_6slx45t.mcs AMC13T1v0x6066_7k325t.mcs AMC13T1v0x6066_7k325t.bit | Sept. 9 2021 T1 version 0x6066 and T2 version 0x34 fixed a bug in src id2 | |
AMC13XG 24676 (0x6064) | 46 (0x2e) | AMC13XGspecK0x6064S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6064_7k325t.mcs AMC13T1v0x6064_7k325t.bit | SVN URI Redmine Doxygen | Apr 16 2018 T1 version 0x6064 and T2 version 0x31 Fixed a bug with DAQ back pressure signal for state 0x6 |
AMC13XG 24675 (0x6063) | 46 (0x2e) | AMC13XGspecK0x6063S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6063_7k325t.mcs AMC13T1v0x6063_7k325t.bit | SVN URI Redmine Doxygen | Apr 12 2018 T1 version 0x6063 and T2 version 0x31 Added counters 0x62 - 0x67 to count the number of time TTS states 0x9, 0xa and 0xb respectively are seen |
AMC13XG 24668 (0x605c) | 46 (0x2e) | AMC13XGspecK0x605cS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x605c_7k325t.mcs AMC13T1v0x605c_7k325t.bit | SVN URI Redmine Doxygen | June 12 2017 T1 version 0x605c and T2 version 0x2e added register 0x1b to set BX for per orbit L1A |
AMC13XG 24667 (0x605b) | 46 (0x2e) | AMC13XGspecK0x605bS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x605b_7k325t.mcs AMC13T1v0x605b_7k325t.bit | SVN URI Redmine Doxygen | Sept. 23 2016 T1 version 0x605b and T2 version 0x2e Added bit 3 to reg 0x0, if write 1 to this bit, PLL for TTC clock input will be reset. This might be necessary if TTC input clock frequency has/had been changed due to whatever reason |
AMC13XG 24666 (0x605a) | 46 (0x2e) | AMC13XGspecK0x605aS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x605a_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x605a_7k325t.bit | SVN URI Redmine Doxygen | Sept. 9 2016 T1 version 0x605a and T2 version 0x2e Added bit 31 to reg 0x3. If bit 31 is set, DAQ data will be ignored |
AMC13XG 24665 (0x6059) | 46 (0x2e) | AMC13XGspecK0x6059S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6059_7k325t.mcs AMC13T1v0x6059_7k325t.bit | SVN URI Redmine Doxygen | Sept. 7 2016 T1 version 0x6059 and T2 version 0x2e Fixed a bug of multi-orbit L1A generation in ttc_if.vhd |
AMC13XG 24664 (0x6058) | 46 (0x2e) | AMC13XGspecK0x6058S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6058_7k325t.mcs AMC13T1v0x6058_7k325t.bit | SVN URI Redmine Doxygen | Sept. 1 2016 T1 version 0x6058 and T2 version 0x2e Fixed a bug in faked event length in amc_link.vhd. Error started from v0x604c |
AMC13XG 24663 (0x6057) | 46 (0x2e) | AMC13XGspecK0x6057S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6057_7k325t.mcs AMC13T1v0x6057_7k325t.bit | SVN URI Redmine Doxygen | July 21 2016 T1 version 0x6057 and T2 version 0x2e The new version fixed a bug of local TTC command problem of dropping the command at random due to a synchronization problem. The TTS output clock frequency in loop back mode is now 160.31MHz and ...more |
AMC13XG 24662 (0x6056) | 46 (0x2e) | AMC13XGspecK0x6056S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6056_7k325t.mcs AMC13T1v0x6056_7k325t.bit | SVN URI Redmine Doxygen | July 7 2016 T1 version 0x6056 and T2 version 0x2e Found a problem in XGMII_serdes_wrapper.vhd that it did not power down unused SFP transceiver of the FPGA. New version can save some power and lower the temperature of FPGA. |
AMC13XG 24661 (0x6055) | 46 (0x2e) | AMC13XGspecK0x6055S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6055_7k325t.mcs AMC13T1v0x6055_7k325t.bit | SVN URI Redmine Doxygen | June 13 2016 T1 version 0x6055 and T2 version 0x2e Fixed a bug for negative BCN_OFFSET in ttc_if.vhd |
AMC13XG 24660 (0x6054) | 46 (0x2e) | AMC13XGspecK0x6054S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6054_7k325t.mcs AMC13T1v0x6054_7k325t.bit | SVN URI Redmine Doxygen | June 2 2016 T1 version 0x6054 and T2 version 0x2e Fixed a bug for Orbit scaling of internal TTC command in ttc_if.vhd |
AMC13XG 24659 (0x6053) | 46 (0x2e) | AMC13XGspecK0x6053S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6053_7k325t.mcs AMC13T1v0x6053_7k325t.bit | SVN URI Redmine Doxygen | June 1 2016 T1 version 0x6053 and T2 version 0x2e Fixed a bug for per Orbit internal L1A in ttc_if.vhd |
AMC13XG 24657 (0x6051) | 46 (0x2e) | AMC13XGspecK0x6051S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x6051_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6051_7k325t.bit | SVN URI Redmine Doxygen | May 5 2016 T1 version 0x6051 and T2 version 0x2e Fixed a bug of AMC event length error flag in amc_link.vhd |
AMC13XG 24656 (0x6050) | 46 (0x2e) | AMC13XGspecK0x6050S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x6050_7k325t.mcs AMC13T1v0x6050_7k325t.bit | SVN URI Redmine Doxygen | May 2 2016 T1 version 0x6050 and T2 version 0x2e New slink core implemented.(version 0x"5e100003") |
AMC13XG 24655 (0x604f) | 46 (0x2e) | AMC13XGspecK0x604fS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x604f_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x604f_7k325t.bit | SVN URI Redmine Doxygen | Apr. 27 2016 T1 version 0x604f and T2 version 0x2e Fixed a bug which causes back_plane link failure in AMC_link.vhd New slink core used |
AMC13XG 24654 (0x604e) | 46 (0x2e) | AMC13XGspecK0x604eS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x604e_7k325t.mcs AMC13T1v0x604e_7k325t.bit | SVN URI Redmine Doxygen | Apr. 20 2016 T1 version 0x604e and T2 version 0x2e Fixed a bug which causes event data readout failing to start in evtBLDRNew.vhd |
AMC13XG 24653 (0x604d) | 46 (0x2e) | AMC13XGspecK0x604dS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x604d_7k325t.mcs AMC13T1v0x604d_7k325t.bit | SVN URI Redmine Doxygen | Apr. 19 2016 T1 version 0x604d and T2 version 0x2e Fixed a bug of TTS in amc_if.vhd Fixed a bug of HCAL_trig in HCAL_trig.vhd |
AMC13XG 24652 (0x604c) | 46 (0x2e) | AMC13XGspecK0x604cS0x2e.txt | AMC13T1v0x604c_7k325t.mcs AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x604c_7k325t.bit | SVN URI Redmine Doxygen | Apr. 9 2016 T1 version 0x604c and T2 version 0x2e fixed a bug in amc_link.vhd which flags error in amc event length and/or CRC for certain event length. fixed a bug in fake_event.vhd to limit maximum fake length to 0xffffb ...more |
AMC13XG 24651 (0x604b) | 46 (0x2e) | AMC13XGspecK0x604bS0x2e.txt | AMC13XGT1v0x604b_7k325t.mcs AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x604b_7k325t.bit | SVN URI Redmine Doxygen | Apr. 9 2016 T1 version 0x604c and T2 version 0x2e fixed a bug in amc_link.vhd which flags error in amc event length and/or CRC for certain event length. fixed a bug in fake_event.vhd to limit maximum fake length to 0xffffb ...more |
T1 Ver | T2 Ver | Doco | Files | Repository | Notes |
---|---|---|---|---|---|
AMC13XG 33089 (0x8141) | 46 (0x2e) | AMC13XGspecK0x8141S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x8141_7k325t.mcs AMC13T1v0x8141_7k325t.bit | SVN URI Redmine Doxygen | June 12 2017 T1 version 0x8141 and T2 version 0x2e added register 0x1b to set BX for per orbit L1A |
AMC13XG 33087 (0x813f) | 46 (0x2e) | AMC13XGspecK0x813fS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x813f_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x813f_7k325t.bit | SVN URI Redmine Doxygen | Sept. 7 2016 T1 version 0x813f and T2 version 0x2e Fixed a bug of multi-orbit L1A generation in ttc_if.vhd |
AMC13XG 33085 (0x813d) | 46 (0x2e) | AMC13XGspecK0x813dS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x813d_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x813d_7k325t.bit | SVN URI Redmine Doxygen | July 21 2016 T1 version 0x813d and T2 version 0x2e The new version fixed a bug of local TTC command problem of dropping the command at random due to a synchronization problem. The TTS output clock frequency in loop back mode is now 160.31MHz and ...more |
AMC13XG 33084 (0x813c) | 46 (0x2e) | AMC13XGspecK0x813cS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x813c_7k325t.mcs AMC13T1v0x813c_7k325t.bit | SVN URI Redmine Doxygen | July 7 2016 T1 version 0x813c and T2 version 0x2e Removed RTO minimum of 1 second. New minimum can be set using reg 0x1c2f, its default is ~2ms. No action is needed though, RTO is calculated from actual RTT. ...more |
AMC13XG 33083 (0x813b) | 46 (0x2e) | AMC13XGspecK0x813bS0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x813b_7k325t.mcs AMC13T1v0x813b_7k325t.bit | SVN URI Redmine Doxygen | June 30 2016 T1 version 0x813b and T2 version 0x2e Increased MSS to 64000 Added protection against shrinked receiving window from clients Fixed several bugs in TCP_IP.vhd, TCPIP_if.vhd |
AMC13XG 33082 (0x813a) | 46 (0x2e) | AMC13XGspecK0x813aS0x2e.txt | AMC13T1v0x813a_7k325t.mcs AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x813a_7k325t.bit | SVN URI Redmine Doxygen | June 13 2016 T1 version 0x813a and T2 version 0x2e Fixed a bug for negative BCN_OFFSET in ttc_if.vhd MAC address bit 11 through 3 to AMC13 SN, this should make every amc13 has a unique MAC address |
AMC13XG 33081 (0x8139) | 46 (0x2e) | AMC13XGspecK0x8139S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x8139_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x8139_7k325t.bit | SVN URI Redmine Doxygen | May 5 2016 T1 version 0x8139 and T2 version 0x2e Fixed a bug of AMC event length error flag in amc_link.vhd |
AMC13XG 33080 (0x8138) | 46 (0x2e) | AMC13XGspecK0x8138S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x8138_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x8138_7k325t.bit | SVN URI Redmine Doxygen | Apr. 27 2016 T1 version 0x8138 and T2 version 0x2e Fixed a bug which causes back_plane link failure in AMC_link.vhd |
AMC13XG 33079 (0x8137) | 46 (0x2e) | AMC13XGspecK0x8137S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T1v0x8137_7k325t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x8137_7k325t.bit | SVN URI Redmine Doxygen | Apr. 20 2016 T1 version 0x8137 and T2 version 0x2e Fixed a bug which causes event data readout failing to start in evtBLDRNew.vhd |
AMC13XG 33078 (0x8136) | 46 (0x2e) | AMC13XGspecK0x8136S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x8136_7k325t.mcs AMC13T1v0x8136_7k325t.bit | SVN URI Redmine Doxygen | Apr. 19 2016 T1 version 0x8136 and T2 version 0x2e Fixed a bug of TTS in amc_if.vhd |
AMC13XG 33077 (0x8135) | 46 (0x2e) | AMC13XGspecK0x8135S0x2e.txt | AMC13T2v0x002e_6slx25t.mcs AMC13T2v0x002e_6slx45t.mcs AMC13T1v0x8135_7k325t.mcs AMC13T1v0x8135_7k325t.bit | SVN URI Redmine Doxygen | Apr. 10 2016 T1 version 0x8135 and T2 version 0x2e fixed a bug in amc_link.vhd which flags error in amc event length and/or CRC for certain event length. fixed a bug in fake_event.vhd to limit maximum fake length to 0xffffb ...more |