新闻中心

EEPW首页>嵌入式系统>设计应用> 一种基于FPGA的AGWN信号生成器的设计

一种基于FPGA的AGWN信号生成器的设计

作者: 时间:2009-12-25 来源:网络 收藏

2.3 乘法系数电路的设计与实现

  2.3.1 设计思想

  乘法器设计是设计中的一个难点,有很多种算法来实现它。可以采用移位加实现,在GF(28)域上乘法是这样进行的:乘以2相当于将该8位二进制数向高位移一位,如果此8位二进制数的最高位为1,则需要将移位结果异或8位二进制数00000001。还有一种方法就是,在代码中直接将乘法写成*,让综合工具自己去综合出可用的硬件电路。本文采用综合工具自带的模块电路。

2.3.2 电路实现

  设计对时序要求较严格。乘法器电路必须用到三个寄存器以用来保存加法器串行输出的连续8个PN码,乘法系数和乘积。

  在reset之后,PN序列发生电路已经产生第一个输出码,同时加法器也将结果运算出来,但这时乘数寄存器中只有最低位是有用的刚传进来的一位码,其他位还是无用信号,只有到了8个时钟信号之后,乘数寄存器中才保存了8个连续的有用的PN码,这时必须很快地进行乘法运算并将结果保存在乘积寄存器中,第9个时钟信号到来时乘法运算必须进行完毕,空闲出来的乘数寄存器用来寄存后面的8个连续的PN码,然后一直这样循环工作。8个乘数寄存器保存PN码时钟信号后,立即进行乘法运算并保存乘积,这就要求乘积寄存器空出来,为了空出乘积寄存器,第8个时钟到来时必须将乘积寄存器中的数据一位一位串行输出。乘积寄存器中有16位二进制数,这就要求一个时钟信号的2倍频信号作为乘积寄存器串行输出的时钟信号。基于以上问题的考虑,乘法电路用综合工具自己生成的8位乘法器,该模块电路中还要用到一个2倍频电路,这也用综合工具自带的模块电路。

3 综合、仿真结果

  在QuartusⅡ集成了多种设计输入方式,并可使用Assignment Editor(分配编辑器)方便地设定管脚约束和时序约束,正确地使用时序约束可以得到设计的详细时序报告,便于分析设计是否满足时序要求。在整个设计流程中,完成了设计输入以及成功综合、布局布线,只能说明设计符合一定的语法规范,但其是否满足设计者的功能要求并不能保证,这需要通过仿真进行验证。

 3.1 功能仿真

  功能仿真(前仿真),不带时延信息,对电路物理行为进行仿真,速度较快。

  图2是对顶层模块(模块)进行功能仿真后在不同时段的波形。由图中可以看出,输出序列具有随机性。

对顶层模块

  图3~图5分别是对各个分模块进行前仿真后的波形图。图3是8个PN序列发生器的仿真波形图。

对各个分模块进行前仿真后的波形图

  图4是加法器模块的仿真波形:因为reset之后的第一个clk上升沿输出的是PN序列的第二个码字,第一个码字在reset同时已经输出,加法电路是一个组合电路,所以加法器的输出(addi/addq)在系统刚启动时不会出现不确定值。



评论


相关推荐

技术专区

关闭