文档详情

一种波形产生数字电路设计和仿真.doc

发布:2018-12-17约5.28千字共11页下载文档
文本预览下载声明
一种波形产生数字电路设计及仿真 1设计原理 DDS直接频率合成技术是一种直接从和位的角度合成所需波形的技术。此设 计旨在设计一个模拟波形的产生电路,釆用quartus ii软件作为可编程逻辑设计 环境,该软件有两种设计方式,原理图输入和采用HDL语言输入,实现模拟波 形的产生。数字电路设计包含组合逻辑电路和时序逻辑电路设计,其屮组合逻辑 电路的设计是设计的重点。因此需要对时钟有较强的理解。本设计可以采用 VerilogHDL硬件描述语言编写程序实现波形的产生,可以产生三种波形,正弦 波,方波以及三角波。其中正弦波调用quartus自带的IP核,通过单端U的ROM 来査表获得査表数据,通过调用ip可以实现设计要求。方波和三角波虽然也可 以通过此方式,但是也可以通过编写计数器分频实验来实现设计,方波可以直接 通过半个周期信号为低电平,半个周期为高电平。三角波通过将计数器的值先增 加后减少获得。波形产生电路在电子设计中占据很重要的地方,有一定的研究价 值o 2功能描述 实现正弦波、三角波、方波的输出; 信号输出通过各个波形的使能信号来区分输出何种波形; 信号调节方式可控,这里由于是仿真故没编写按键扫描程序; FPGA的设计流程如下: 系统框图如图所示: 本设计的端口定义如下: 信号端口 信号类型定义 输入端口 input elk system clock 输入J而口 rst n 异步复位 Address 仏号地址输入,通过改变地址 来査表 sin_enable 正眩波使能伯号 tri_enable _.角波使日g输入 squ enable 方波使能输入 输出端口 output qout 正弦波{口7输出i向口 data 数据输出知ij 口 4HDL语言编写流程 设计代码包含设计时钟分频进程、三角波产生进程、方波产生进程和信号输出电 路进程。其中每个进程通过过程语句always来通过敏感信号如时钟上升沿和异 步复位信号时钟下降沿来采样。其中设计流程图如下图所示: 设计代码 见附录 6验证及仿真 仿真的方式有功能仿真和时序仿真,要设计这么一款电路,首先需要通过功 能仿真。工具有quartus ii自带的波形仿真文件和编写顶层设计的testbench 测试程序来进行仿真。其中可以设置仿真时间、仿真精度、以及信号的输入类型 定义和数值,设罝好这些数据就可以进行仿真,不过采用testbench仿真和对复 杂一点,需要用到modelsim软件来仿真,优点是仿真时间和仿真精度可以更高, 仿真波形也相对较美观。 一个最基本的Testbench包含三个部分,信号定义、模块接门和功能代码。 编写Testbench的三个基本步骤: 1、 对被测试设计的顶层接口进行例化; 2、 给被测试设计的输入接U添加激励; 3、 判断被测试设计的输出相应是否满足设计要求。 方式一:采用波形仿真 (1)首先新建一个仿真波形文件,save为.vwf的文件格式。 设置仿真输入输入输出变量及其仿真波形初始化设置,具体配置如下。 (2)开始功能仿真设置 由于设计综合后需要观察,输入变量是否能对输出变量进行控制,需要先进 行功能仿真,在Processing-Simulation Tool卜面,选择功能仿真Function,仿真 输出加入你保存的波形文件,点击Start幵始仿真,等待一定时间,生成Report 同时quartus波形仿真功能还可以设罝仿真的结束时间,默认为lus,这里根据 要求可以将时间设置到50us,以便于更好的观察波形。 正弦信号功能仿真阁 这里仿真的时钟周期设罝为10ns,而1-ROM中数据需要通过address地址端来 自增才能在qout端U输出ROM中保存的数据,address通过时钟上升沿触发来 控制,相当于时钟对其进行采样。 方波输出功能仿真图 锯齿波功能仿真阁 锯齿波的形成类似于三角波,但是上升时间与下降时间不同。 RTL传输图 下面是该系统的寄存器传输水平的电路图。 - 方式二:采用Testbench仿真 仿真代码附录所示。 板级验证图 7设计总结 通过本次设计了解了 FPGA的开发流程,以及如何运用EDA工具进行数字电路的 开发,学会了简单的使用HDL语言,主要是Verilog HDL语言进行开发。基本了 解了设计过程的如何去验证程序,如何检验时序是否符合设计要求。过程犯了很 多错误,总结得出,程序书写的规范性是很重要的,只有书写规范了,才能更好 的检测到错误所在,模块设计的设计思想是很重要的,首先编写好各个底层模块, 顶层模块通过调用子层模块的来设计,如果一个设计要求用到系统分频后的时 钟,不能直接用计数器分频的时钟作为其他模块的时钟,可以采用时钟使能的方 式,增加一个使能信号来控制其他模块的时钟。
显示全部
相似文档