论文部分内容阅读
数字逻辑系统设计中有着广泛的软硬件系统设计的需求。硬件可以实现精确时序控制,或是针对已有算法通过硬件化算法实现算法的加速。在实现了硬件模块的设计后,面临的问题就是如何快速高效地实现软硬件接口,以实现软硬件间数据及控制信号的交互。本论文设计了一种含有多帧环形缓存结构,DMA控制器,异步FIFO及从控制接口的软硬件接口结构框架。套用该框架可以完成大多数硬件模块与软件代码之间的交互设计。该结构中异步FIFO实现了软硬件接口对不同的接口形式,不同吞吐能力,不同实时性要求的串行接口适配。本文提出的软硬件接口结构中大部分组件接口简单,应对不同的系统需求时,可以通过设置参数,或改变配套模块的方式实现新的需求,针对类似需求的系统实现,绝大多数组件可以实现复用。DMA控制器为采用多个简单内部组件构成,修改组件参数,替换等价输出的不同组件,可以灵活改变DMA的功能。改变帧结束控制组件可以将模块应用于不同长度的固定长度数据帧传输,或不定长度的数据帧传输。多帧环形缓存作为两个硬件算法模块间数据交换的暂存区时,通过一组写/读环形缓存控制器的当前读写计数器,缓存有效状态,读端有效位清除信号实现读写模块间的自动配合工作。采用设计的软硬件系统接口结构,本文完成了一种基于Avalon-MM总线协议的总线组件的具体实现。通过该实现,完成了本文中软硬件系统接口结构中功能部件的具体细分,并对每种组件提供了至少一种实现方式。基于提出的具体组件实现方案,本文完成了一个有多个硬件接口特点要求的子系统的视频处理系统。实现了从原始同步视频信号输入缓存到内存中再由VGA接口显示的预览链路;还完成了视频压缩链路,实现从原始同步视频转换成YUV三通道分量,再由H.264编码器读取并进行编码输出,且该链路的两个模块可以通过从控制器接口实现参数配置及状态读取的控制交互。最后系统经过仿真测试及实际运行,测试验证了本文提出的接口结构及具体的组件实现的有效性。论文完成的软硬件接口工作,为软硬件之间的数据及控制交互,IP核与总线之间的连接提供了支持。为后面开展软硬件协同设计工作打下基础,有一定的实用价值。