IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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",
"ECLK_CENTERED_MIPI", "ECLK_CENTERED_SLVS", "SCLK_ALIGNED",
"SCLK_CENTERED", "SCLK_ZEROHOLD", "USER_DEFINED" (default)

DEL_VALUE :0-127

?

?

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:12:53  更:2022-05-14 10:13:15 
 
开发: 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年5日历 -2024/5/19 2:49:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码