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

 

 

 

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Lattice Diamond是一款用于FPGA设计的综合工具,以下是使用教程: 1. 安装Lattice Diamond软件,打开软件后选择“New Project”创建新项目。 2. 在“New Project”窗口中选择“FPGA Project”,然后选择FPGA型号和开发板型号。 3. 在“Project Navigator”窗口中,右键点击“Sources”文件夹,选择“New Source”创建新的源文件。 4. 在“New Source”窗口中选择“VHDL”或“Verilog”语言,输入文件名并点击“Finish”创建源文件。 5. 在“Project Navigator”窗口中,右键点击“Constraints”文件夹,选择“New Constraint Set”创建新的约束文件。 6. 在“New Constraint Set”窗口中输入约束文件名并点击“Finish”创建约束文件。 7. 在约束文件中添加时钟约束、输入输出约束等约束条件。 8. 在“Project Navigator”窗口中,右键点击“Run”文件夹,选择“New Configuration”创建新的配置文件。 9. 在“New Configuration”窗口中选择FPGA型号、开发板型号和约束文件,并点击“Finish”创建配置文件。 10. 在“Project Navigator”窗口中,右键点击“Run”文件夹,选择“Start Compilation”开始编译。 11. 编译完成后,在“Project Navigator”窗口中,右键点击“Run”文件夹,选择“Program Device”将设计下载到FPGA开发板中。 以上就是Lattice Diamond使用教程,希望对您有所帮助。 ### 回答2: Lattice DiamondLattice Semiconductor公司开发的集成电路设计软件,用于FPGA、CPLD等电路的设计、仿真和综合。本文将为大家提供Lattice Diamond使用教程。 一、Lattice Diamond的安装 1.首先要从Lattice Semiconductor公司网站下载Lattice Diamond的安装文件。 2.运行安装文件,按照提示完成安装。 3. 安装完成后,在Windows系统的桌面可以找到Lattice Diamond的快捷方式。 二、项目创建 1. 打开Lattice Diamond,点击“File”选项卡,选择“New Project”来创建一个新项目。 2. 输入项目名称,选择项目的保存位置,点击“Next”。 3. 选择相应的FPGA器件类型和产品系列,点击“Next”。 4. 选择FPGA器件的封装类型,点击“Next”。 5. 选择FPGA器件的速度等级、工作温度等级,点击“Finish”。 三、设计流程 1. 打开设计界面,可以新建或打开已有的设计文件。 2. 在设计界面上进行理图绘制,可以使用工具栏中提供的元件、连接等功能进行设计。 3. 设计完成后,进行电路仿真,验证电路功能是否正常。 4. 采用逻辑综合工具将设计代码转换成FPGA的硬件描述语言,生成出逻辑包络图文件。 5. 使用逻辑实现工具对逻辑包络图进行分区、综合等处理,将设计代码和FPGA硬件资源进行映射。 6. 使用时序约束工具,根据设计目的和FPGA器件的速度等级,制定时序要求。 7. 运行后仿真检查; 8. 生成配置文件。 四、FPGA编程 1. 将开发板上的FPGA和PC机通过USB线连接。 2. 打开Lattice Diamond的Programmer工具。 3. 选择FPGA器件类型和设备品牌。 4. 选择配置文件,点击“Program”进行FPGA编程。 五、总结 通过以上步骤,我们可以使用Lattice Diamond完成FPGA电路设计、仿真、综合、编程等工作。该软件具有功能强大、使用简单等优点,但需要掌握的知识点较多,需要花费一定时间学习和实践才能熟练掌握。 ### 回答3: Lattice Diamond是一种集成电路设计软件,在数字信号处理、数据记录、图像处理及控制等领域得到广泛应用。对于初学者来说,使用这种软件进行电路设计可能会有些困难。下面将为大家介绍Lattice Diamond使用教程。 首先,安装Lattice Diamond软件。在安装之前,需要先下载Lattice Diamond安装包并解压。安装包解压后,将打开“diamond-x.x-win32.exe”程序并按照指示进行安装即可。 接下来,打开Lattice Diamond软件。首次打开软件时,可能需要进行一些初步设置,例如选择默认的工作目录和设置选项。 在打开软件后,可以创建新的工程。要创建新的工程,首先需要选择Lattice设备系列。之后,选择要使用开发板,以及所需的开发工具和编程器。在设备选项中设置好后,即可创建新工程。 在创建好的工程中,可以创建模块。模块可以由门级元器件或其他复杂电路构成。在创建模块时,可以使用Lattice Diamond中提供的各种元器件库,例如计数器、加法器、寄存器等。之后,将门级元件拖动到窗口中,进行电路设计。 在完成电路设计后,可以对电路进行仿真。在仿真之前,需要编写程序或使用已有的仿真脚本来进行仿真。在完成仿真脚本后,可以使用Lattice Diamond中提供的仿真器,例如ModelSim等,对设计的电路进行仿真。 最后,在完成工程的设计和仿真后,可以进行电路布局和布线。在布局和布线时,需要根据设计要求进行布线,并避免出现地线或电源线等干扰。在完成布线后,即可进行电路的验证和测试,以确保电路的正常工作。 综上所述,Lattice Diamond是一款功能强大的电路设计软件,通过良好的使用方法和操作技巧,可以轻松完成各种数字电路设计任务。诸如电路设计、仿真、布局、布线和测试等各种功能,可以帮助工程师们更好地完成数字电路的设计任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值