图4是加法器模块的仿真波形:因为reset之后的第一个clk上升沿输出的是PN序列的第二个码字,第一个码字在reset同时已经输出,加法电路是一个组合电路,所以加法器的输出(addi/addq)在系统刚启动时不会出现不确定值。
图5是系统正常运行后乘法模块的仿真波形。值得注意的是在系统刚开始运转时,reset信号之后,由于PN序列发生器和加法器中的串行输出数据,还没有传递到乘法器模块中的被乘数寄存器(multiregi/multi-regq)和乘积寄存器中,这时从乘积寄存器中串行输出一些不确定值。
3.2 综合、布局布线
综合是指将HDL语言,原理图等设计输入翻译成由与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接,并根据目标及要求优化所生成的逻辑,最后输出edf或vqm网表文件供布局布线用。
布局布线是将综合生成的逻辑网表适配到具体器件中,并把工程的逻辑和时序要求与器件的可用资源相匹配,它将每个逻辑功能分配给最好的逻辑单元位置,进行布线和时序,并选择相应的互边路径和管脚分配。
3.3 时序仿真
时序仿真也称后仿真,即通过加入综合后网表及时延信息对电路进行综合仿真,速度较慢。前后仿真与综合、布局布线的关系是一脉相承的,又相辅相成。功能仿真与综合、时序分析形成一个反馈工作过程,只有过程收敛之后的综合、布局布线等环节才有意义,孤立的功能仿真即使通过也是没有意义的,如果在时序分析中发现时序不满足需要更改代码,则功能仿真必须重新进行。图6是在QuartusⅡ中综合布局布线之后的时序仿仿真波形。由于用了2倍频电路,所以系统只用了一个时钟信号clk,a为8位的系数。为观察产生的AGWN的随机性,截取的图形是同一仿真在不同时段的波形图。
4 结 语
本文使用Verilog硬件设计语言,采用自顶下的设计思路,将整个设计分为了不同的小模块,分别实现每一个模块的功能,最终设计出AGWN信号产生的Ver-ilog电路,并实现了功能仿真、综合、布局布线、时序仿真。该电路实现了在数字通信系统中常用的AGWN信号,由于数字通信系统中用到的是数字信号,可以直接在数字通信系统中加载所产生的数字信号使用。如果需要用到模拟的AGWN信号,可将产生的数字信号通过A/D转换器转换为模拟信号再进行使用。