赞
踩
FPGA设计与CPU架构的处理器设计有着本质的区别,这种区别的一个重要体现是两者采用的编程语言不同。前者采用的是硬件描述语言如VHDL或Verilog,后者采用的是C语言。C语言与硬件描述语言的两个最根本的不同点是:C语言是顺序执行的,而硬件描述语言是并行执行的,这是因为硬件描述语言的每条语句有与之对应的硬件电路;C语言中没有时序的概念,而对硬件描述语言而言,时序是灵魂。这些区别也使得对FPGA设计的性能描述指标有所不同。
流水线是FPGA设计中很常用的一种提高系统时钟频率的方法,其原理如图2.21所示。假定输入数据要经历E、F、G、H共4次不同操作,每个操作需要1个时钟周期完成,操作之间按顺序执行。从时间上看,数据流在每个操作上的处理是连续的。如果把每个操作简化,假设通过一个D触发器,那么流水线操作就类似为一个移位寄存器组,数据流依次流经D触发器,完成相应操作。这也体现了FPGA对数据处理的一个特点,即动态处理,不需要所有数据都到齐。流水线是一种并行处理技术,如图2.21中第4个时钟周期E、F、G、H都在运行,只是针对的数据不同。事实上,每个时钟周期4个操作都在运行,只是在前4个时钟周期有些操作对应的操作数为0。流水线技术是一种动态处理技术,老的数据总是会被新的数据推入下一个操作,这也意味着无效数据总会被从流水线中推出。流水线技术要求各操作是按顺序执行的。流水寄存器(本质为D触发器)是构成流水线的一个重要模块。如果把流水线比作一条河流,那么流水寄存器就相当于河流上的闸门。对于大的组合逻辑,插入流水寄存器可有效缩短组合逻辑延迟,降低组合逻辑级数,进而提高系统时钟频率。流水线对F
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。