<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://e2e.ti.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RF &amp;amp; microwave forum - Recent Threads</title><link>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sat, 17 Oct 2026 10:17:43 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum" /><item><title>AFE7950EVM: FE7950EVM + ZCU104: DAC JESD re-asserts SYNC with no alarms</title><link>https://e2e.ti.com/thread/1690460?ContentTypeID=0</link><pubDate>Sat, 17 Oct 2026 10:17:43 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:1222c32c-fd5c-4ff0-b094-468b0cf95580</guid><dc:creator>Ngoc Hai Nguyen</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/1690460?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1690460/afe7950evm-fe7950evm-zcu104-dac-jesd-re-asserts-sync-with-no-alarms/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7950EVM&lt;/p&gt;&lt;p&gt;Hi TI team,&lt;/p&gt;
&lt;p&gt;I am bringing up the AFE7950EVM with a Xilinx ZCU104 instead of the TSW14J58. The ADC link works, but the DAC link (FPGA -&amp;gt; AFE) never reaches the data phase. I have followed the debug steps in the &amp;quot;AFE79xx JESD App Note&amp;quot; (sections 6 and 8). All of the listed checks pass, but the link still does not come up. Details are below.&lt;/p&gt;
&lt;p&gt;1. Setup&lt;br /&gt;- AFE7950EVM on the ZCU104 FMC connector (LPC). Only DP0 is available on LPC, so I use AFE STX7 (ADC) and SRX8 (DAC), i.e. channel C/CD.&lt;br /&gt;- FPGA: TI204c IP v1.12 (8b/10b), GTH, 1 lane each direction. tx_sys_clock = rx_sys_clock = 122.88 MHz (lane rate / 80). FPGA refclk and core clock come from the LMK04828 on the EVM.&lt;br /&gt;- Latte 2.9, configuration file attached (afe_zcu104_14810_v6.xlsx):&lt;br /&gt;&amp;nbsp; - LMFS 14810 for both RX and TX, 9.8304 Gbps, JESD204B subclass 1, K = 16, 122.88 MSPS&lt;br /&gt;&amp;nbsp; - syncLoopBack = 1 (hardware SYNC)&lt;br /&gt;&amp;nbsp; - jesdRxSyncMux = [2,2,2,2] -&amp;gt; DAC SYNC~ is driven out on FMC H7 (GPIO &amp;quot;DAC_SYNC0&amp;quot;)&lt;br /&gt;&amp;nbsp; - ADC SYNC~ input on FMC H8 (&amp;quot;ADC_SYNC0&amp;quot;)&lt;br /&gt;&amp;nbsp; - jesdRxLaneMux = [0,1,2,3,7,5,6,4] (SRX8 -&amp;gt; CD lane 0)&lt;br /&gt;&amp;nbsp; - jesdTxLaneMux = [0,1,2,3,6,5,4,7] (CD lane 0 -&amp;gt; STX7)&lt;br /&gt;&amp;nbsp; - skipFpga = True&lt;br /&gt;- Note: DAC JESD-RX 0 (AB) has no lanes connected on the ZCU104 FMC LPC, so I think its LOS / Serdes-FIFO alarm in the log is normal for this setup. Only link CD is used.&lt;/p&gt;
&lt;p&gt;2. What works&lt;br /&gt;- ADC link (AFE STX7 -&amp;gt; FPGA) is up with hardware SYNC. The RX ramp test pattern is received with 0 errors over 1024 consecutive samples.&lt;br /&gt;- Physical layer FPGA -&amp;gt; AFE SRX8 is clean: PRBS9 from the FPGA GTH, checked with enableSerdesRxPrbsCheck(0,7,0,1) / getSerdesRxPrbsError(0,7), gives 0 errors.&lt;br /&gt;- Physical layer AFE STX7 -&amp;gt; FPGA: PRBS9 locked, 0 errors.&lt;/p&gt;
&lt;p&gt;3. DAC link status (link CD) after AFE.adcDacSync(checkForLink=False)&lt;br /&gt;Read with AFE.JESD.DACJESD[1].getJesdAlarms(0), i.e. without clearing alarms&amp;nbsp;&lt;br /&gt;- comma_align_lock_flag = 1&lt;br /&gt;- JESD_CS_STATE (0xA2) = 0x02 &amp;nbsp;-&amp;gt; lane 0 CS = 2&lt;br /&gt;- JESD_FS_STATE (0xA4) = 0x00&lt;br /&gt;- JESD_BUF_STATE (0xA6) = 0x00&lt;br /&gt;- ALARMS 0x118-0x11F = all 0 (no LOS, no Serdes-FIFO, no lane errors)&lt;br /&gt;- TX_DAC_SYSREF_FLAG (0xF0[7:4]) = 0xF after adcDacSync, cleared before the call&lt;br /&gt;- lane_ena = 0x1, link0_init_state = 0, lane0_sync_err_cnt = 0&lt;/p&gt;
&lt;p&gt;&lt;img src="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/220/latte_5F00_dac_5F00_link_5F00_status.png" alt="latte_dac_link_status.png" width="406" height="184" data-temp-id="latte_dac_link_status.png-20768" /&gt;&lt;/p&gt;
&lt;p&gt;4. SYNC~ behavior&amp;nbsp;&lt;br /&gt;In captures A and B no SYSREF pulse reaches the FPGA, so only SYNC~ and the free-running FPGA LMFC (every 16 clocks, K = 16) are active.&lt;br /&gt;- ila_A_sync_rise_sysref_gated.png: trigger on the SYNC~ rising edge, then AFE.adcDacSync() is run. The AFE releases SYNC~ (low -&amp;gt; high).&lt;img src="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/220/ila_5F00_A_5F00_sync_5F00_rise_5F00_sysref_5F00_gated.png" alt="ila_A_sync_rise_sysref_gated.png" data-temp-id="ila_A_sync_rise_sysref_gated.png-14935" /&gt;&lt;br /&gt;- ila_B_sync_fall_sysref_gated.png: trigger on the SYNC~ falling edge, then AFE.adcDacSync(checkForLink=False) is run. SYNC~ is high and then goes low again. After that it stays low: the AFE keeps requesting K28.5, CS stays 2 and FS stays 0.&lt;img src="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/220/ila_5F00_B_5F00_sync_5F00_fall_5F00_sysref_5F00_gated.png" alt="ila_B_sync_fall_sysref_gated.png" data-temp-id="ila_B_sync_fall_sysref_gated.png-15068" /&gt;&lt;br /&gt;- ila_A2_sync_rise_sysref_enabled.png: same as A, but with the FPGA SYSREF input enabled. A few irregular SYSREF pulses reach the FPGA (adcDacSync does not enable the LMK SYSREF in this mode) and the FPGA LMFC re-aligns to them.&lt;img src="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/220/ila_5F00_A2_5F00_sync_5F00_rise_5F00_sysref_5F00_enabled.png" alt="ila_A2_sync_rise_sysref_enabled.png" data-temp-id="ila_A2_sync_rise_sysref_enabled.png-15132" /&gt;&lt;/p&gt;
&lt;p&gt;SYNC~ behaves the same as in A and B: it is released, later re-asserted, and the final state is the same (CS = 2, FS = 0, no alarms). So SYSREF at the FPGA does not change the result.&lt;br /&gt;- So the AFE does release SYNC~, then re-asserts it, but no error bit is latched to explain the re-sync request.&lt;/p&gt;
&lt;p&gt;5. Questions&lt;br /&gt;a) In which conditions does the DAC JESD RX re-assert SYNC~ without setting any alarm bit (link0_sync_request_ena reads 0xDF, i.e. every lane error except link configuration error can trigger a sync request)?&lt;br /&gt;b) With syncLoopBack = 1 and a non-TSW FPGA, adcDacSync() only calls TOP.leakSysrefToDig() (the LMK SYSREF branch is only for the TSW). Does the DAC JESD RX need an external periodic SYSREF from the LMK (e.g. continuous mode) for ILAS / FS to complete? If yes, what is the recommended LMK setting and sequence for a custom FPGA?&lt;br /&gt;c) Is anything extra needed when the only DAC lane is SRX8 routed through the lane mux to CD lane 0 (rxoctetpath4_sel = rxoctetpath4_clk_sel = 7)?&lt;br /&gt;d) Is there a register that shows the reason for the last sync request, or the internal SYNC~ state of link0?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/220/afe_5F00_zcu104_5F00_14810_5F00_v6.xlsx" target="_blank" rel="noopener" data-temp-id="afe_zcu104_14810_v6.xlsx-119576"&gt;afe_zcu104_14810_v6.xlsx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>AFE7903: AFE7903: JESD204B subclass 1 - internal LMFC offset from SYSREF differs by 0-7 frame-clock cycles across bring-ups</title><link>https://e2e.ti.com/thread/1683701?ContentTypeID=0</link><pubDate>Sat, 19 Sep 2026 19:25:42 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:640b078c-f370-40e2-b5a6-66440f8dcc36</guid><dc:creator>Xu Li</dc:creator><slash:comments>6</slash:comments><comments>https://e2e.ti.com/thread/1683701?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1683701/afe7903-afe7903-jesd204b-subclass-1---internal-lmfc-offset-from-sysref-differs-by-0-7-frame-clock-cycles-across-bring-ups/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7903&lt;/p&gt;&lt;div data-olk-copy-source="MailCompose"&gt;&lt;strong&gt;Part/configuration&lt;/strong&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;AFE7903 (chip version 0x12), external 6 GHz device clock (source from LMX2820, on-chip PLL bypassed).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;TI LATTE originally generated the configuration.&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;RX: ADC 3 GSPS, DDC decimation 6x, 500 MSPS complex; TX: DAC 6 GSPS, DUC interpolation 12x; NCOs are set to 750 MHz.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;JESD204B subclass 1 both directions: L=4, M=4, F=2, S=1, K=16, N=N&amp;#39;=16, scrambling on, 10 Gbps lanes, FPGA&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;(Zynq UltraScale+ GTH) as the link partner. Multiframe = 8 frame-clock (250 MHz) cycles = 32 ns.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;SYSREF: 3.472222 MHz single pulses from an LMK5B33216 (288 ns period = 9 multiframes), DC-coupled, captured on the&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;device clock with the SYSREF timing monitor centered (&amp;quot;sufficient margin&amp;quot; reading, stable over 20 sweeps). The FPGA&amp;#39;s&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;LMFC takes the same SYSREF event on a separate LMK output.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Bring-up: the Latte-generated sequence, RESETZ toggled before each bring-up; one SYSREF pulse at `configurePll`&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;and one at `sysrefJesdLinkup`; JESD SYSREF mode &amp;quot;use all&amp;quot;.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;strong&gt;What we see&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;After each full bring-up, the DAC JESD `lane0_f_counter_all_lanes_ready` (what `getAllLaneReady` returns) takes a&amp;nbsp;different value, spread uniformly over 0-7 (FK/4 = 8) - e.g. 0, 7, 2, 2, 7, 4, 0, 6, 1, 0 over ten bring-ups. The&amp;nbsp;FPGA&amp;#39;s own LMFC holds a fixed phase to the SYSREF edge throughout (verified on every bring-up), and the ADC framer&amp;#39;s&amp;nbsp;multiframe arrives at the FPGA shifted by the same amount the other way, so the offset is the AFE&amp;#39;s internal LMFC&amp;nbsp;against the SYSREF edge, common to the ADC and DAC JESD blocks - a whole number of frame-clock cycles, drawn once per&amp;nbsp;bring-up:&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Within one bring-up, it holds: repeated `adcDacSync(pinSysref=1)` relinks return the same count.&lt;/li&gt;
&lt;li&gt;It follows the SYSREF edge: delaying only the AFE&amp;#39;s SYSREF by 4.0 ns (24 device clocks, the capture margin&amp;nbsp;unchanged) and relinking moves the count by exactly one, and back.&lt;/li&gt;
&lt;li&gt;The DAC-to-ADC loop latency stays constant as long as the arrival does not cross an RBD boundary, as subclass 1&amp;nbsp;&lt;/li&gt;
&lt;li&gt;predicts - but with the offset spread over the whole multiframe, no fixed RBD (on either side) has margin across&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;What we tried: no change to the spread&lt;/strong&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;SYSREF mode &amp;quot;use all&amp;quot; and &amp;quot;skip one then use all&amp;quot;, with one pulse and with a three-pulse burst at the link-up&amp;nbsp;(the burst also shifts the loop latency by half a multiframe - the ADC and DAC directions appear to align to&amp;nbsp;different pulses of the burst).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Taking the SYSREF at `configurePll` from the SPI strobe instead of the pin (the count stays spread; the ADC&amp;#39;s&amp;nbsp;divide-by-2 phase then flips half the time, as expected).&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Clock-divider dither off, and the SYSREF selection alternatives available in the JESD configuration.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Register read-back of the JESD, JESD subchip, digital top, timing controller, top analog, and PLL pages after each&amp;nbsp;of twenty bring-ups: no register other than the f-counters themselves correlates with the offset; the async FIFO&amp;nbsp;pointer readings are stable within one.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/div&gt;
&lt;ol start="1"&gt;
&lt;li&gt;
&lt;div&gt;Is the internal LMFC&amp;#39;s phase relative to the latched SYSREF edge expected to be the same on every RESETZ bring-up&amp;nbsp;in this configuration? If yes, which part of the sequence establishes it, and what does it need (pulse count,&amp;nbsp;pulse timing relative to a particular step, the SYSREF leak counts, the SYSREF source)?&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Is there a divider or counter on the SYSREF path to the JESD LMFC - with a period of a multiframe or more - that is started by an SPI write rather than by SYSREF, and how is it synchronized?&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;The SYSREF leak counts (digital 2, RX 2, FB 2, DAC 5 in our sequence): are they strobes per external SYSREF edge, or per arm of the SYSREF latch?&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;`setGoodRbd`&amp;#39;s note says deterministic latency across bring-ups needs `getAllLaneReady` once and the same RBD each time. Does that assume the internal LMFC is deterministic to SYSREF, and is there an application note on it?&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;We can share full register dumps, the bring-up sequence, and the measurement logs privately.&lt;/div&gt;</description></item><item><title>RE: AFE7903: AFE7903: JESD204B subclass 1 - internal LMFC offset from SYSREF differs by 0-7 frame-clock cycles across bring-ups</title><link>https://e2e.ti.com/thread/6513739?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2026 21:20:16 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:1f26303d-0401-48cc-b880-2198aadaeb11</guid><dc:creator>Xu Li</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6513739?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1683701/afe7903-afe7903-jesd204b-subclass-1---internal-lmfc-offset-from-sysref-differs-by-0-7-frame-clock-cycles-across-bring-ups/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Below is the exact code I used to generate AFE bring up code, as well as the &amp;quot;sysref_delay_sweep()&amp;quot; for LMK5 clock chip (which is differs from the AFE79xx evaluation board)&lt;/p&gt;
&lt;p&gt;##############################################################################&lt;br /&gt;# AFE7903 - JESD204B subclass 1: LMFC-offset test, written for TI Latte&lt;br /&gt;#&lt;br /&gt;# Latte libraries 79xx-2.9.0 (19 Aug 2025), chip version 2.0. Runs in the Latte&lt;br /&gt;# Scripts window (embedded Python 2.7), where AFE, sysParams and setupParams&lt;br /&gt;# already exist.&lt;br /&gt;#&lt;br /&gt;# Our board runs this same sequence from its own firmware (no Latte, no TI EVM):&lt;br /&gt;# it replays the register sequence Latte generated from section 1a&amp;#39;s&lt;br /&gt;# parameters, with section 1b&amp;#39;s one change, and adds the steps in sections&lt;br /&gt;# 3-6. This file states that procedure in Latte terms, so it can be read - or&lt;br /&gt;# rerun on an EVM - without our tooling. Board-only actions (clock chips,&lt;br /&gt;# SYSREF requests, the FPGA, our loop measurement) are stubs in section 2;&lt;br /&gt;# each says what our hardware does at that point.&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;import time&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 1a. THE PROFILE - exactly what Latte used to generate our sequence&lt;br /&gt;#&lt;br /&gt;# Taken from the parameter dump Latte wrote at the top of the generated file.&lt;br /&gt;# Anything not listed is Latte&amp;#39;s default.&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;sysParams = AFE.systemParams&lt;br /&gt;sysParams.__init__()&lt;br /&gt;sysParams.chipVersion = chipVersion&lt;br /&gt;setupParams.skipFpga = 1 # our FPGA is not TI&amp;#39;s capture card&lt;/p&gt;
&lt;p&gt;# Clocking: external 6 GHz device clock into REFCLK, the AFE PLL bypassed.&lt;br /&gt;sysParams.externalClockRx = True&lt;br /&gt;sysParams.externalClockTx = True&lt;br /&gt;sysParams.FRef = 6000.0 # device clock, MHz&lt;br /&gt;sysParams.Fdac = 6000.0 # DAC at the device clock&lt;br /&gt;sysParams.FadcRx = 3000.0 # ADC at device clock / 2&lt;br /&gt;sysParams.FadcFb = 3000.0 # FB disabled; kept equal to RX&lt;/p&gt;
&lt;p&gt;# Channels: AFE7903 2T2R - RX A and C, TX B and D. TDD, RRF mode 5.&lt;br /&gt;sysParams.RRFMode = 5&lt;br /&gt;sysParams.modeTdd = 2&lt;br /&gt;sysParams.spiMode = 1&lt;br /&gt;sysParams.rxEnable = [True, False, True, False]&lt;br /&gt;sysParams.txEnable = [False, True, False, True]&lt;br /&gt;sysParams.fbEnable = [False, False]&lt;br /&gt;sysParams.ddcFactorRx = [6, 6, 6, 6] # 3000 / 6 = 500 MSPS&lt;br /&gt;sysParams.ducFactorTx = [12, 12, 12, 12] # 6000 / 12 = 500 MSPS&lt;br /&gt;sysParams.ddcFactorFb = [6, 6]&lt;br /&gt;sysParams.rxNco0 = [[750.0, 750.0], [750.0, 750.0], [750.0, 750.0], [750.0, 750.0]]&lt;br /&gt;sysParams.txNco0 = [[750.0, 750.0], [750.0, 750.0], [750.0, 750.0], [750.0, 750.0]]&lt;/p&gt;
&lt;p&gt;# JESD204B, both directions: L=4 M=4 F=2 S=1 HD=0, K=16, scrambled, 10 Gbps.&lt;br /&gt;# LMFC = 10 Gbps / (10 x F x K) = 31.25 MHz (a 32 ns multiframe)&lt;br /&gt;# LMFC counter range: F x K / 4 = 8 counts (0..7), one count = 4 ns&lt;br /&gt;sysParams.jesdSystemMode = [3, 3]&lt;br /&gt;sysParams.jesdTxProtocol = [0, 0] # 0 = JESD204B&lt;br /&gt;sysParams.jesdRxProtocol = [0, 0]&lt;br /&gt;sysParams.LMFSHdRx = ["44210"] * 4 # ADC side, AFE -&amp;gt; FPGA&lt;br /&gt;sysParams.LMFSHdTx = ["44210"] * 4 # DAC side, FPGA -&amp;gt; AFE (the link under test)&lt;br /&gt;sysParams.LMFSHdFb = ["22210"] * 2 # inert, FB disabled&lt;br /&gt;sysParams.rxJesdTxK = [16, 16, 16, 16]&lt;br /&gt;sysParams.jesdRxK = [16, 16, 16, 16]&lt;br /&gt;sysParams.rxJesdTxScr = [True, True, True, True]&lt;br /&gt;sysParams.jesdRxScr = [True, True, True, True]&lt;br /&gt;sysParams.jesdRxRbd = [4, 4, 4, 4] # Latte&amp;#39;s default; replaced per bring-up in section 6&lt;br /&gt;sysParams.jesdRxInitLmfcCounter = [0, 0, 0, 0] # no LMFC counter shift&lt;br /&gt;sysParams.jesdTxIlaM = [4, 4, 2, 4, 4, 2]&lt;br /&gt;sysParams.jesdTxIlaL = [4, 4, 2, 4, 4, 2]&lt;br /&gt;sysParams.jesdTxIlaLid = [0, 1, 2, 3, 4, 5, 6, 7]&lt;br /&gt;sysParams.jesdRxLaneMux = [0, 1, 2, 3, 4, 5, 6, 7]&lt;br /&gt;sysParams.jesdTxLaneMux = [0, 1, 2, 3, 4, 5, 6, 7]&lt;br /&gt;sysParams.rxDataMux = [0, 1, 4, 5, 2, 3, 6, 7]&lt;br /&gt;sysParams.txDataMux = [0, 1, 4, 5, 2, 3, 6, 7]&lt;/p&gt;
&lt;p&gt;# SYNC~ on the hardware pins (SBAA417 3.4). The FPGA drives lanes 4-7&lt;br /&gt;# (SRX5-8) into the CD deframer, and the DAC-side SYNC~ leaves on H9.&lt;br /&gt;sysParams.syncLoopBack = True&lt;br /&gt;sysParams.jesdRxSyncMux = [2, 2, 2, 2]&lt;br /&gt;sysParams.jesdABLvdsSync = 1&lt;br /&gt;sysParams.jesdCDLvdsSync = 0&lt;/p&gt;
&lt;p&gt;# SerDes: firmware adaptation on; TX main cursor 3 on lanes 0 and 7.&lt;br /&gt;sysParams.serdesFirmware = True&lt;br /&gt;sysParams.serdesTxMainCursor = [3, 0, 0, 0, 0, 0, 0, 3]&lt;/p&gt;
&lt;p&gt;# SYSREF: pin SYSREF, pulsed (never continuous), 100 ohm termination.&lt;br /&gt;# Frequency 3.472222 MHz = 250 MHz / 72, period 288 ns = 9 LMFC periods.&lt;br /&gt;# One positive pulse per request, 144 ns wide, from an idle-low line;&lt;br /&gt;# the AFE takes the leading (rising) edge. Two requests per bring-up, at&lt;br /&gt;# Latte&amp;#39;s two &amp;quot;External-Action: Give Sysref Here&amp;quot; markers (pllConfig step 1&lt;br /&gt;# and sysrefJesdLinkup step 3). Source: LMK5B33216, output pair 0/1 in&lt;br /&gt;# pulser mode, pulse count 1.&lt;br /&gt;sysParams.useSpiSysref = False&lt;br /&gt;sysParams.continuousSysref = False&lt;br /&gt;sysParams.sysrefTermination = 0&lt;/p&gt;
&lt;p&gt;# Our part reports MCU firmware 15005, so Latte loads topPatch2P0_15000.hex.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 1b. OUR ONE CHANGE TO THE GENERATED SEQUENCE&lt;br /&gt;#&lt;br /&gt;# Step 31 (miscConfig/step1) sets every RX and TX DSA to 5 dB instead of 0, for&lt;br /&gt;# our bench&amp;#39;s RF loop pad. Latte applies these two parameters at that step;&lt;br /&gt;# setRxDsa takes dB (5.0 -&amp;gt; index 10), setTxDsa takes 1 dB steps.&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;sysParams.defaultRxDsa = [5.0, 5.0, 5.0, 5.0]&lt;br /&gt;sysParams.defaultTxDsa = [5, 5, 5, 5]&lt;br /&gt;sysParams.defaultFbDsa = [0, 0]&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 2. BOARD HOOKS - what our firmware does outside Latte&lt;br /&gt;#&lt;br /&gt;# On TI&amp;#39;s EVM these are the EVM&amp;#39;s own controls (its LMK04828 SYSREF, its reset).&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;AFE_INST = 0&lt;br /&gt;CD_LINK = 2 # CAFE link number: 2 = DAC JESD CD instance, link 0 (our link)&lt;/p&gt;
&lt;p&gt;def board_reset_afe():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;SLEEP low, then RESETZ pulsed low. The device clock and the FPGA keep running.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_set_sysref_delay(code):&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;LMK5B33216 SYSREF analog delay (ADLY) on the AFE&amp;#39;s SYSREF output,&lt;br /&gt; 32 codes of about 12.5 ps. On TI&amp;#39;s EVM: the LMK04828 SYSREF delay.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_fire_sysref():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;One SYSREF request: one 144 ns pulse at the AFE pin (and at the FPGA&amp;#39;s).&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_fpga_before_bringup():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;FPGA, TI&amp;#39;s order (SBAA417 Fig 23), before the AFE is touched:&lt;br /&gt; - GT transmitters running, sending K28.5, so the AFE&amp;#39;s SRX adapts on live data;&lt;br /&gt; - TX link layer enabled: K28.5 until the AFE releases the DAC-side SYNC~ (H9),&lt;br /&gt; then the ILAS from the FPGA&amp;#39;s first LMFC edge, then data (zeros);&lt;br /&gt; - RX link layer, LMFC and sample gearboxes disarmed; GT receivers in reset.&lt;br /&gt; During deviceBringup, at step 35, the FPGA arms its LMFC for the same pin&lt;br /&gt; SYSREF pulse the AFE takes at step 36. (Latte cannot pause there; with&lt;br /&gt; SYSREF = 9 LMFC periods any pulse gives the FPGA&amp;#39;s LMFC the same phase.)&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_fpga_after_bringup():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;FPGA, after the AFE is up and its TDD override is set: GT receivers&lt;br /&gt; released against the AFE framers&amp;#39; K28.5; its RX link layer releases the&lt;br /&gt; ADC-side SYNC~ (H8) and, after the ILAS, releases its lane buffers at FPGA&lt;br /&gt; LMFC count 0 (its reset value - no compensation in this test); the sample&lt;br /&gt; gearboxes armed.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_fpga_set_release(rbd):&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;FPGA&amp;#39;s own RX elastic-buffer release point, in LMFC counts (0..7).&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_fpga_disarm():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;FPGA&amp;#39;s RX link layer, LMFC and sample gearboxes disarmed, its GT&lt;br /&gt; receivers held, before a relink re-runs the link-up.&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;def board_measure_loop():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;Our RF loop, which gives the latency and phase this test reports. The&lt;br /&gt; FPGA sends a 10.0098 MHz tone at -30 dBFS on channel A, started on its LMFC&lt;br /&gt; tick; DAC TX B (TX2) -&amp;gt; cable and pad -&amp;gt; ADC RX A (RX1). An FPGA logic&lt;br /&gt; analyser counts 500 MSPS samples from the tone&amp;#39;s first sample entering the&lt;br /&gt; FPGA&amp;#39;s TX path to its first sample out of the FPGA&amp;#39;s RX path, and reads its&lt;br /&gt; phase there. Three bursts per bring-up. Returns (latency_samples, phase_degrees).&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; return (None, None)&lt;/p&gt;
&lt;p&gt;def board_dump_registers():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;Every register of the JESD, subchip, DIGTOP, timing-controller,&lt;br /&gt; top-analog and PLL pages, read after the measurement (sent to TI privately).&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; pass&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 3. ONCE PER POWER-UP: put SYSREF on one fixed 6 GHz edge&lt;br /&gt;#&lt;br /&gt;# TI&amp;#39;s SYSREF alignment detector (readSysrefMonitor, new in 79xx-2.9.0):&lt;br /&gt;# &amp;quot;Readout value 6: SYSREF alignment has sufficient margin. Other readout&lt;br /&gt;# values: SYSREF is in window of timing uncertainty, Advance/delay SYSREF in&lt;br /&gt;# steps of 10-15ps to enter valid window.&amp;quot;&lt;br /&gt;#&lt;br /&gt;# We sweep the delay over all 32 codes and park it at the centre of the&lt;br /&gt;# longest run of readout 6. On our board every sweep finds the same two&lt;br /&gt;# windows, one 6 GHz period (167 ps, 13 codes) apart: the latch is deterministic.&lt;br /&gt;#&lt;br /&gt;# Our firmware sweeps on a part brought up through pllConfig only, then starts&lt;br /&gt;# the measured bring-ups from reset. Latte cannot stop deviceBringup part-way,&lt;br /&gt;# so here the sweep follows a full bring-up; that is equivalent, because the&lt;br /&gt;# armed detector takes its pulse for itself and every bring-up below starts&lt;br /&gt;# again from reset.&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;def sysref_delay_sweep():&lt;br /&gt; # The detector needs the MCU awake and the clock tree up (steps 0-7).&lt;br /&gt; board_reset_afe()&lt;br /&gt; AFE.deviceBringup()&lt;/p&gt;
&lt;p&gt;passes = []&lt;br /&gt; for code in range(32):&lt;br /&gt; board_set_sysref_delay(code)&lt;br /&gt; # readSysrefMonitor waits for one pin pulse while it is armed.&lt;br /&gt; status, readout = setupParams.CAFE.readSysrefMonitor(AFE_INST)&lt;br /&gt; print(&amp;quot;SYSREF delay %2d: monitor readout %d%s&amp;quot;&lt;br /&gt; % (code, readout, &amp;quot; &amp;lt;- sufficient margin&amp;quot; if readout == 6 else &amp;quot;&amp;quot;))&lt;br /&gt; if readout == 6:&lt;br /&gt; passes.append(code)&lt;/p&gt;
&lt;p&gt;# Longest run of passes (a one-code hole bridged); park at its centre.&lt;br /&gt; best = (-1, -1)&lt;br /&gt; i = 0&lt;br /&gt; while i &amp;lt; len(passes):&lt;br /&gt; j = i&lt;br /&gt; while j + 1 &amp;lt; len(passes) and passes[j + 1] - passes[j] &amp;lt;= 2:&lt;br /&gt; j += 1&lt;br /&gt; if passes[j] - passes[i] &amp;gt; best[1] - best[0]:&lt;br /&gt; best = (passes[i], passes[j])&lt;br /&gt; i = j + 1&lt;br /&gt; if best[0] &amp;lt; 0:&lt;br /&gt; raise Exception(&amp;quot;no readout-6 window: SYSREF cannot be placed&amp;quot;)&lt;br /&gt; centre = (best[0] + best[1]) // 2&lt;br /&gt; board_set_sysref_delay(centre)&lt;br /&gt; print(&amp;quot;SYSREF delay parked at %d (window %d-%d)&amp;quot; % (centre, best[0], best[1]))&lt;br /&gt; return centre&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 4. ONE BRING-UP&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;def bring_up():&lt;br /&gt; board_fpga_before_bringup()&lt;br /&gt; board_reset_afe() # Latte&amp;#39;s &amp;quot;External-Action: Toggle HW Reset&amp;quot;&lt;br /&gt; AFE.deviceBringup() # TI&amp;#39;s sequence; SYSREF is requested at its two&lt;br /&gt; # &amp;quot;Give Sysref Here&amp;quot; markers (steps 7 and 36).&lt;br /&gt; # Our firmware stops after step 41: step 42&lt;br /&gt; # (dlJesdLinkupCheck) only reads the deframer&amp;#39;s&lt;br /&gt; # status, which section 5 reads instead.&lt;/p&gt;
&lt;p&gt;# Every receive lane must have adapted (we added this 2026-09-23; the&lt;br /&gt; # LMFC spread below was measured both before and after it). Our firmware&lt;br /&gt; # checks this before the link is armed; after deviceBringup in Latte, the&lt;br /&gt; # equivalent is a re-adapt followed by a relink.&lt;br /&gt; status, lanes = setupParams.CAFE.pollSerdesLinkStatusAllLanes(AFE_INST)&lt;br /&gt; if lanes != 0xFF:&lt;br /&gt; print(&amp;quot;SerDes lanes not adapted: 0x%02X - re-adapting and relinking&amp;quot; % lanes)&lt;br /&gt; setupParams.CAFE.reAdaptSerDesAllLanes(AFE_INST)&lt;br /&gt; setupParams.CAFE.adcDacSync(AFE_INST, 1)&lt;/p&gt;
&lt;p&gt;# TI&amp;#39;s GUI forces the TDD chains on after bring-up; we force only the&lt;br /&gt; # populated ones: RX A+C, FB off, TX B+D.&lt;br /&gt; AFE.TOP.overrideTdd(0x5, 0x0, 0xA, 1)&lt;/p&gt;
&lt;p&gt;board_fpga_after_bringup()&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 5. THE MEASUREMENT - what we read after every bring-up&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;def read_arrival():&lt;br /&gt; &amp;quot;&amp;quot;&amp;quot;f_counter_all_lane_ready of the CD deframer (SBAA543 Table 4-1).&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt; status, count = setupParams.CAFE.getAllLaneReady(AFE_INST, CD_LINK)&lt;br /&gt; return count&lt;/p&gt;
&lt;p&gt;def read_link_record():&lt;br /&gt; status, opp = setupParams.CAFE.getSysrefCntOnReleaseOpp(AFE_INST, CD_LINK)&lt;br /&gt; for i in range(2): # as Latte&amp;#39;s dlJesdLinkupCheck does&lt;br /&gt; AFE.JESD.DACJESD[i].getJesdAlarms(0)&lt;br /&gt; return opp&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 6. THE TEST - the arrival count over N bring-ups&lt;br /&gt;#&lt;br /&gt;# Expected for subclass 1 with a deterministic SYSREF: the same count every&lt;br /&gt;# time (SBAA543 3.1, 4.2). Measured on our board: 0..7 - the whole LMFC&lt;br /&gt;# period - drawn once per bring-up and held until the next reset.&lt;br /&gt;# adcDacSync usually keeps it, but redrew it in 2 of 37 link-ups.&lt;br /&gt;#&lt;br /&gt;# This is the test as run on 2026-10-16, twice: bench fans off (AFE die&lt;br /&gt;# 74-92 C) and on (62-66 C). Both gave the same result - see the end.&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;N_BRINGUPS = 20&lt;/p&gt;
&lt;p&gt;sysref_delay_sweep()&lt;/p&gt;
&lt;p&gt;histogram = [0] * 8&lt;br /&gt;late_counts = []&lt;br /&gt;for n in range(N_BRINGUPS):&lt;br /&gt; bring_up()&lt;br /&gt; count = read_arrival()&lt;br /&gt; opp = read_link_record()&lt;br /&gt; latency, phase = board_measure_loop()&lt;br /&gt; board_dump_registers()&lt;br /&gt; histogram[count % 8] += 1&lt;br /&gt; if latency is not None and latency &amp;gt; 510:&lt;br /&gt; late_counts.append(count)&lt;br /&gt; print(&amp;quot;bring-up %2d: f_counter_all_lane_ready = %d, sysref_cnt_on_release_opportunity = %d, loop %s samples&amp;quot;&lt;br /&gt; % (n + 1, count, opp, latency))&lt;/p&gt;
&lt;p&gt;print(&amp;quot;arrival count over %d bring-ups: %s&amp;quot; % (N_BRINGUPS, histogram))&lt;br /&gt;print(&amp;quot;counts of the late (517-sample) bring-ups: %s&amp;quot; % sorted(late_counts))&lt;br /&gt;# A frozen RBD (SBAA543 4.2) needs all_lane_ready &amp;lt; RBD on every bring-up&lt;br /&gt;# (p.10). With the count spread over all 8 values no single RBD satisfies it.&lt;br /&gt;# Measured 2026-10-16 with Latte&amp;#39;s default RBD (rbd_m1 = 3) and the FPGA&amp;#39;s&lt;br /&gt;# release at 0, two series of 20 bring-ups:&lt;br /&gt;# fans off, AFE die 74-92 C: counts on all 8 values; loop 501 samples x15, 517 x5&lt;br /&gt;# fans on, AFE die 62-66 C: counts on all 8 values; loop 501 samples x15, 517 x5&lt;br /&gt;# In both, the late (517-sample, one multiframe later) bring-ups are exactly&lt;br /&gt;# those whose count read 4 or 5.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;# 7. OUR WORKAROUND - placement on every bring-up (enable to run)&lt;br /&gt;#&lt;br /&gt;# SBAA543 3.2&amp;#39;s formula, applied at every boot instead of once:&lt;br /&gt;# AFE RBD (rbd_m1) = (count + 4) mod 8&lt;br /&gt;# and the FPGA&amp;#39;s release moved by the opposite amount, so the two release&lt;br /&gt;# points keep a fixed sum (6). With it our TX-&amp;gt;RX loop holds one latency&lt;br /&gt;# (507 samples) and one phase (within 0.1 degree) on every bring-up.&lt;br /&gt;# This compensates the offset; it does not remove it.&lt;br /&gt;##############################################################################&lt;/p&gt;
&lt;p&gt;RUN_WORKAROUND = False&lt;/p&gt;
&lt;p&gt;def place_release_points():&lt;br /&gt; after = read_arrival() % 8&lt;br /&gt; for attempt in range(3): # adcDacSync may redraw the count&lt;br /&gt; count = after&lt;br /&gt; afe_rbd = (count + 4) % 8&lt;br /&gt; board_fpga_disarm()&lt;br /&gt; setupParams.CAFE.setManualRbd(AFE_INST, CD_LINK, afe_rbd)&lt;br /&gt; board_fpga_set_release((6 - afe_rbd) % 8)&lt;br /&gt; setupParams.CAFE.adcDacSync(AFE_INST, 1) # relink on the pin SYSREF&lt;br /&gt; board_fpga_after_bringup() # receivers released, re-armed&lt;br /&gt; time.sleep(0.5)&lt;br /&gt; after = read_arrival() % 8&lt;br /&gt; if after == count:&lt;br /&gt; break&lt;br /&gt; print(&amp;quot;placed: arrival %d, AFE rbd_m1 %d, FPGA release %d&amp;quot;&lt;br /&gt; % (after, (count + 4) % 8, (6 - (count + 4) % 8) % 8))&lt;/p&gt;
&lt;p&gt;if RUN_WORKAROUND:&lt;br /&gt; for n in range(N_BRINGUPS):&lt;br /&gt; bring_up()&lt;br /&gt; place_release_points()&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7903: AFE7903: JESD204B subclass 1 - internal LMFC offset from SYSREF differs by 0-7 frame-clock cycles across bring-ups</title><link>https://e2e.ti.com/thread/6513662?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2026 19:22:44 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:5689354d-167b-47b8-b4a7-4a4c1ba56f31</guid><dc:creator>Dajon McGill</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/6513662?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1683701/afe7903-afe7903-jesd204b-subclass-1---internal-lmfc-offset-from-sysref-differs-by-0-7-frame-clock-cycles-across-bring-ups/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;Team would like to check the sysref frequency for&amp;nbsp;your&amp;nbsp;config.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Could you please hare the bring-up script and the Latte version used so Rohan can check them.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7952: Number of frequency bands</title><link>https://e2e.ti.com/thread/6512925?ContentTypeID=1</link><pubDate>Fri, 16 Oct 2026 07:56:56 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:d4242fe8-6ac2-4804-bd38-00491ecab3a7</guid><dc:creator>Shunsuke Yamamoto</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6512925?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689451/afe7952-number-of-frequency-bands/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Kang-san,&lt;/p&gt;
&lt;p&gt;Thank you for the detailed answers. I will refer to the application sections 10.1 as well.&lt;/p&gt;
&lt;p&gt;I see that 2400MHz IBW is limited by the JESD204 interface.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Shunsuke Yamamoto&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AFE7952: Number of frequency bands</title><link>https://e2e.ti.com/thread/1689451?ContentTypeID=0</link><pubDate>Wed, 14 Oct 2026 08:00:04 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:0ebc61ee-3f0a-4fbd-bfbd-364646108197</guid><dc:creator>Shunsuke Yamamoto</dc:creator><slash:comments>2</slash:comments><comments>https://e2e.ti.com/thread/1689451?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689451/afe7952-number-of-frequency-bands/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7952&lt;/p&gt;&lt;p&gt;Hi team,&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;How many frequency bands can AFE7952 support? There are two NCOs per 1TX or 1RX channel, so 2 frequency bands are supported. Is my understanding correct?&lt;/li&gt;
&lt;li&gt;Regarding IBW of TX side, 2400MHz IBW is supported when using 2TX. This means TX DAC can be interleaved. Correct? &lt;img src="https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/220/1440.image.png" alt="image.png" data-temp-id="image.png-32929" /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Shunsuke Yamamoto&lt;/p&gt;</description></item><item><title>AFE8108: DDC/DUC Count</title><link>https://e2e.ti.com/thread/1689698?ContentTypeID=0</link><pubDate>Wed, 14 Oct 2026 17:48:33 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:979e3a1b-1be8-436f-a22a-eeb3d42d96e7</guid><dc:creator>Daniel Barbalato</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1689698?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689698/afe8108-ddc-duc-count/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE8108&lt;/p&gt;&lt;p&gt;Hi all,&lt;/p&gt;
&lt;p&gt;Looking at the TI page for the AFE8108, it says there are two DDCs/DUCs per channel, but the datasheet appears to say otherwise.&amp;nbsp; Which one is accurate?&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
&lt;p&gt;-Dan&lt;/p&gt;</description></item><item><title>RE: AFE8108: DDC/DUC Count</title><link>https://e2e.ti.com/thread/6511019?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 19:05:19 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:31ee27d8-d8b2-4bf3-9263-ac9e4dcb02b1</guid><dc:creator>Vijayendra Varma Siddamsetty</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6511019?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689698/afe8108-ddc-duc-count/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Dan,&lt;/p&gt;
&lt;p&gt;Datasheet is correct. We will update the webpage to reflect this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Vijay&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7952: Number of frequency bands</title><link>https://e2e.ti.com/thread/6510636?ContentTypeID=1</link><pubDate>Wed, 14 Oct 2026 14:38:01 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:55261744-6c8f-4cb1-b93c-82c0f14c4926</guid><dc:creator>Kang Hsia</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/6510636?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689451/afe7952-number-of-frequency-bands/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello Yamamoto-san,&lt;/p&gt;
&lt;p&gt;I need some help from you on how you define the number of bands. There are general terminologies such as 3GPP bands (i.e. B1, B3, and B7) that consume specific set of bandwidth over the air, or there can be carriers (i.e. 2 of the 20MHz LTE carriers) within the 3GPP bands.&lt;/p&gt;
[quote userid="519373" url="~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689451/afe7952-number-of-frequency-bands"]How many frequency bands can AFE7952 support? There are two NCOs per 1TX or 1RX channel, so 2 frequency bands are supported. Is my understanding correct?[/quote]
&lt;p&gt;There are two DDCs (two down conversion stage and two NCOs) per RX ADC chain, and there are two DUCs (two upconversion stage and two NCOs) per TXDAC chain. You are correct.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://e2e.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/220/pastedimage1791988557122v1.png" alt=" " /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://e2e.ti.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/220/pastedimage1791988596145v2.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Since the bandwdith for each DDC and DUC can be programmed for sufficiently large, you can in theory to fit multiple carriers into a single DDC or DUC. Therefore, if you define the number of carriers as number of bands, you can technically fit a few carriers for each DDC/DUC. You may see application sections 10.1 for examples&lt;/p&gt;
[quote userid="519373" url="~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1689451/afe7952-number-of-frequency-bands"]Regarding IBW of TX side, 2400MHz IBW is supported when using 2TX. This means TX DAC can be interleaved. Correct?[/quote]
&lt;p&gt;No, each TX remains independent. The two TX DAC outputs are not phyiscally or duty cycle shared. The 2400MHz IBW band is ultimately limited by the JESD204 interface (i.e. number of lanes and also the maximum SerDes rate within the JESD204 bus.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7903: AFE7903: JESD204B subclass 1 - internal LMFC offset from SYSREF differs by 0-7 frame-clock cycles across bring-ups</title><link>https://e2e.ti.com/thread/6509759?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2026 22:28:41 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:e3180c7d-4ce4-48bc-bf8b-1dbcd1de6a0f</guid><dc:creator>Dajon McGill</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/6509759?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1683701/afe7903-afe7903-jesd204b-subclass-1---internal-lmfc-offset-from-sysref-differs-by-0-7-frame-clock-cycles-across-bring-ups/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Team - Any suggestions for Xu?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AFE7950: Problem achieving deterministic latency  and clock definition using AFE7950EVM</title><link>https://e2e.ti.com/thread/1680871?ContentTypeID=0</link><pubDate>Wed, 09 Sep 2026 15:41:53 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:579b2514-d25e-47c6-8af4-fe1c8b76fafc</guid><dc:creator>Rafael Morais</dc:creator><slash:comments>4</slash:comments><comments>https://e2e.ti.com/thread/1680871?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1680871/afe7950-problem-achieving-deterministic-latency-and-clock-definition-using-afe7950evm/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7950&lt;/p&gt;&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I am having trouble achieving deterministic latency using AFE7950EVM with ZCU102. I based my design on the reference designs. This was the 8b10b ref design that I updated to use a line rate of 3686.4 MSPS.&lt;/p&gt;
&lt;p&gt;I have seen in this post: &lt;a href="https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1460074/afe7950-4t4r2f-8b10b-2-4576-gbps-serdes-jesd-link-not-always-initializing-properly/5675986?tisearch=e2e-sitesearch&amp;amp;keymatch=%2520user%253A635474"&gt;AFE7950: 4T4R2F 8b10b 2.4576 Gbps SERDES JESD link not always initializing properly&lt;/a&gt; where it mentions the need to use an external clock directly to the IP with length matching the sysref signal and without passing through a PLL. The IP datasheet also mentions that for both rx_sys_clock and tx_sys_clock should be sourced independantly.&lt;/p&gt;
&lt;p&gt;My problem comes from the fact that tx_sys_clock is limited to &amp;quot;linerate/80&amp;quot; in the case of 64bits data width which is 46.08 MHz. rx_sys_clock says that it can be greater to or equal than linerate/80, and I dont seem to be able to get 46.08 MHz from the lmk on the AFE7950EVM. Is this possible to get or what would be the best way to achieve deterministic latency without changing linerate?&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;I am only using one TX and one RX channel.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Please guide me through this problem.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>RE: AFE7950: Problem achieving deterministic latency  and clock definition using AFE7950EVM</title><link>https://e2e.ti.com/thread/6508187?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2026 19:10:59 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:faf2c7eb-3b6a-4efb-8f90-b6eeecfcd257</guid><dc:creator>Roshan N T</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6508187?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1680871/afe7950-problem-achieving-deterministic-latency-and-clock-definition-using-afe7950evm/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;Please refer the below AFE79xxEVM LMK Clocking Parameters.&lt;/p&gt;
&lt;p&gt;In order to setup the clocking for the AFE79xxEVM LMK the following parameters need to be set:&lt;br /&gt;&amp;bull; lmkParams.pllEn&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;ndash; False: LMK is in distribution/divider mode (Won&amp;rsquo;t use PLL); True : PLL1 of the LMK will be used with the onboard&lt;br /&gt;122.88MHz crystal to generate a 2949.12MHz clock from LMK VCO and a 10MHz input through J14 to the LMK can&lt;br /&gt;be used to frequency lock to equipment.&lt;br /&gt;&amp;bull; lmkParams.lmkFrefClk&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;ndash; False: AFE will not get Fref from LMK; True: AFE will receive the Fref from the LMK.&lt;br /&gt;&amp;bull; lmkParams.fpgaRefClk&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;ndash; Value of the FPGA ref clock from the LMK. This number can be obtained from your lane rate depending on the&lt;br /&gt;JESD encoding.&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;ndash;&amp;nbsp; For the default firmware: JESD204B: (Lane Rate)/40. JESD204C: (Lane Rate)/66.&lt;/p&gt;
&lt;p&gt;&amp;bull; lmkParams.inputClk&lt;br /&gt;&amp;nbsp;&amp;ndash; This parameter is only valid only when lmkParams.pllEn = False.&lt;br /&gt;&amp;nbsp;&amp;ndash; This is the input through J14 to the LMK. This should be an integer multiple of both your Fref, if the&lt;br /&gt;AFE will get the Fref from the LMK, and your FPGA ref clock when lmkParams.pllEn = False to use&lt;br /&gt;the LMK in distribution/divider mode.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Roshan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7950: Problem achieving deterministic latency  and clock definition using AFE7950EVM</title><link>https://e2e.ti.com/thread/6508169?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2026 18:54:46 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:a7c4db67-4a97-4ad5-b6e1-9feda2ed7311</guid><dc:creator>Roshan N T</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6508169?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1680871/afe7950-problem-achieving-deterministic-latency-and-clock-definition-using-afe7950evm/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;You would have to set the LMK params section of the bringup script as below.&lt;br /&gt;&lt;br /&gt;############## LMK Params ##############&lt;/p&gt;
&lt;p&gt;lmkParams.pllEn = False # To configure LMK in divider or distribution mode&lt;/p&gt;
&lt;p&gt;lmkParams.inputClk = 1474.56 # Valid only when lmkParams.pllEn = False&lt;/p&gt;
&lt;p&gt;lmkParams.lmkFrefClk = False # True when AFE Fref is from LMK.&lt;/p&gt;
&lt;p&gt;setupParams.fpgaRefClk = &lt;span&gt;46.08&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Roshan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7071: DACCLK input swing and common-mode requirements with LMK1D1204P</title><link>https://e2e.ti.com/thread/6506953?ContentTypeID=1</link><pubDate>Fri, 09 Oct 2026 21:41:07 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:6c691735-4248-4dd1-a535-14e393b4ecc6</guid><dc:creator>River Dowdy</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6506953?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1686881/afe7071-dacclk-input-swing-and-common-mode-requirements-with-lmk1d1204p/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hello? Is anyone out there?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AFE7071: DACCLK input swing and common-mode requirements with LMK1D1204P</title><link>https://e2e.ti.com/thread/1686881?ContentTypeID=0</link><pubDate>Fri, 02 Oct 2026 22:58:05 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:7ca73555-d6b3-4028-a3e7-cd58bc317059</guid><dc:creator>River Dowdy</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1686881?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1686881/afe7071-dacclk-input-swing-and-common-mode-requirements-with-lmk1d1204p/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7071&lt;/p&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re considering an LMK1D1204P to drive the AFE7071 DACCLKP/N inputs at 16, 32 or 64 MHz in dual-input-clock mode. The LMK would run from the same 1.8 V rail as AFE7071 CLKVDD18. The interface circuit is still being designed.&lt;/p&gt;
&lt;p&gt;I have a few questions about the DAC clock input specifications:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;
&lt;p&gt;The AFE7071 datasheet (SLOS789C, page 5) specifies 0.4&amp;ndash;1 V differential input. Is that peak-to-peak voltage or peak magnitude? For example, does a differential waveform alternating between +350 mV and &amp;minus;350 mV meet this requirement?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The LMK1D1204P specifies 250&amp;ndash;450 mV differential magnitude and 1.0&amp;ndash;1.2 V output common mode into 100 Ohm&amp;nbsp; at a 1.8 V supply. Is DC coupling to the AFE supported? What is the permitted DACCLK common-mode range? If AC coupling is needed, are the AFE inputs internally biased, or is an external bias network required?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Is there a recommended input circuit or complete AFE707xEVM clock schematic available? The EVM guide identifies the 100 Ohm R55 termination, but I couldn&amp;rsquo;t find the full bias details.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We also intend to disable the LMK outputs during startup. Are there any DACCLK requirements during power sequencing or clock stop/restart that we should account for?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;River&lt;/p&gt;</description></item><item><title>TRF37B32: IF frequency Coverage</title><link>https://e2e.ti.com/thread/1687851?ContentTypeID=0</link><pubDate>Thu, 08 Oct 2026 05:14:04 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:0c4f8bfb-2ba9-4d11-a2a1-62daac572976</guid><dc:creator>Akshay Rathod</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1687851?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1687851/trf37b32-if-frequency-coverage/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; TRF37B32&lt;/p&gt;&lt;p&gt;For an Application with strict requirements of IM3 of 60dBc and best spurious response, although this part&amp;#39;s datasheet says IF up to 600 MHz, will it support 720 MHz IF since that is the frequency of interest?&lt;/p&gt;</description></item><item><title>RE: TRF37B32: IF frequency Coverage</title><link>https://e2e.ti.com/thread/6506582?ContentTypeID=1</link><pubDate>Fri, 09 Oct 2026 15:13:08 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:aee83ff4-7fbe-4a50-a43d-ae893096d622</guid><dc:creator>Dhruv Kalra</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6506582?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1687851/trf37b32-if-frequency-coverage/rss?ContentTypeId=0</wfw:commentRss><description>&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Thanks for reaching out about using the TRF37B32 with a 720 MHz IF for your application requiring 60 dBc IM3 and strong spurious performance. Here&amp;#39;s where things stand and how we&amp;#39;d like to proceed:&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Preliminary Assessment:&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;The TRF37B32 datasheet specifies the IF output range as 30&amp;ndash;600 MHz, defined at the amplifier&amp;#39;s 1-dB gain corner. All of TI&amp;#39;s published linearity (OIP3) and spurious performance data are characterized at FIF = 200 MHz. Running the IF at 720 MHz would push operation past the specified corner frequency, into a region TI does not characterize or guarantee. We&amp;#39;d expect some combination of gain roll-off and degraded linearity/spurious performance beyond 600 MHz, but we don&amp;#39;t have data to say definitively whether it would still meet your 60 dBc target at 720 MHz.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;What this means practically:&lt;/strong&gt; We can&amp;#39;t give you a confident yes/no from the datasheet alone. However, we have TRF37B32 EVMs on hand and can run empirical bench tests (two-tone IM3 and spurious scans at 720 MHz IF, benchmarked against the datasheet&amp;#39;s 200 MHz reference condition) to get you a real answer rather than an extrapolation.&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;One important dependency &amp;mdash; we need from you:&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;IM3 (dBc) is not a fixed number; it scales with output power (roughly 2 dB of IM3 degradation per 1 dB increase in output power, per standard third-order behavior). To make sure our bench testing is directly relevant to your application, we need:&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;What output power per tone (or total output power) will the IF port be delivering in your actual system?&lt;/strong&gt; (dBm per tone at the IF output)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What is your RF frequency of interest and LO configuration&lt;/strong&gt;&amp;nbsp;- this helps us replicate your exact use case on the bench.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Is 60 dBc IM3 required at a worst-case power level, or at a typical/nominal operating point?&lt;/strong&gt; This affects how we structure the power sweep.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Any constraints on tone spacing&lt;/strong&gt; for the two-tone IM3 test, if you have a preference based on your actual signal bandwidth?&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AFE7900EVM: Finding latest code and guides for AFE7900EVM with AMD ZCU102</title><link>https://e2e.ti.com/thread/1687943?ContentTypeID=0</link><pubDate>Thu, 08 Oct 2026 08:41:33 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:a0fc9304-a62f-4649-a04d-a6a60a2f15ee</guid><dc:creator>Tim Acland</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/1687943?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1687943/afe7900evm-finding-latest-code-and-guides-for-afe7900evm-with-amd-zcu102/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7900EVM&lt;/p&gt;&lt;p&gt;Hi! Please direct me to the latest code and guidance docs to get AFE7900EVM up and running with AMD ZCU102. Thanks! We will use the Simulink model in the secure folder to get more familiar with this part family - looks useful. We may have some newbie questions around that, to follow.&amp;nbsp;&lt;/p&gt;</description></item><item><title>RE: AFE7900EVM: Finding latest code and guides for AFE7900EVM with AMD ZCU102</title><link>https://e2e.ti.com/thread/6505240?ContentTypeID=1</link><pubDate>Thu, 08 Oct 2026 13:27:35 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:40b1a073-5f16-415f-af33-7a2fe074d9c6</guid><dc:creator>Tim Acland</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6505240?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1687943/afe7900evm-finding-latest-code-and-guides-for-afe7900evm-with-amd-zcu102/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;span&gt;I think I found the material in the&amp;nbsp;JESD204 IP Reference Designs folder.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AFE7950: Designing with GTYP Transceivers</title><link>https://e2e.ti.com/thread/1686846?ContentTypeID=0</link><pubDate>Fri, 02 Oct 2026 19:28:03 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:3f5964fb-0a1a-4af8-b693-17effbe6cfeb</guid><dc:creator>Brian Canty</dc:creator><slash:comments>2</slash:comments><comments>https://e2e.ti.com/thread/1686846?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1686846/afe7950-designing-with-gtyp-transceivers/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7950&lt;/p&gt;&lt;p&gt;Reposting this as my previous post was locked without answer.&lt;/p&gt;
&lt;p&gt;We&amp;#39;re working on a design that integrates the AFE7950 with an AMD Versal SoC. We have a functioning prototype based off of the provided AFE7950/ZCU102 example and are hoping to use that as a starting point for a Versal-based design. The ZCU102 uses AMD GTH transceivers and we are hoping to use the GTYP transceivers on a Versal. Is there a version of the TI FPGA IP that is compatible with GTYP transceivers, or at least one in development?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If we are unable to get an answer you will force us to switch to a component manufacturer that provides current-gen support for their parts.&lt;/p&gt;</description></item><item><title>RE: AFE7950: Designing with GTYP Transceivers</title><link>https://e2e.ti.com/thread/6502014?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2026 19:26:10 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:83d0d6ca-151e-4977-a7b6-c5379e52d8b4</guid><dc:creator>Brian Canty</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6502014?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1686846/afe7950-designing-with-gtyp-transceivers/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Thank you Mr. Nagarajan, I appreciate the response! It might be worthwhile to update the product description to reflect that. Thank you, this solves my issue.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7950: Designing with GTYP Transceivers</title><link>https://e2e.ti.com/thread/6501979?ContentTypeID=1</link><pubDate>Mon, 05 Oct 2026 18:40:17 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:a167b480-1f3c-4fe8-ba56-7cd091873db4</guid><dc:creator>Gokul Nagarajan</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/6501979?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1686846/afe7950-designing-with-gtyp-transceivers/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Mr.Brian, &lt;br /&gt;The latest TI JESD 204C IP also supports&amp;nbsp;GTYP transceivers on Versal. For an example reference design, please raise a request at the following site&amp;nbsp;&lt;a href="https://www.ti.com/tool/TI-JESD204-IP"&gt;TI-JESD204-IP Firmware | TI.com&lt;/a&gt;&amp;nbsp;once you have finalized the AFE7950 configuration.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>AFE7950EVM: AFE7950 external 10Mhz not lock</title><link>https://e2e.ti.com/thread/1687109?ContentTypeID=0</link><pubDate>Mon, 05 Oct 2026 13:44:48 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:f5969f9a-bd40-45b3-b658-e5c5d2a2fcf1</guid><dc:creator>Luca Meloni</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/1687109?ContentTypeID=0</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1687109/afe7950evm-afe7950-external-10mhz-not-lock/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;&lt;b&gt;Part Number:&lt;/b&gt; AFE7950EVM&lt;/p&gt;&lt;p&gt;Dear TI&lt;/p&gt;
&lt;p&gt;I am using the AFE7950-TRF1208 EVM Evaluation module. I have a 10MHz source on the LMK_CLK_IN connector (J14)&lt;/p&gt;
&lt;p&gt;As per the document SBAU392, both LEDs D3 and D4 should be lit. In this case only the PLL 2 LED (D3) is lit, not D4.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can you please help me?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description></item><item><title>RE: AFE7950: Problem achieving deterministic latency  and clock definition using AFE7950EVM</title><link>https://e2e.ti.com/thread/6498117?ContentTypeID=1</link><pubDate>Wed, 30 Sep 2026 07:30:40 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:3c67f423-679a-48e8-9379-2f5761ec161f</guid><dc:creator>Rafael Morais</dc:creator><slash:comments>0</slash:comments><comments>https://e2e.ti.com/thread/6498117?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1680871/afe7950-problem-achieving-deterministic-latency-and-clock-definition-using-afe7950evm/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;Hi Roshan,&lt;/p&gt;
&lt;p&gt;Can you provide the command via script to configure the LMK in divider mode?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Rafael Morais&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: AFE7903: AFE7903: JESD204B subclass 1 - internal LMFC offset from SYSREF differs by 0-7 frame-clock cycles across bring-ups</title><link>https://e2e.ti.com/thread/6497471?ContentTypeID=1</link><pubDate>Tue, 29 Sep 2026 18:31:05 GMT</pubDate><guid isPermaLink="false">cb01d8b2-d089-468d-babb-77d1d8683490:155127d8-a7c4-488e-a4a0-8c3fd3983771</guid><dc:creator>Xu Li</dc:creator><slash:comments>1</slash:comments><comments>https://e2e.ti.com/thread/6497471?ContentTypeID=1</comments><wfw:commentRss>https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1683701/afe7903-afe7903-jesd204b-subclass-1---internal-lmfc-offset-from-sysref-differs-by-0-7-frame-clock-cycles-across-bring-ups/rss?ContentTypeId=0</wfw:commentRss><description>&lt;p&gt;In short:&amp;nbsp;SYSREF appears to do every job except one: it latches on one fixed 6 GHz edge, reaches every JESD block, phases the NCOs and aligns the JESD LMFC counter to its edge, yet the counter&amp;#39;s offset from that edge is drawn anew from 0 to 7 at every bring-up, as if we had missed just one register bit that leaks SYSREF into the reset of whatever sets that offset -- a single register bit is missed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>