新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Virtex-5 FPGA的音视频监视系统设计

基于Virtex-5 FPGA的音视频监视系统设计

作者:时间:2010-11-19来源:网络收藏

一般情况下,可以使用这些时钟功能引脚和区域缓冲器来映射源同步时钟输入。区域缓冲器具有较低歪斜度,可以访问三个区域(一个区域缓冲器所在的区域,以及其上和其下各一个区域)。但对于源同步数据的组选择,我们倾向于只使用一个I/O组。如果需要其他IIO,则最好将I/O组用于已事先映射到相邻组的数据信号。

的初始布局规划按照几个步骤进行。首先将时钟放在上半部,然后将自动采集(可选)时钟放在下半部。我们锁定了每半部分的CMT,以满足 I/O组的3/4要求。这样映射能确保每半部分都留有两个PLL/DCM(CMT)可用于PCI Express和千兆位以太网的MAC(SGMII)功能。

再把同步数据映射到含有区域时钟的组,所以把10个信道输入映射到剩下的I/O组。每条视频信道由20条数据线、3个控制信号和3个视频时钟输入组成。同时,每条音频信道由4个数据信号、3个控制信号和1个音频时钟信号组成。这样就满足了32个信号至少使用两个时钟功能引脚的要求。

对于本,10个信道使用10个I/O组。我们将视频时钟和音频时钟映射到了时钟功能引脚,以确保有效使用区域时钟缓冲器和I/O时钟缓冲器。根据PCB的要求,我们为信道选择了第5、 6、 13、 17、 18、 19、 20、 22和25组。

对于DDR存储器,支持1条32位的数据总线、14条地址线和若干条控制线。我们需要85~90个信号来映射DDR存储器接口。根据PCB的布局,我们使用了I/O组11、23和15来映射DDR的全部I/0信号。由于DDR存储器按照时钟工作,所以我们选择将DDR生成的读数据DQS信号映射到具有时钟功能的I/O线。

核生成与IP集成

用CORE Generator生成核并且集成知识产权模块的任务可能很棘手。

Virtex—5支持可以用CORE Generator工具生成的时钟控制模块的各种配置。其中包括若干滤波器时钟抖动PLL、一个具有滤波器时钟抖动功能的PLL-DCM对、一个具有输出双倍数据速率(ODDR)的PLL-DCM对或DCM、一个标准型相移时钟DCM和若干动态时钟切换PLL。

要生成PLL,首先需要了解输入是单端的还是差分的(示例设计中都是单端的)。然后,必须确定时钟抖动是否适宜(在我们的示例中是120皮秒),以及是否使用了全局缓冲器来缓冲所有输出。

每个PLL最多可生成6个不同频率的时钟。在我们的示例中,设计需要4个200MHz的时钟和1个19.048MHz或39.096MHz的音频采集时钟。

为了使用ODDR触发器在源同步输出中驱动时钟,我们实现了一个DCM,用于驱动ODDR触发器来实现随路时钟控制。此DCM与我们用来进行内部时钟控制的DCM并行运行。

我们用CORE Generator生成了ASYCNFIFO或BlockRAM,并且用嵌入式微处理器核上的中断逻辑来支持ECC,以完成数据错误检测。

在生成PCIExpress核时,我们必须确保参考时钟具有与PC主板上的PCIExpress插槽输出相同的性能(即100MHz)。另外,我们还需要确定该核需要多少基址寄存器(BAR),以及BAR是存储器映射还是I/O映射。我们为地址解码使用了BAR器,这可以帮助生成BAR命中点。

在设计PCIExpress与系统局部总线之间的桥接器时,我们使用了BAR(起存储器或I/O区域芯片选择的作用)来访问存储器映射或I/O映射的寄存器或BlockRAM,确保该核及总线能正确访问所有寄存器或BlockRAM。

如果上述任何点未命中,则主机PC在尝试传递和执行读事务时就不会得到任何响应。主机PC会进入未知的状态,或者产生无法恢复的错误。

对于IP集成,必须为各分别使用一个时钟复位模块。异步复位必须与每个时钟都同步,无论是全局时钟还是区域时钟。就内部而言,复位信号是相对于特定的时钟而异步有效置位和同步无效置位,而其输出则施加到各时钟所属的特定模块。需要确保已经将所有全局输入时钟连接到用CoreGen生成的 PLL/DCM核。

将区域时钟连接到BUFR/BUFIO。另外,为了避免布局布线工具使用不必要的布线资源,只能仅生成必要的复位信号。需要确保将PLL/DCM的锁存条件传送给外部引脚或配置寄存器。示例中,我们仅将200MHz系统时钟的PLL锁存器连接到了I/O引脚。

因为我们是在用高速源同步输入和输出进行设计,所以的逐位去歪斜功能帮助我们在输入和输出级满足建立和保持要求,逐位去歪斜功能内置于所有I/O模块(10DELAY基元)。对于源同步输入,源同步时钟使用BUFIO或BUFR, 因此会引入附加延迟。为了补偿此延迟,我们通过一个IODELAY实例来驱动数据和时钟输入,该实例是按照具有已知延迟计数的输入延迟模式配置的。我们通过修改延迟计数值来帮助满足输入级的时序要求。

输出级的情况与此相似。因为同步时钟信号是随数据传送,我们需要确保数据和时钟信号的传送方式能满足或ASIC在另一端的建立和保持要求。对于时钟和数据输出,我们都使用了按照具有已知延迟计数值的输出延迟模式配置的IODELAY实例。



评论


相关推荐

技术专区

关闭