SDI工程时钟路径分析
SDI工程时钟路径分析
//------------- Receive Ports - RX Fabric Output Control Ports -------------
output rxoutclk_out,
//---------------- Receive Ports - FPGA RX Interface Ports -----------------
input rxusrclk_in,
input rxusrclk2_in, //--------- Transmit Ports - TX Fabric Clock Output Control Ports ----------
output txoutclk_out, //---------------- Transmit Ports - FPGA TX Interface Ports ----------------
input txusrclk_in,
input txusrclk2_in, //----------------------------------------------------------//
//通过查阅x7gtx_sdi_wrapper.v文件中的k7gtx_sdi_wrapper_GT模块
k7gtx_sdi_wrapper_GT #(
.GT_SIM_GTRESET_SPEEDUP ("FALSE"))
GTX_i (
.rxusrclk_in (rx_usrclk),
.rxusrclk2_in (rx_usrclk),
.rxoutclk_out (rx_outclk), .txusrclk_in (tx_usrclk),
.txusrclk2_in (tx_usrclk),
.txoutclk_out (tx_outclk),
); //----------------------------------------------------------//
//检查rx_usrclk rx_outclk tx_usrclk tx_outclk的使用情况
//从k7gtx_sdi_wrapper_GT出来的tx_outclk和rx_outclk通过BUFG之后,
//变成了tx_usrclk和rx_usrclk后又进入了k7gtx_sdi_wrapper_GT模块
BUFG BUFGTX (
.I (tx_outclk),
.O (tx_usrclk)); assign tx_usrclk_out = tx_usrclk; BUFG BUFGRX (
.I (rx_outclk),
.O (rx_usrclk)); assign rx_usrclk_out = rx_usrclk; //tx_usrclk 驱动tx_usrclk_out,rx_usrclk驱动rx_usrclk_out
//tx_usrclk_out,rx_usrclk_out两个时钟通过x7gtx_sdi_wrapper模块输出
module x7gtx_sdi_wrapper #(
parameter FXDCLK_FREQ = , // Frequency, in hertz, of fixed frequency clock
parameter DRPCLK_PERIOD = , // Period of drpclk in ns, always round down
parameter PLLLOCK_TIMEOUT_PERIOD = , // Period of PLLLOCK timeout in ns, defaults to 2ms
parameter RESET_TIMEOUT_PERIOD = , // Period of GTH RESETDONE timeout in ns, defaults to 500us
parameter TIMEOUT_CNTR_BITWIDTH = , // Width in bits of timeout counter
parameter RETRY_CNTR_BITWIDTH = , // Width in bits of the retry counter
parameter CPLL_REFCLK_PORT = "REFCLK1", // Options are REFCLK0, REFCLK1, GREFCLK, NORTH0, NORTH1, SOUTH0, SOUTH1
parameter TX_CLK0_QPLL = , // Set to 1 if QPLL is TX serial clock source with tx_m = 0, else set to 0
parameter TX_CLK1_QPLL = , // Set to 1 if QPLL is TX serial clock source with tx_m = 1, else set to 0
parameter GT_SIM_GTRESET_SPEEDUP = "FALSE")
(
output wire rx_usrclk_out, // rxusrclk input
output wire tx_usrclk_out, // clock input
); //----------------------------------------------------------//
//对于SDI核来说rx_usrclk和tx_usrclk都是输入进SDI核的,而不是先前理解的
//从核里面输出的时钟rx_usrclk,tx_usrclk
smpte_sdi your_instance_name (
.rx_usrclk(rx_usrclk), // input wire rx_usrclk
.tx_usrclk(tx_usrclk), // input wire tx_usrclk
); //----------------------------------------------------------//
//对于x7gtx_sdi_control模块
//tx_usrclk和rx_usrclk作为时钟输入
x7gtx_sdi_control #(
.FXDCLK_FREQ (FXDCLK_FREQ),
.DRPCLK_PERIOD (DRPCLK_PERIOD),
.PLLLOCK_TIMEOUT_PERIOD (PLLLOCK_TIMEOUT_PERIOD),
.RESET_TIMEOUT_PERIOD (RESET_TIMEOUT_PERIOD),
.TIMEOUT_CNTR_BITWIDTH (TIMEOUT_CNTR_BITWIDTH),
.RETRY_CNTR_BITWIDTH (RETRY_CNTR_BITWIDTH),
.TX_CLK0_QPLL (TX_CLK0_QPLL),
.TX_CLK1_QPLL (TX_CLK1_QPLL))
GTX_CTRL (
.txusrclk (tx_usrclk),
.rxusrclk (rx_usrclk),
); //查看x7gtx_sdi_control模块代码
module x7gtx_sdi_control #(
parameter FXDCLK_FREQ = , // Frequency, in hertz, of fxdclk
parameter DRPCLK_PERIOD = , // Period of drpclk in ns, always round down
parameter PLLLOCK_TIMEOUT_PERIOD = , // Period of PLLLOCK timeout in ns, defaults to 2ms
parameter RESET_TIMEOUT_PERIOD = , // Period of GTH RESETDONE timeout in ns, defaults to 500us
parameter TIMEOUT_CNTR_BITWIDTH = , // Width in bits of timeout counter
parameter RETRY_CNTR_BITWIDTH = , // Width in bits of the retry counter
parameter TX_CLK0_QPLL = , // Set to 1 if QPLL is TX clock source when tx_m = 0, 0 otherwise
parameter TX_CLK1_QPLL = ) // Set to 1 if QPLL is TX clock source when tx_m = 1, 0 otherwise
(
// TX related signals
input wire txusrclk, // Connect to same clock as drives GTX TXUSRCLK2
// RX related signals
input wire rxusrclk, // Connect to same clock as drives GTX RXUSRCLK2
); //----------------------------------------------------------//
//再向上一层看
//x7gtx_sdi_wrapper模块输出rx_usrclk,tx_usrclk给其它模块使用 module k7_sdi_rxtx #(
USE_CHIPSCOPE = "TRUE")
(
output wire rx_usrclk,
output wire tx_usrclk,
); multigenHD VIDGEN (
.clk (tx_usrclk),
); vidgen_ntsc NTSC (
.clk (tx_usrclk),
); vidgen_pal PAL (
.clk (tx_usrclk),
); x7gtx_sdi_wrapper #(
.FXDCLK_FREQ (),
.DRPCLK_PERIOD (),
.TIMEOUT_CNTR_BITWIDTH (), // 2^16 / 27e6 is enough for 2ms timeout period
.CPLL_REFCLK_PORT ("REFCLK1"), // CPLL reference clock connected to the gtrefclk1 port
.TX_CLK0_QPLL (), // TX uses QPLL as clock source when tx_m is Low
.TX_CLK1_QPLL ()) // TX uses CPLL as clock source when tx_m is High
SDI ( .rx_usrclk_out (rx_usrclk),
.tx_usrclk_out (tx_usrclk),
);
目前为止,尚未弄清楚的就是gtxe2_common模块了。
SDI工程时钟路径分析的更多相关文章
- GTP+SDI工程播出部分思路整理
GTP+SDI工程播出部分思路整理 1.video_out_to_sdi模块 关于video_out_to_sdi模块的输出信号: tx_video_a_y[9:0] 这是要输入SDI IP核内的 t ...
- GTP+SDI工程播出部分思路整理(3)
GTP+SDI工程播出部分思路整理(3) 1.本文的目的主要分析video_out_to_sdi模块中输入信号 tx_usrclk, rst, tx_mode, tx_level_b的使用 Tx_us ...
- GTP+SDI工程播出部分思路整理(2)
GTP+SDI工程播出部分思路整理(2) 以同样的方法来分析tx_video_a_c_in信号: SDI核中tx_video_a_c_in信号连接情况如下所示 .tx_video_a_c_in ...
- BT.656 NTSC制式彩条生成模块(verilog)
BT.656 NTSC制式彩条生成模块(verilog) 1.知识储备 隔行扫描是将一副图像分成两场扫描,第一场扫描第1,2,5,7...等奇数行,第二场扫描2,4,6,8...等偶数行,并把扫奇数行 ...
- GTX_SDI搭建流程
GTX_SDI搭建流程 1.GTX wrapper 因为顶层的GTX wrapper在实际的SDI工程中用不到,我们只是需要GTX wrapper模块中的部分文件.因此,在SDI工程中,我们并不需要生 ...
- VS2010 MFC实现启动画面
1.创建一个SDI工程(或者其他工程都可以). 2.创建一个位图资源命名为IDB_BITMAP1. 3.利用类向导添加一个类CMySplashCtrl(名字可以自己随便取). 4.在MySplashC ...
- mfc ui2
引用:http://www.cnblogs.com/likwo/archive/2010/10/22/1858716.html CJLib(mfc扩展开发包,是xtreme toolkit的前生,但x ...
- VC++中复制对话框资源 之较好方法之一
资源对话框的编写有时候较为麻烦,这里我成功实现了这个方法的可用性,具体如下: 碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中.在网上搜了几个帖子发现都说的很生涩. ...
- MFC中快速应用OpenCV(转)
转载链接:http://wiki.opencv.org.cn/index.php/MFC%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%BA%94%E7%94%A8OpenCV 简介和缘 ...
随机推荐
- 使用grafana cli重置grafana密码
Grafana CLIgrafana cli是grafana server自带的一个小巧的二进制工具,用来在运行grafana server的机器上执行命令.插件grafana cli工具允许你安装升 ...
- 2017ICPC北京赛区网络赛 Visiting Peking University(简单思维)
描述 Ming is going to travel for n days and the date of these days can be represented by n integers: 0 ...
- 前端笔记 (3.JavaScript 1)
JavaScript 是属于网络的脚本语言! JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后, ...
- Java小故事(一)
import java.util.Date; //导入包 public class Test11 { public static void main(String [] args){ CatFathe ...
- ANDROID BINDER机制浅析
Binder是Android上一种IPC机制,重要且较难理解.由于Linux上标准IPC在灵活和可靠性存在一定不足,Google基于OpenBinder的设计和构想实现了Binder. 本文只简单介绍 ...
- Linux上统计文件夹下文件个数以及目录个数
对于linux终端用户而言,统计文件夹下文件的多少是经常要做的操作,于我而言,我会经常在谷歌搜索一个命令,“如何在linux统计文件夹的个数”,然后点击自己想要的答案,但是有时候不知道统计文件夹命令运 ...
- Linux命令学习之路——变更工作目录:cd
使用权限:所有角色 使用方式:cd [ targetDir ] 作用:该命令用于在Linux中切换工作目录 注意点: 1.targetDir代表目标目录,可以采用绝对路径或相对路径表示: 2.当tar ...
- Gym101002 2016NAIPC(队内第7次训练)
(由于先看的最后一题,然后又一直WA,导致这场有点爆炸,我背锅. A .Fancy Antiques 题意: 选择最多k个商店,买n个物品,每个物品分别对应两个店售卖,求最小花费是多少.n<10 ...
- java-SimpleDateFormat类
1.SimpleDateFormat类实现日期和字符串的相互转换 * A:DateFormat类的概述 * DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或 ...
- 实验吧—安全杂项——WP之 你知道他是谁吗?
点击链接就可以下载下来一个压缩包 解压后得到一个图片 在百度上可以搜出他是 托马斯·杰斐逊(英语:Thomas Jefferson) 我们将名字输入到flag内,但是不对 我下一步直接用软件NSE查看 ...