| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> Lattice FPGA 开发工具Diamond使用流程总结——IP核使用、原语调用 -> 正文阅读 |
|
[网络协议]Lattice FPGA 开发工具Diamond使用流程总结——IP核使用、原语调用 |
由于前面文章已经讲解了ip的使用方式,此文讲解利用PLL核产生相位可调的时钟信号,以及IO delay原语,这些在高速接口中经常用到。注意此文针对的是ECP5系列芯片。 一、利用PLL核产生相位可调的时钟信号1)配置PLL核。 打开pll核配置界面如下所示,使能需要的时钟信号,设置输入时钟频率以及相应的输出时钟频率。(其中要注意CLKFB选项,待动态调整相位的时钟不能作为此选项的配置,这里我们选择CLKOS作为待调整时钟,此时CLKFB选项可选为CLKOP),点击OptionalPorts,进入动态相位调整使能选项。 如下,勾选动态相位端口,左侧显示了PLL模块端口示意图。 2)参数配置与例化 配置完pll后,在Hierarchy 窗口找到创建的PLL核,右击>Goto sourace definition ,打开pll的HDL文件,进行顶层例化和参数配置。 创建的pll核HDL源码如下,源码包括了pll的端口和相关参数的定义,根据需要配置相关参数。在顶层中例化pll核,并按时序要求生成相关信号,综合后配置引脚,生成bit流即可。 3)主要信号\参数说明 端口信号说明: PHASESEL[1:0]信号为片选信号,决定使能哪一路输出时钟做动态相位调整。 PHASEDIR 决定了相位要调整成“超前”还是”滞后”。 PHASESTEP和PHASELOADREG分别是两种工作模式下触发信号,下降沿有效。 如下,设置PHASESEL不同的参数值,选择某一路时钟做相位调整(一个时间点只能调整一路时钟)。 ?如下,设置PHASEDIR不同参数值,选择相位调整的方向。 ?如下,如果选用PHASESTEP信号(下降沿触发)来触发相位调整,则遵循下面时序。 ? 此种触发下,每次相移的步长(单位:度)由下面公式计算: (CLKO<n>_FPHASE/(8*CLKO<n>_DIV)*360? n,代表待调整相位的时钟的下标,如CLKOP,这里n就是P 公式中的参数可在创建的PLL核的hdl文件中找到,CLKO<n>_DIV为软件自动计算的固定值,参数CLKO<n>_FPHASE可以根据自己需求调整 如下,如果选用PHASELOADREG信号(下降沿触发)来触发相位调整,则遵循下面时序。 此种触发下,每次相移的步长(单位:度)由下面公式计算: [(CLKO<n>_CPHASE – CLKO<n>_DIV)/( CLKO<n>_DIV + 1)] * 360 n,代表待调整相位的时钟的下标。如CLKOP,这里n就是P 公式中的参数可在创建的PLL核的hdl文件中找到,CLKO<n>_DIV为软件自动计算的固定值,参数CLKO<n>_CPHASE可以根据自己需求调整 二、IO delay原语? 利用DELAYF原语可以将输入信号延时后输出,延时的最小单位为25ps,最大延时为127*25ps。 其模块示意图如下: ? 端口说明: A ????????? 输入信号 LOADN ?????复位信号,对输入信号做动态延时调整时,此信号必须设为0 MOVE ??????延时动态调整触发信号,下降沿有效 DIRECTION ??在MOVE下降沿被采集;置0时,增加对输入信号的延时,置1时减少对输入信号的延时 CFLAG??????? 延时溢出标志,表示不能再增加延时了 原语: module DELAYF ( input A, LOADN, MOVE, DIRECTION, output Z, CFLAG ); parameter ?DEL_MODE = "USER_DEFINED"; parameter ?DEL_VALUE = 0; ? endmodule DEL_MODE: "ECLK_ALIGNED", "ECLK_CENTERED", DEL_VALUE :0-127 ? ? ? |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:41:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |