逻辑设计中,经常遇到为了完成某个功能任务需要用到多个并行任务的处理结果,而那些并行的任务间是独立的,每个并行任务的执行时间也可能无法预测。在这种情况下,任务调度逻辑需要对每个并行任务的执行情况进行管理,对这些执行逻辑进行流量控制等,导致调度逻辑的设计比较复杂。文章介绍一种方法,调度逻辑只需要对一个执行模块进行管理和流量控制,就可以实现对多个并行任务的流控功能,简化了任务调度逻辑的设计。
介绍了一种有效的FIFO复位策略.在逻辑设计中,经常需采用FIFO来缓存数据包.当系统发生异常时,FIFO有可能出现如丢包后数据包对应关系错乱且不可恢复问题,此时,为了用最小的代价使得整个逻辑恢复正常,通常采用软件控制复位FIFO来解决.但由于软件复位FIFO时是随机的,复位有可能发生在数据包传递过程中,造成不完整的数据包写入FIFO,而导致新的不可恢复故障.因此,有必要针对复位FIFO操作进行相应处理,以达到正确复位的目的.
异步信号的同步化处理在FPGA/ASIC设计中是个永恒的话题。对于FPGA/ASIC内部的异步信号的同步化处理所出现的问题,目前已经有一套非常成熟的处理机制来规避。但是对于FPGA/ASIC外部输入的异步脉冲信号,如何进行稳定可靠的同步化处理处理,目前还没有看到比较统一的处理方法。本文描述了一种FPGA/ASIC外部异步信号同步化处理的方法。根据这个处理方法,能够保证在各种情况下,准确稳定的对FPGA/ASIC外部输入的异步脉冲信号和内部异步脉冲信号进行同步化处理。