Hi Rurik,

Thanks - this is really useful. I've started delving into the
datasheets - head hurts a little - it took me far to long to work out
why we can only do 4-bits in 1:2 mode (number of pins! on ZDOK). This
is making me wonder why the adc_bit_width in the 1:2 version is 8 and
not 4?

Also the ROACH2 version of the 1:2 doesn't have the FIFO in (although
I have no idea why anyone would use the 1:2 on a ROACH2)

I'll keep you updated

Best regards,

Ross

On Thu, Mar 14, 2013 at 4:14 PM, Rurik A Primiani
<[email protected]> wrote:
> Hi Ross,
>
> I developed a large part of the 5GSps ADC yellow block(s) in the
> sma-wideband repository using previous code kindly provided by Homin Jiang
> and Kim Guzzino. Unfortunately, as Jonathan mentioned in a previous email,
> we basically left the ROACH1, 1:2 DMUX yellow block behind when we realized
> we weren't going to use it. In its present state it's basically broken.
>
> I would suggest getting it up to date by bringing in the clock-domain
> crossing FIFO that was added into the other blocks. If I remember correctly
> this was the last feature left when I stopped developing that particular
> block. You should be able to copy the FIFO-related VHDL code and the FIFO
> netlist over from the 1:1, just make sure to adjust the MPD, PAO, etc as
> needed. Using the ROACH2, 1:2 block as a comparison is also a good idea.
> Basically the biggest difference between the two is that the R2 version uses
> a MMCM while the R1 version uses DCM/PLL.
>
> About the "adc1_dcm_locked" error you're receiving: this is a bug and I
> guess I forgot to fix it for ROACH1. If you look at line 203 in
> "system.mhs",
> https://github.com/sma-wideband/mlib_devel/blob/master/xps_base/XPS_ROACH_base/system.mhs#L203,
> you'll notice that the conditional statement checks for the presence of
> "adc0":
>
> #IF# (strcmp(get(b,'type'),'xps_adc5g'))  && get(b,'use_adc0')# PORT
> adc1_dcm_locked       = adc1_dcm_locked
>
> This should actually read:
>
> #IF# (strcmp(get(b,'type'),'xps_adc5g'))  && get(b,'use_adc1')# PORT
> adc1_dcm_locked       = adc1_dcm_locked
>
> If you make this change it should get rid of your error and allow you to use
> just adc0 or adc1 without needing both present. If you do make this change
> please feel free to issue a pull-request to sma-wideband and we'll merge it
> into the repo.
>
> Best,
> Rurik
>
>
>
> On 3/14/2013 12:33 PM, Ross Williamson wrote:
>>
>> Hi All,
>>
>> I'm starting to look into getting the ADC 1x5000-8 DMUX 1:2 to work on
>> a roach 1. I'm just posting a couple of comments here that I've
>> uncovered so far - I think most of these stem from the fact that a lot
>> of work has gone into developing the 1:1 demux with 2 cards for the
>> sma-wideband project and ROACH-2.
>>
>> Notes:
>>
>> 1) I'm using the git repo from the sma-wideband project - If I should
>> be looking elsewhere then let me know.
>> 2) The 1:1 version uses the Xilinx FIFO IP core where as the 1:2 does
>> not - This causes the 1:2 to not compile
>> 3) If you hack to remove the FIFO ports from the system.mhs (bad idea)
>> then you quickly notice that the opb_adc5g_controller has ports for
>> the FIFO and also for 2 adc's - i.e. I don't think it will compile if
>> you only have adc0 and not adc1 - error is  "adc1_dcm_locked - port is
>> driven by a sourceless connector "
>> 4) I'm going to look at the ROACH-2 implementation as that might help
>> a lot but I haven't got to it yet.
>>
>> Anyone know of a quick fix before I delve into the vhdl - different
>> repo/earlier version?
>>
>> I know most people are pushing ahead with the 1:1 on the ROACH-2 with
>> this board and so I'm happy looking into these issues but if anyone
>> has some quick good ideas it would be great to hear them.
>>
>> Cheers
>>
>> Ross
>
>



-- 
Ross Williamson
Research Scientist - Sub-mm Group
California Institute of Technology
626-395-2647 (office)
312-504-3051 (Cell)

Reply via email to