可编程逻辑
假如给定FPGA内的时钟没有正确运行,那么我们多片FPGA系统的整体将不能同时启动,这将有可能是致命的。
我们还必须确保所有FPGA主时钟在释放复位之前都在运行,因为由于模拟电路(PLL和MMCM是模拟器件)的相关效应,并非所有时钟生成模块(MMCM、PLL)都可以同时锁定并准备就绪。
因此,需要构建一个reset复位的条件树。这可以通过添加一个如图所示的小电路来实现,该电路将分布在FPGA上。
每个FPGA中都有一个NAND功能,用于仅从我们设计中激活的MCMM中选通锁定信号。这将是一个组合函数,或者仅由独立于MMCM输出的自由运行的时钟确定。
然后,每个FPGA将其组合的all_LOCKED信号馈送到主FPGA,在主FPGA中对其进行“或”运算,以驱动复位分配树。
该原型中使用的任何板载PLL的锁定信号也必须选通至主复位,并且可能存在与时钟无关的其他条件在释放复位之前,这也必须为真,例如,外部仪器准备就绪的信号,当然,还应包括用户的“按钮”复位。默认这些都是高电平活动的,但当然,复位门可以处理任何组合。
整个树将用RTL编写,RTL被添加到FPGA版本的顶层芯片支持块中,可以使用复制来简化其分区。仅当满足所有系统范围就绪条件时,才释放全局复位。然后,复位也将在同一时钟边缘释放各个FPGA中的所有时钟分频器,以便所有除以n的时钟将在所有FPGA中同步。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !