正弦的设计(有详细步骤_第1页
正弦的设计(有详细步骤_第2页
正弦的设计(有详细步骤_第3页
正弦的设计(有详细步骤_第4页
正弦的设计(有详细步骤_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、正弦信号发生器设计信息工程与工程学院电子信息科学与技术091班姓名:李聪学号:指导老师:易金生一、设计目的:进一步熟悉QuartusII及其LPM_ROM与FPGA硬件资源的使用方法。培养动手能力以及合作能力。二、实验内容设计一正弦信号发生器,采用ROM进行一个周期数据存储,并通过地址发生器产生正弦信号。(ROM:6位地址8位数据;要求使用两种方法:VHDL编程和LPM)。在QUARTUSII上完成正弦波信号发生器的设计,包括仿真和资源利用情况了解(假设利用Cyclone器件)。最后在实验系统上实测,包括FPGA中ROM的在系统数据读写测试和利用示波器测试。信号输出的D/A使用实验系统上的AD

2、C0832。三、实验原理 1、图一所示的信号发生器结构图中,顶层文件sin.v在FPGA中实现。它包含两个部分:ROM的地址信号发生器,由6位计数器担任;一个正弦数据ROM,由LPM_ROM模块构成。LPM_ROM底层是FPGA中的EAB、ESB或M4K等模块。地址发生器的时钟clk的输入频率fo与每周期的波形数据点数(在此选择64点),以及D/A输出的频率f的关系是:f=fo/64图一2、图二所示是此正弦波发生器的RTL图。其中左边三个加法器、多路选择器、寄存器构成六位计数器;其输出接右边ROM的地址输入端;输出可以接FPGA外的DAC,完成正弦波形输出。当然,也可以利用逻辑分析仪Signa

3、lTap对输出口Q7:0的数据采样,从计算机上实时了解输出波形的情况。图二3、在设计正弦波信号发生器前,必须首先完成存放波形数据ROM的设计。本实验采取的ROM的数据由康芯片生成器产生四、实验源代码1、顶层模块module sin(RST,CLK,EN,Q,AR,WR_n);output 7:0 Q;output 5:0 AR;output WR_n;input EN,CLK,RST;wire 5:0 TMP;reg 5:0 Q1;wire WR_n;wire RST; / 例化分频器得到1 Hz时钟divider_by_50M u0 ( .o_clk(clk_1_Hz), .rst_n(RS

4、T), .i_clk(CLOCK_50);always (posedge CLK or negedge RST)if(!RST)Q1 = 7B; else if (EN)Q1 = Q1+1;else Q1 = Q1;assign TMP = Q1; assign AR = TMP; assign WR_n=EN;da_sin IC1(.address(TMP),.clock(CLK),.q(Q);endmodule2、分频模块/*divider_by_50M.v / Verilog*/module divider_by_50M ( output reg o_clk, input rst_n,

5、input i_clk );parameter N = 1_0000;parameter M = 4_999; / M=(N/2)-1 reg 15:0 cnt; always (posedge i_clk, negedge rst_n)begin if (!rst_n) cnt = 0; else begin if (cnt = N-1) cnt = 0; else cnt = cnt + 16b1; endendalways (posedge i_clk, negedge rst_n)begin if (!rst_n) o_clk = 0; else begin if (cnt = M)

6、o_clk = 1; else o_clk = 0; endend endmodule3、模块连接module da_sin (address,clock,q);input4:0 address;input clock;output7:0 q;ifndef ALTERA_RESERVED_QIS/ synopsys translate_offendiftri1 clock;ifndef ALTERA_RESERVED_QIS/ synopsys translate_onendifwire 7:0 sub_wire0;wire 7:0 q = sub_wire07:0;altsyncramalt

7、syncram_component (.clock0 (clock),.address_a (address),.q_a (sub_wire0),.aclr0 (1b0),.aclr1 (1b0),.address_b (1b1),.addressstall_a (1b0),.addressstall_b (1b0),.byteena_a (1b1),.byteena_b (1b1),.clock1 (1b1),.clocken0 (1b1),.clocken1 (1b1),.clocken2 (1b1),.clocken3 (1b1),.data_a (81b1),.data_b (1b1)

8、,.eccstatus (),.q_b (),.rden_a (1b1),.rden_b (1b1),.wren_a (1b0),.wren_b (1b0);defparamaltsyncram_component.clock_enable_input_a = BYPASS,altsyncram_component.clock_enable_output_a = BYPASS,altsyncram_component.init_file = sin.mif,altsyncram_ended_device_family = Cyclone II,altsyncram_c

9、omponent.lpm_hint = ENABLE_RUNTIME_MOD=NO,altsyncram_component.lpm_type = altsyncram,altsyncram_component.numwords_a = 32,altsyncram_component.operation_mode = ROM,altsyncram_component.outdata_aclr_a = NONE,altsyncram_component.outdata_reg_a = UNREGISTERED,altsyncram_component.widthad_a = 5,altsyncram_component.width_a = 8,altsyncram_component.width_byteena_a = 1;endmodule五、实物仿真1、引脚分配2、程序编译3.程序下载4、利用SignalTap对波形进行仿真,结果如下:六、实习总结在这次EDA实验设计中,我完成的是一个正弦波信号发生器的设计,在这次设计中,让我了解到了和的设计方法,让我进一步掌握了Quartus的常见使用方法,编程下载以及基于LPM宏功能模块的设计,并掌握了正弦波信号发生器的设计原理,和对试验结果的SignalTap的波形仿真。对我来说,此次实验的收获在于数据存储器RO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论