可数出 clk_1Hz 一个周期内 input_fre 为200 (图中 clk_1Hz 半个周期内 input_fre 为100 )。同时译码输出为 3F、5B,分别代表 0、2的字型码。【说明】:为了仿真时减轻 CPU 的运算量,程序中的 1Hz 分频数据改为 199 (原数据是 1999999 ) ,动态扫描时钟分频改为 9 (原数据是 4999 ) ,不影响研究问题的实质。由上面的仿真结果可知,频率计能够正确的测量出输入信号的频率,从而完成了整体设计的第二部分。三、顶层电路设计及外围电路设计完成了任意波形发生器的设计与 4位数字频率计的设计后,可以利用 Quartus II软件的原理图编辑方式完成最后的设计。由于前面的工作已经创建了Wave_gen.bsf 模块, fre_measure.bsf 模块,调用 LPM_ROM 模块,并用 Wave_gen.mif 对其经行初始化(前面已经叙述过),完成最后的顶层文件设计。顶层文件模块连接图如第2页上图所示。 9 外围电路设计:FPGA 作为控制中心,配合外围 D/A 转换电路、数码管显示电路, 则上述设计就能进行硬件测试。下图是利用 Proteus 软件方便的作图功能画出的外围电路: 【注明】:这样的电路 Proteus 是不能仿真的,这里仅借助 Proteus 直观形象的图形表示。四、系统设计有待提高和改进的地方频率计的结果可用字符 LCD 显示,让 FPGA 送出相应的 LCD 控制信号;频率计的测量范围可通过选择不同的基准频率(比如 10Hz 、100Hz 、1KHz )来扩展, 即可以实现“可选量程”的数字频率计;利用频率计电路来显示波形发生器的输出波形的频率及波形标识,这样就实现了实验室中函数发生器的雏形:能实现任意波形的输出及频率显示并且能够测量外来信号的频率,这也是本文最初的设计思路,那样设计就更加完美。