element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
PicoZed Hardware Design IDT Programming Using Avnet Reference Design
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 7 replies
  • Subscribers 322 subscribers
  • Views 785 views
  • Users 0 members are here
Related

IDT Programming Using Avnet Reference Design

nima_taie
nima_taie over 8 years ago

I am following Avnet reference design from Github to change the frequency of the U13 which is IDT 8T49N242. Everything goes OK, and I get the message IIC EEPROM Test: PASSED message at the end, however, after I power cycle, I still don’t have new clock frequency from the IDT device.

The reference design is programming the EEPROM which is U14, and it is at address 0xA0. However, the  slave address which is indicated in the pzcc_iic_eeprom_test.c source file is at 0x50. I tried to change it to 0xA0, but then the EEROM test fails. After programming the EEPROM, is there anything else I need to do? Why am I not getting the frequency which I want?

I am using Vivado 2015.4 as the reference design requires.

  • Sign in to reply
  • Cancel
Parents
  • drozwood90
    0 drozwood90 over 8 years ago

    Hi there,

    Which PicoZed are you using?  The PicoZed 7015 or the PicoZed 7030?

    If the program is stating a success, then the IDT EEPROM has been re-programmed.  Power-Cycling will force the IDT part to re-initialize using that new configuration.  If you are not seeing a difference, you might be programming the same thing over and over.  That is one reason I like to use JTAG instead of the SDCARD.  Once you program, reboot, that is it.  You need to perform extra actions to reconfigure.  There are cases where the SDCARD is useful as one binary can be quickly put into MULTIPLE boards and powered on / off to reconfigure the boards.

    I'm thinking that we need to look at how you are measuring the clock.

    How are you measuring the IDT clock?  Are you using an Oscilliscope?
       The IDT clock feeds into the PL on one clock capable pin, as well as the MGT1.  There are also locations to test the clock output from the IDT part.
    Keep in mind that this clock synthesizer has 4 channels of output.  You might be on the wrong output.
    Which output are you trying to measure?  How are you using this in your design?  The MGT1 input?  The PL clock input?  Have you validated your constraints are calling out the correct pins to invoke that clock to feed into your clock tree?

    You will see TP31 located on the back of the board (under the PicoZed SOM).  This is connected to the same output as the PL clock (although will be out of phase).  The other test points are TP34/TP33, TP35/TP36.  These test points surround the same area where you will locate the 8T49N242 (U13).

    These can be seen defined on page 3 of the schematic.  You can find the schematic on the PicoZed documentation page:
    http://picozed.org/support/documentation/13076

    The 0xA0 and 0x50 are different representations of the address.  0xA0 is 10100000b, where 0x50 is 01010000b, notice the 0x50 is shifted?  It has to do with how the values must be presented to the I2C engine.  0x50 is actually the correct value that you need to use in the code.

    Included in the design documentation are SDCARD images, which should allow you to reset the clock to the default configuration as well as enable the various MUX capabilities of the part.

    Lastly, the file you want to be modifying for this - using the output from the IDT Timing Commander is iic_eeprom_demo.c which is located:
    hdlProjectspz_fmc2_valtestsoftwarepz_fmc2_valtest.sdkpzcc_iic_eeprom_testsrc
    for a PicoZed 7015 and located:
    hdlProjectspz_fmc2_valtestPZ7030_FMC2pz_fmc2_valtest.sdkpzcc_iic_eeprom_testsrc
    for a PicoZed7030.

    This location is mentioned on page 13 of the downloaded reference design documentation.

    Contained in that file will be all three example values that were included as SD Card binaries.  You will need to provide the values you want into the int8u array default_idt_config, ensure you maintain the same format!!

    If you need to validate the SOURCE of that file (pre-building the project, straight from GITHUB), you can locate that:
    hdlProjectspz_fmc2_valtestsoftwarepzcc_iic_eeprom_testsrciic_eeprom_demo.c

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • drozwood90
    0 drozwood90 over 8 years ago

    Hi there,

    Which PicoZed are you using?  The PicoZed 7015 or the PicoZed 7030?

    If the program is stating a success, then the IDT EEPROM has been re-programmed.  Power-Cycling will force the IDT part to re-initialize using that new configuration.  If you are not seeing a difference, you might be programming the same thing over and over.  That is one reason I like to use JTAG instead of the SDCARD.  Once you program, reboot, that is it.  You need to perform extra actions to reconfigure.  There are cases where the SDCARD is useful as one binary can be quickly put into MULTIPLE boards and powered on / off to reconfigure the boards.

    I'm thinking that we need to look at how you are measuring the clock.

    How are you measuring the IDT clock?  Are you using an Oscilliscope?
       The IDT clock feeds into the PL on one clock capable pin, as well as the MGT1.  There are also locations to test the clock output from the IDT part.
    Keep in mind that this clock synthesizer has 4 channels of output.  You might be on the wrong output.
    Which output are you trying to measure?  How are you using this in your design?  The MGT1 input?  The PL clock input?  Have you validated your constraints are calling out the correct pins to invoke that clock to feed into your clock tree?

    You will see TP31 located on the back of the board (under the PicoZed SOM).  This is connected to the same output as the PL clock (although will be out of phase).  The other test points are TP34/TP33, TP35/TP36.  These test points surround the same area where you will locate the 8T49N242 (U13).

    These can be seen defined on page 3 of the schematic.  You can find the schematic on the PicoZed documentation page:
    http://picozed.org/support/documentation/13076

    The 0xA0 and 0x50 are different representations of the address.  0xA0 is 10100000b, where 0x50 is 01010000b, notice the 0x50 is shifted?  It has to do with how the values must be presented to the I2C engine.  0x50 is actually the correct value that you need to use in the code.

    Included in the design documentation are SDCARD images, which should allow you to reset the clock to the default configuration as well as enable the various MUX capabilities of the part.

    Lastly, the file you want to be modifying for this - using the output from the IDT Timing Commander is iic_eeprom_demo.c which is located:
    hdlProjectspz_fmc2_valtestsoftwarepz_fmc2_valtest.sdkpzcc_iic_eeprom_testsrc
    for a PicoZed 7015 and located:
    hdlProjectspz_fmc2_valtestPZ7030_FMC2pz_fmc2_valtest.sdkpzcc_iic_eeprom_testsrc
    for a PicoZed7030.

    This location is mentioned on page 13 of the downloaded reference design documentation.

    Contained in that file will be all three example values that were included as SD Card binaries.  You will need to provide the values you want into the int8u array default_idt_config, ensure you maintain the same format!!

    If you need to validate the SOURCE of that file (pre-building the project, straight from GITHUB), you can locate that:
    hdlProjectspz_fmc2_valtestsoftwarepzcc_iic_eeprom_testsrciic_eeprom_demo.c

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • nima_taie
    0 nima_taie over 8 years ago in reply to drozwood90

    Hello,

    Thanks for the reply.

    I am using Picozed 7030 SOM. I am also using JTAG to boot 7030. It is faster, and I am only working on one board. I am also using an 2GHz Oscilloscope with both single ended 500MHz probe and differential probe. I am measuring the outputs on the test points you mentioned in your reply. I know that TP31 is inverted version of Q3 output, as the documentation indicates. 

    I am programming the IDT device to get HCSL output clocks on channels Q0-Q2 and single ended on Q3. I have modified iic_eeprom_demo.c file to have my config setting in int8 default_idt_config[133] array. I have commented out all ofher configs. I then used IDT's timing commander to create my EEPROM setting as they describe in their EEPROM created app note.

    Thanks for clarification on the address. That makes sense. 

    What I see is that, what ever I program to IDT device does not appear at the test points. It appears to be programmed to some value which is not even what the default values are. I just got a Total Phase Ardvard, and I am going to attempt to program the IDT or maybe even I2C directly from the PC. I am going to give that a try.

    Thanks,

    Nima

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube