Menu Close

Quartus II LVDS_RX与生成配置

 

本节内容讲解在LVDS在Intel Altera FPGA 上的使用以及如何在Quartus II FPAG集成开发环境配置LVDS接口的各项设置。首先在Quartus II新建一个工程进行测试。

  1. QuartusII新建工程

创建空工程并指定工程文件,库,器件及EDA工具。分解步骤如下,

在主菜单 点击File–>New Project Wizard ,弹出如图1所示对话框

图1

在图1中输入(或选择)项目路径(D:/high_speed_txrx),项目名称hs_txrx,顶层实体文件hs_txrx。点击 –>NEXT,弹出图2所示界面

图2

在project type界面下:选择Empty project(空工程),点击–next , 弹出如图3所示界面

图3

图3中可以选择需要的文件添加到项目中,由于目前是测试新项目,因此没有文件需要添加,点击–>>next, 弹出界面如图4,

图4

在图4界面下选择合适的器件,由于本次设计测试采用FII-PRAoo6, 因此在Family,Device & Board Settings标签栏内的对话框中,

Family –> Cyclone10 LP,Package –> TQFP,Pin count–> 144,Core speed grade –>8,最终选定10cl006YE144C8G

点击–> NEXT, 弹出图5对话框

图5

图5中在Simulation选择ModelSim-Altera, Format(s)–> Verilog HDL,点击–> NEXT 弹出summary对话框,然后点击–>finish 完成新项目创建。如图6

图6

2. 添加添加LVDS RX IP,

在Quartus II主界面 有IP Catalog选择框,如图7

图7

在IP Catalog中选择ALTLVDS_RX并双击,弹出对话框如图8,

图 8

图8将IP variation file name的名称也就是新生成的文件名设为IO_RX, 在 IP variation file type 选择Verilog。点击”OK“。弹出图9 对话框。

图 9

(1)器件选择

在图9中的右上角Currently selected device family 选择所需要的器件,当然也可以选择Match project/default(与创建工程时所使用的器件一致),如果将器件选择为Arria II GX 或其它含有Serdes(serialization /deserialization)硬核的FPGA器件(一般含有硬核SERDES的FPGA器件都用GX作为后缀区分)。

注意:是否能选择出合适的器件,要看系统中是否安装了该类器件库。

(2)硬核SERDES与软核SERDES

图9中由于使用cyclone 10 LP 器件没有硬核的SERDES,因此这一部分将会理由FPGA内的 逻辑电路实现,而且仅用时钟的快速边沿捕获数据,这个和硬核SERDES的应用是不同的,关于硬核部分,我们后续课程在SERDES及其应用的篇幅中会详细讲解。

如果选择了GX系列,依然可以选择使用逻辑实现,当然不使用硬核SERDES,其性能和捕获速度会大打折扣。建议在使用含有硬核SERDES的器件时,尽量使用hard SERDES。

(3)使能动态相位对齐模式(Enable Dynamic Phase Alignment mode)

利用动态相位对齐模式有多种实现方案,具体的实现技术在后续的篇章中会详细介绍,这里提到的动态相位对齐模式是指如果使用GX系列FPGA,动态相位对齐模式在硬核SERDES内实现。LP系列不含硬核SERDES因此,这些选项都是灰色的。

 

图10

(4)通道数量(what is number of Channels?)

在一次生成的Altera_LVDS 的模块中带有几个通道(Channels),一次可以选择1–18个通道不等。随着通道数增加,rx_in的数量也在增加。如只有一个通道则为rx_in[0], 如果选3个通道则为rx_in[2..0],表示有rx_in[0],rx_in[1],rx_in[2]共3个通道。

(5)反串行化因子(what is the deserialization factor),

反串行化因子决定采用几位输出。如反串行化因子为4则每次输出4位结果。如果是多通道,则输出会拼接在一起,如channel=3, factor=4;则输出为rx_out[11:0], 其中rx_out[3:0],rx_out[7:4],rx_out[11:8]分别为rx_in[0],rx_in[1],rx_in[2]的输出结果。

上面介绍了一部分SERDES的基本知识,由于在本章内容中相关的高速异步串行通信中只涉及到1个通道,串行化因子也设为1,设置如图9所示。关于SERDES的使用我们会在后续章节中介绍。点击next,弹出界面如图10,

图11

(6)频率/PLL设定

图11中介绍frequency/PLL的使用,由于串行化因子为1,所以图11的各种选项都为灰色,不能设置,在SERDES的使用章节会介绍如何使用。点击next,弹出图12的界面。

  1. 动态相位对准设定DPA(Dynamic phase alignment)setting

图12,

图12介绍动态相位对准1,即DPA(Dynamic phase alignment )setting1,由于选择了deserialization factor为1,因此本页面也为灰色,将来在介绍SERDES使用的章节中会详细介绍。DPA setting2,3都是同样的原因为灰色的,点击next 直到Receiver Setting界面,如图13所示。

图13,

在图13中将Register output的复选框去掉,即输出不需要锁存,此时输入端的时钟也自然也自然消失,此时ALTLVDS_RX将会生成仅带LVDS接收器的LVDS输入接口。点击next ,如图14

图14

图14指出仿真注意实项及网表生成。

图15

在图15选择要生成的文件,点击Finish结束IO_RX IP 核的生成,并将IO_RX.qip添加到项目中。

至此完成RX端LVDS的产生,并添加到项目中。在后续合成中会在串行高速通信中使用。

 

Posted in FPGA, FPGA 教材教案, FPGA硬件资源, Quartus II, Quartus II, 开发工具, 开发工具, 教材与教案, 文章

发表评论

您的电子邮箱地址不会被公开。

Leave the field below empty!

相关链接