Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
zhangyulin
Posts: 2
Registered: ‎09-16-2010
0

MMCM DRP in VHDL?

Hi,

 

In the xapp878, there is a bit group called Lock Group. I want to know how to set the LockReg1, LockReg2, LockReg3 registers in VHDL. There seems no algorithm used to calculate these bits in the registers, and I have a difficulty understanding the following statement in the mmcm_drp_func.h:

---------------------------------------------------------------------------------------------------

function [39:0] mmcm_lock_lookup
   (
      input [6:0] divide // Max divide is 64
   );
  
   reg [2559:0]   lookup;

    ...

  lookup = {

     40'b00110_00110_1111101000_1111101001_0000000001,

 ... 

};

      // Set lookup_entry with the explicit bits from lookup with a part select
      mmcm_lock_lookup = lookup[ ((64-divide)*40) +: 40]; --??

--------------------------------------------------------------------------------------------------

what is the meaning of the "((64-divide)*40) +: 40"?  And what is the VHDL equivalent ? Thanks!

 

PS: can the lookup table in the reference design be applied to the XC6VLX240T-FF1156 ?

Expert Contributor
robinliuy
Posts: 337
Registered: ‎05-21-2008
0

Re: MMCM DRP in VHDL?

Hi,
It's C style. And it is same as Verilog. (64-divide)*40+ is LSB. :40 is data width.
Expert Contributor
bassman59
Posts: 4,679
Registered: ‎02-25-2008
0

Re: MMCM DRP in VHDL?

Buy a new Verilog book.

----------------------------------------------------------------
Yes, I do this for a living.