背景

之前写过一篇博文:Xilinx IP核专题之PLL IP核介绍,讲的是如何用ISE的CORE generator产生一个PLL核的实际实现过程,写的也比较仔细,里面的参数是根据数据手册了解的,自从那篇博文写完之后,我一直觉得这样的理解还比较浅显,于是有了今天的这篇博文,一起认识一下这个时钟核的架构。

The Clocking Wizard generates source code HDL to implement a clocking network. The generated clocking network typically consists of a clocking primitive (MMCME2_ADV or PLLE2_ADV) plus some additional circuitry which typically includes buffers and clock pins.

时钟向导通过产生硬件描述语言(HDL)的源代码实现了一个时钟网络。这个产生的时钟网络包括一个时钟原语(MMCME2_ADV or PLLE2_ADV)和一些额外的电路,典型的包括一些buffers和时钟引脚(clock pins)。

The network is divided into segments as illustrated in Figure 3-2. Details of these segments are described in the following sections.

这个时钟网络被分为一些部分,如下图示:

下面讲述这些部分的一些细节问题:

注:看下面的细节之前一定要结合上面提到的那篇文章看,因为一些相关的Clocking Wizard参数配置是和构架的segment有关的。

  • Input Clocks

Up to two input clocks are available for the clocking network. Buffers are optionally inserted on the input clock paths based on the buffer type that is selected.

时钟网络最多有两个输入时钟。 根据所选的缓冲区类型,可选择在输入时钟路径上插入缓冲区。

这个时钟网络最多有两个输入时钟,如果有两个不就是差分时钟输入吗?如果是差分时钟,那么输入时钟路径上的缓冲就是一个差分缓冲buff,例如:IBUFGDS。

如果有一个时钟输入,自然就是非差分时钟了,也就是单端的时钟输入,此时输入时钟路径上用一个IBUFG就好了。

有关这方面的内容,看这篇博文:【FPGA】IBUFG、IBUFGDS、IBUFDS...(这些到底是啥?)(一个菜鸟的追问?),写的很不错的,虽然还不够太完美,如果有幸我会总结一篇更好的。

Primitive Instantiation

The primitive, either user or wizard selected, is instantiated into the network. Parameters on primitives are set by the wizard, and can be overridden by you. Unused input ports are tied to the appropriate values. Unused output ports are labeled as such.

原语,无论是用户选择的还是向导选择的,都被例化到网络中。原语的相关参数由向导设置,也可以由用户自己覆盖(也就是自己设置)。未使用的输入端口被固定为一个合适值。未使用的输出端口被标记出来(连接到交付的源代码中标记为未使用的信号)。

有关原语到底是什么?

原语就是一个功能模块,例如上面的时钟网络中的Configured Clocking Primitive也是一个原语呀, 通过配置完成一定的功能。

下面这段话来自于:Xilinx公司原语的使用方法,我看了一眼,发现描述的还不错,贴出来一句看看。

原语,其英文名字为Primitive,是Xilinx针对其器件特征开发的一系列常用模块的名字,用户可以将其看成Xilinx公司为用户提供的库函数,类似于C++中的“cout”等关键字,是芯片中的基本元件,代表FPGA中实际拥有的硬件逻辑单元,如LUT,D触发器,RAM等,相当于软件中的机器语言。在实现过程中的翻译步骤时,要将所有的设计单元都转译为目标器件中的基本元件,否则就是不可实现的。原语在设计中可以直接例化使用,是最直接的代码输入方式,其和HDL语言的关系,类似于汇编语言和C语言的关系。

Xilinx器件原语

这个写的更简洁易懂。

知道了原语就是完成特定功能的小模块后,我们就能了解通过配置原语就能实现一些功能。

Feedback(反馈)

If phase alignment is not selected, the feedback output port on the primitive is automatically tied to the feedback input port. If phase alignment with automatic feedback is selected, the connection is made, but the path delay is matched to that of CLK_OUT1. If user-controlled feedback is selected, the feedback ports are exposed.

如果未选择相位对齐,则原语上的反馈输出端口将自动连接到反馈输入端口。 如果选择了具有自动反馈的相位对齐,则同样建立连接,但路径延迟与CLK_OUT1的路径延迟匹配。 如果选择了用户控制的反馈,则会显示反馈端口。

Output Clocks

Buffers that are user-selected are added to the output clock path, and these clocks are provided to the user.

输出时钟和输入时钟一样,都会有一个buffer添加到输出时钟路径上,然后输出时钟提供给用户。这个buffer的作用呢有缓冲也有驱动的意思,至于驱动就是如果有多个时钟输出,就必须添加这个buffer来增加扇出能力。

I/O Signals

All ports are optional, with the exception that at least one input and one output clock are required. Availability of ports is controlled by user-selected parameters. For example, when Dynamic Reconfiguration is selected, only those ports related to Dynamic Reconfiguration are exposed to the user. Any port that is not exposed is either tied off or connected to a signal labeled unused in the delivered source code. Not all ports are available for all devices or primitives; for example, Dynamic Phase Shift is not available when Spread Spectrum is selected.

所有端口都是可选的,但需要至少一个输入和一个输出时钟。 端口的可用性由用户选择的参数控制。 例如,选择“动态重新配置”时,只有与动态重新配置相关的端口才会向用户公开。 任何未公开的端口要么被绑定,要么连接到交付的源代码中标记为未使用的信号。 并非所有端口都适用于所有设备或原语; 例如,选择Spread Spectrum时,动态相移不可用。

LogiCORE IP Clocking Wizard 之 Core Architecture(时钟IP核的核架构介绍)相关推荐

  1. 通过Clocking Wizard定制和生成一个IP核(MMCM)(Virtex7)(ISE版)

    目录 定制过程 准备进入定制页面 第一页 Clocking features 第二页 第三页 Selecting Optional Ports 第四页 第五页 第六页 定制过程 准备进入定制页面 首先 ...

  2. ise的时钟ip核_ISE的IP核clocking wizard使用和例化

    datasheet:https://www.xilinx.com/support/documentation/ip_documentation/clk_wiz/v4_2/pg065-clk-wiz.p ...

  3. 如何为ASP.NET Core设置客户端IP白名单验证

    本篇博文中展示了如何在ASP.NET Core应用程序中设置IP白名单验证的3种方式. 你可以使用一下3种方式: 使用中间件检查每个请求的远程IP地址 使用Action过滤器为指定的Controlle ...

  4. MEION:时钟IP核与分频电路信号波形观察问题

    Q: A:时钟IP核输入输出的频率都有一定的范围.只能产生一些固定的频率时钟信号,不具备产生任意时钟频率的能力.且输入输出时钟的频率一般为M级.当系统中的时钟频率较低时,(不到M级),一般不采用IP核 ...

  5. Vivado使用技巧(8):Core Container打包IP核

    XCI与XCIX文件 通常,在生成Vivado IP核时,在工程目录的.srcs/sources_1/ip路径下会生成对应IP核的文件夹,该文件夹中包含了所有与该IP核相关的文件.最主要的一个文件是X ...

  6. FPGA实战(五)时钟IP核(MMCM PLL)

    来自正点原子的学习笔记 (关于开发板资源的相关理论我不太懂) (本文侧重于简单的理解和应用层面) 时钟IP核(MMCM PLL) 1时钟资源简介 2 硬件设计 3时钟IP核的使用 3.1 创建和配置时 ...

  7. 图解CPU生产全过程——以intel CORE i7为例,展望CPU架构

    科学Sciences导读:图解CPU生产全过程--以intel CORE i7为例,展望CPU架构.本文简介英特尔Intel x86架构.生产制造CPU的原料和准备.CPU生产制造过程,并展望CPU的 ...

  8. TCP/IP Model: Layers Protocol | What is TCP IP Stack?

    目录 What is the TCP/IP Model? TCP Characteristics Four Layers of TCP/IP model Application Layer The f ...

  9. Vivado18.2 PCIE ip核IO协议详细介绍

    金手指原理部分不多介绍,网上有很多类似的文章,大家可以自行参考 我们直接上手使用IP核建立部分 文章目录 IP核建立 IP核利化代码介绍 PCIE 协议介绍 PCIE 时序图 PCIE 示例代码 介绍 ...

最新文章

  1. 微生物相关网络构建教程中文Microbial association network construction tutorial
  2. js中push和pop的用法
  3. Spring IOC容器分析(1) -- BeanFactory
  4. entity reference在views中的运用
  5. UE4如何贴混合贴图_UE4_赛博朋克雨夜环境创作分享
  6. 理解 webpack 热更新
  7. 微信小程序API之getSystemInfo
  8. 【leetcode刷题笔记】Roman to Integer
  9. BZOJ1057 [ZJOI2007]棋盘制作 【最大同色矩形】
  10. hadoop2.x配合ZooKeeper集群环境搭建
  11. java web jsp页面,jsp引入页面 Java Web JSP详解(下)
  12. java 二级联动实现
  13. C语言中求大于M10个最大素数,全国计算机二级C语言上机题库—南开100题
  14. 直线分割平面的公式_直线分割平面-jiangwen127-ChinaUnix博客
  15. HT66F018定时器0(STM)定时器/计数器功能使用教程
  16. 网络上的罗刚·心灵之约
  17. netty-socketio+spring boot 长链接 实时通信 消息推送
  18. 随堂笔记4——文本编辑器Vim
  19. 多项式辗转相除法求最大公约数_辗转相除法求最大公约数
  20. Visual Studio 2010 简体中文旗舰版(含各版本下载地址 和KEY)

热门文章

  1. p10平板电脑android,8英寸安卓系统 Newpad P10平板电脑评测
  2. java55矩阵output_leetcode 59 螺旋矩阵2 Java 用时较短-Go语言中文社区
  3. pythonfor循环嵌套_python-嵌套和for循环中的字典和列表中的项...
  4. ==和equals的简单比较
  5. 承德计算机专业去哪考试,2021河北省考承德都在哪个学校考试?
  6. 前后落差大用什么词语_夸迪是什么“鬼”——爱上夸迪之心路历程
  7. numpy 中的三个特别的索引操作 c_, r_, s_
  8. 无线信标功能初步测试
  9. 保持联系,随时回来看看~
  10. c++ eos智能合约开发_干货|EOS智能合约开发(一)EOS环境搭建和启动节点