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
Mini-ITX Hardware Design Using the LVDS clock
  • 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 Not Answered
  • Replies 1 reply
  • Subscribers 319 subscribers
  • Views 1200 views
  • Users 0 members are here
Related

Using the LVDS clock

Former Member
Former Member over 9 years ago

Hello everyone,
I need to work with the Mini-ITX board. But as this is unfortunately the first board Iu2019m really working with, there are a lot of barriers for me. Such as general terms, the vivado software, the creation of testbenches etcu2026 So my problem described here is more of a general nature, than board specific I guess.

I need a single ended clock signal within my VHDL code. So in terms of using the internal 200MHz clock (LVDS) I got through many documentation and finally instantiating the IBUFGDS exactly as it is stated in the Xilinx document (7series_hdl.pdf u2013 page 177/446)- see below. I connect the inputs (I & IB) to the following pins as stated in the constraints file (.xdc):
## 200MHz System Clock
set_property PACKAGE_PIN H9 [get_ports CLK_P]
set_property PACKAGE_PIN G9 [get_ports CLK_N]
set_property IOSTANDARD LVDS [get_ports CLK_P]
set_property IOSTANDARD LVDS [get_ports CLK_N]

In my top entity I have the inputs CLK_N & CLK_P as std_logic and in the u201Carchitecture Behavioral of u2026u201D I put the above named IBUFGDS like this:
-- IBUFGDS: Differential Global Clock Input Buffer
-- 7 Series
-- Xilinx HDL Libraries Guide, version 14.7
IBUFGDS_inst : IBUFGDS
generic map (
DIFF_TERM => FALSE, -- Differential Termination
IBUF_LOW_PWR => TRUE, -- Low power (TRUE) vs. performance (FALSE) setting for referenced I/O standards
IOSTANDARD => "DEFAULT")
port map (
O  => clk, -- Clock buffer output
I  => CLK_P, -- Diff_p clock buffer input (connect directly to top-level port)
IB => CLK_N -- Diff_n clock buffer input (connect directly to top-level port)
);
-- End of IBUFGDS_inst instantiation

May I now use the signal u201Cclku201D for further parts in the code? As a friend stated to me the buffer is physically attached as an analog circuit (e.g. like some pull-up resistors) to the pin of the FPGA and is thereby something like an output. Thatu2019s why I would need to connect it externally by a short the get it as an input again (of cause using an input buffer again).
To my mind it should be possible to set up the internal clock, although it is LVDS like, and use it directly internally, without any external detour. When I checked the IPs includable e.g. for an block design it should also be possible to get several clock frequencies just as one needs them.
The overall goal is to create a clock signal used for a 9600baud UART interface. A clock divider is used in the further code.
In case this information is needed: Iu2019m working on a windows 7 host system, with Vivado 2015.4.
Any help for my problem is welcome. Thanks in advance.

  • Sign in to reply
  • Cancel
  • Former Member
    0 Former Member over 9 years ago

    Hello,

     

    You can use the input directly without any external routing. But, unless you need an external clock for accuracy or syncing with other external signals, it is probably easier just to use one of the internally generated clocks.

     

    Within your Vivado Block design open up the Zynq processing system IP and select 'Clock Configuration' in the left hand pane. Then expand ''PL Fabric Clocks'. Typically FCLK_CLK0 is already enabled but if not you can enable CLK0 or enable / add FCLK_CLK1/2/or 3 as well. You can also set a requested frequency and see the actual frequency that will be generated. Then you can use one of these clocks within your PL (Programmable Logic) design. You can also use either the external or internal clocks as an input to one of the Zynq Clock Management modules.

     

    It is probably worth your time to work through some of the basic Vivado tutorial or training material if you are going to be doing very much work with the device and Vivado tool suite.

     

    -Gary

    • 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