上节内容介绍Quartus 下LVDS RX接口生成以及与LVDS相关的SERDES内容的初步知识。本节内容介绍Quartus 下LVDS TX接口的生成及使用。本节内容继续上节内容创建的工程继续讲解。
1.Quartus 下LVDS TX的生成。
打开工程hs_txrx, 在IP Catalog对话框中找到 ALTLVDS_TX,如图1

图1
双击图1中ALTLVDS_TX选项, 弹出图2对话框,

图2
在图中IP Variation file name 中输入IO_TX , IP variation file type 选择Verilog,点击OK, 弹出对话框如图3,

图3
图3 显示的内容与LVDS_RX 的界面非常类似,这里关于器件(如GX family)以及SERDES的基本知识在上节内容中已经给大家介绍,这里不再重复累述,后续章节会详细介绍SERDES相关内容,敬请关注。
由于在本章内容将SERDES的原理以及实现以Verilog代码的方式给大家讲解,便于对SERDES有较深入的理解,将来对SERDES千变万化的配置使用自如,并能方便写出接口及应用程序。在图3中Channel number选择1, Serialization factor 选择1。如图4,

图4
点击next,弹出如图5对话框,

图5
图5是Frequency/PLL配置选项,主要是SERDES的各种选项,由于在图4中设定了serialization factor为1,因此除了Register ‘tx_in’ input port using外,其它选项都为灰色,在后续课程(SERDES的使用)中会专门介绍SERDES的使用。将Register ‘tx_in’ input port using前面的复选框中的对号去掉,即不选中该项。
注意:该项的含义是利用端口的寄存器将’tx_in’进行锁存,这将有利于提高时序,一般情况下没有特殊的约束,我们声明的寄存器都是FPGA内部寄存器,如果想使用端口寄存器应加特殊的约束或调用与IO相关的IP,如本节讲解ALTLVDS_TX,Xilinx Vivado 下的SelectIO等,IDDR,ODDR等原语的使用。将来在高速通信中,可以对比测试。从图5的左上角的图形符号可以看出,此时时钟输入端也不见了(对比图4)。点击next,弹出图6对话框。

图6
图6中同样是灰色的,直接点击next,弹出图7对话框。

图7
提示在仿真时应使用altera_mf 库,才能得到正确仿真结果。点击Next, 弹出图8对话框,

图8,
图8中保留IO_TX_inst.v, IO_TX_bb.v两个选项,下面对各个文件作简单介绍:
.qip–Quartus Prime IP file
—-Quartus 生成的IP最主要的配置选项,主要指定该IP使用的Quartus的版本号,使用的器件,以及生成的文件等,可以在工程中打开文件进行查看。
.bsf –Quartus Prime symbol file
—-主符号文件,可以图形输入的界面中使用
_inst.v—instantiation template file
—-例化的模板文件,可以将该文件的内容复制到需要例化的位置,进行快速例化。
_bb.v —Verilog HDL black box file
—-Verilog 的黑盒子文件,仅对端口做了描述
.inc —AHDL Include file
—- Altera 的AHDL文件中的include文件,如果要使用AHDL语言进行项目开发,应将生成的.inc文件include进AHDL文件中,才能使用该IP核
.cmp–VHDL component declaration file
.ppf — Pinplanner ports PPF file)
—-xml格式文件,主要对输入、输出特性进行了描述,并没用指定具体的管脚锁定。
可以在工程目录中打开各个文件进行阅读,学习各个文件。
点击Finish, 并将IO_TX.qip添加到工程中。为下一步开发异步串行高速通信服务。