|
BCD码减法运算采用行波进位方法,因此必须尽量减小进位逻辑上的延迟。ACEX1K系列的每个LE中都提供了一个专用的进位链和级联链,充分利用这些资源可以提高多位串行BCD码减法的性能。根据ACEX1K系列周期约束,其延时为: Tclk=Tco+B+Tsu-(E-C) 式中,Tco为clock-output的延时,Tsu为建立时间,两个时间均可达到1~2ns;B表示数据延时,为0.6ns;E-C)表示时钟倾斜[4]。因此,总时钟延时为4.6ns,即工作频率可以达到200MHz以上。本文采用100MHz的工作频率,提高了运算速度。为了减小延时、提高工作效率,在对布局布线进行精确控制以后,把BCD码减法运算做成模块,在除法运算过程反复调用,达到了模块复用效果,大大提高了资源的利用率。 在整个BCD码除法运算单元,首先通过输入数据决定信号是否超出测量范围。 ·当ov1为1时,该信号的频率大于1Hz; ·当NS ·当NS=NX,该信号的频率为1Hz; ·当NS>NX,该信号频率在测量范围内。 根据输入的NS和NX计算输入信号的频率。 除法运算通过双状态机的设计控制一个BCD码减法运算。所有状态用同一时钟进行控制,实现了系统的同步设计,消除了异步逻辑中存在的种种险象。各个状态之间的关系如图5所示。当计数模块完成计数时,则将数输入除法模块,开始移位以确定输入的值;然后发clrs信号到BCD码减法运算单元开始运算,循环相减。当循环结束时,发回一个HNS信号,部分余数开始移位,进行下一轮的循环。最终输出FOUT,即运算单元结束。 本频率计设计采用8位的十进制计数器,随后应用状态机实现了高速串行BCD码除法运算,计算出频率值。对BCD码减法模块的复用,减小了资源的利用。 当今VLSI的发展日新月异,FPGA的容量和速度成倍地增长,而价格却逐年下降,这将使得基于FPGA设计的数字频率计优势更加明显。相信这一技术必将得到更加广泛的应用。ImgLoad(document.getElementById("BodyLabel")); |
|
|
|
|