《EDA课程报告正弦波信号发生器的方案设计书 .docx》由会员分享,可在线阅读,更多相关《EDA课程报告正弦波信号发生器的方案设计书 .docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结封面可编辑资料 - - - 欢迎下载精品名师归纳总结作者: PanHongliang仅供个人学习EDA课程设计报告正弦波信号发生器的设计一、设计目的:可编辑资料 - - - 欢迎下载精品名师归纳总结进一步熟识 QuartusII及其 LPM_RO与M FPGA硬件资源的使用方法。培养动手才能以及合作才能。二、设计要求:1、clk 为 12MHz。2、通过 DAC0832输出正弦波电压信号,电压范畴0-5V。3、通过示波器观看波形。三、设计内容:在 QUARTUSII上完成正弦波信号发生器的设计,包括仿真和资源利用情形明白(假设利用Cyclone 器件)。最终在试验系统上实测,包
2、括 FPGA中 ROM的在系统数据读写测试和利用示波器测试。信号输出的 D/A 使用试验系统上的 ADC083。2四、 设计原理:图 1 所示的正弦波信号发生器的结构由四部分组成:1、 计数器或的址发生器(这里选择 10 位)。2、 正弦信号数据ROM( 10 位的址线, 8 位数据线),含有1024 个 8 位数据(一个周期)。3、 VHDL顶层设计。4、 8 位 D/A(试验中可用 ADC0832代替)。图 1 所示的信号发生器结构图中,顶层文件singt.vhd在FPGA中实现,包含两个部分: ROM的的址信号发生器,由 10 位计数器担任。一个正弦数据ROM,由 LPM_ROM模块构成
3、。 LPM_ROM底层是 FPGA中的 EAB、ESB或 M4K等模块。的址发生可编辑资料 - - - 欢迎下载精品名师归纳总结VHDL 顶层设计 singt.vhd10 位计数器(的址发生器)正弦波数据8 位 D/A图 1储备 ROM正弦信号发生器结构框图器的时钟 clk 的输入频率 fo 与每周期的波形数据点数(在此选择 1024 点),以及 D/A 输出的频率 f 的关系是: f=fo/1024图 2正弦波信号发生器的设计图五、 设计步骤:1、 建立.mif格式文件第一, mif 文件可用 C 语言程序生成,产生正弦波数值的C 程序如下:#include #include mainint
4、 i。float s。fori=0。i sdata.mif。将生成的 sdata.mif文件,再加上 .mif文件的头部说明即可。.mif文件的头部说明如下所示:WIDTH=。8DEPTH=102。4ADDRESS_RADIX=D。ECDATA_RADIX=D。ECCONTENT BEGIN 0:127 。1:130 。2:133 。3:136 。4:139 。5:143 。6:146 。(数据略去)1016:102 。1017:105 。1018:108 。可编辑资料 - - - 欢迎下载精品名师归纳总结1019:111 。1020:115 。1021:118 。1022:121 。1023
5、:124 。END。2、 在设计正弦波信号发生器前,必需第一完成存放波形数据ROM的设计。利用 MegaWizard Plug-In manager定制正弦信号数据 ROM宏功能块,并将以上的波形数据加载于此ROM中。设计步骤如下:1) 打开 MegaWizard Plug-Inmanager 初始对话框。 在Tools菜单中选择 MegaWizard Plug-In manager产生一个对话框,选择 Create a new custom.项,即定制一个新的模块。单击 Next 按钮后,在所产生的对话框的左栏选择Storage 项下的 LPM_RO,M再选择 Cyclone 器件和 VHD
6、L语言方式。最终输入 ROM文件存放的路径和文件名: e:wwwrom_1024.vhd ,单击Next 按钮。2) 选择 ROM把握线、的址线和数据线。在弹出的对话框中选择的址线位宽和 ROM中数据数分别为 10 和 1024。选择的址锁存把握信号 clock 。3) 单击 Next 按钮在对话框的“ What should the RAM ”栏选择默认的Auto 。在栏选择“ Do you want toYes,use可编辑资料 - - - 欢迎下载精品名师归纳总结this file for memory content data”项,并按 Browse 钮, 选择指定路径上的文件rom_
7、1024.mif 。在“ Allow In-System Memory ” 栏选 择打勾, 并在“ The InstanceIDofthisROM”栏输入 ROM,1 作为 ROM的 ID 名称。最终单击 Next 按钮,再单击 Finish按钮后完成 ROM定制。4) 打开此文件可以看到其中调用初始化数据文件的语句为: init_file = sdata.mif。最终生成的 ROM元件文件如源代码 1 所示,其中的 init_file指向已做了修改。修改后用于例化的波形数据 ROM文件 rom_1024.vhd 如下。六、 源代码:1)、源代码 1 如下所示:LIBRARY ieee。USE
8、 ieee.std_logic_1164.all。LIBRARY altera_mf 。USE altera_mf.altera_mf_components.all。ENTITY rom_1024 IS PORTaddress: IN STD_LOGIC_VECTOR 9 DOWNTO。0clock: IN STD_LOGIC 。q: OUT STD_LOGIC_VECTOR 7 DOWNTO 0 。END rom_1024。可编辑资料 - - - 欢迎下载精品名师归纳总结ARCHITECTURE SYN OF rom_1024 ISSIGNALsub_wire0:STD_LOGIC_VECT
9、OR7 DOWNT。O 0COMPONENT altsyncram-例化 altsyncram元件,调用了 LPM模块 altsyncram GENERIC -参数传递语句-类属参量数据类型定义intended_device_family: STRING。width_a: NATURAL。widthad_a: NATURAL。 numwords_a: NATURAL。 operation_mode: STRING。outdata_reg_a: STRING。address_aclr_a: STRING。outdata_aclr_a: STRING。width_byteena_a: NATURA
10、L。 init_file: STRING。lpm_hint: STRING。lpm_type: STRING 。PORT - altsyncram元件接口声明clock0: IN STD_LOGIC 。address_a: IN STD_LOGIC_VECTOR 9 DOWNTO 。0可编辑资料 - - - 欢迎下载精品名师归纳总结q_a: OUT STD_LOGIC_VECTOR 7 DOWNTO 0 。END COMPONE。NTBEGINqCyclone,-参数传递映射width_a = 8,-数据线宽度 8widthad_a = 10,-的址线宽度 10numwords_a = 102
11、4,-数据数量 1024 operation_mode = ROM,-LPM模式 ROM outdata_reg_a = CLOCK0,-输出锁存 CLOCK0 address_aclr_a = NONE,-无异步的址清 0 outdata_aclr_a = NONE,-无输出锁存异步清 0 width_byteena_a = 1, -byteena_a输出口宽度 1 init_file = sdata.mif, -ROM初始化数据文件lpm_hint = ENABLE_RUNTIME_MOD=NO,lpm_type = altsyncram-LPM类型PORT MAP 可编辑资料 - - -
12、 欢迎下载精品名师归纳总结clock0 = clock, address_a = address, q_a = sub_wire0 。END SYN。2)、顶层设计代码: library ieee。use ieee.std_logic_1164.all。use ieee.std_logic_unsigned.allentity singt is。portclk : in std_logic。-信号源时钟dout : out std_logic_vector7 downto 0。-8 位波形数据输出end singt。architecture dacc of singt is component
13、 rom_1024- 调用波形数据储备器 LPM_ROM,文件:rom_1024.vhd 声明portaddress:in std_logic_vector9 downto 0。-10 位的址信号clock : in std_logic。 -的址锁存时钟q:out std_logic_vector7 downto 0。可编辑资料 - - - 欢迎下载精品名师归纳总结end component。signal q1:std_logic_vector9 downto 0。- 设内部节点作为的址计数器beginprocessclk-LPM_ROM的址发生进程beginif clkevent and c
14、lk=1 thenq1q1,q=dout,clock=clk。 - 例化end dacc 。3)为此顶层设计创建一项工程,工程名和实体名都是singt 。4)全程编译一次后进入时序仿真测试。由波形可见,随着每一个时钟上升沿的到来,输出端口将正弦波数据依次输出。 5)硬件测试。选择电路模式 5,就时钟 CLK接试验箱的 clock0。将 dout0 dout7 分别锁定于试验系统上与 DAC0832相接的 I/O 口 : PIO24、 PIO25、 PIO26、 PIO27、 PIO28、 PIO29、 PIO30、PIO31。编译下载 singt.sof后,打开电压开关,将 CLK 的时钟通过
15、试验箱上 clock0的跳线选择频率为 12MHZ,再将示波器接于试验箱的两个挂钩上就能观看波形的输出情形了。可编辑资料 - - - 欢迎下载精品名师归纳总结七、 仿真波形图:八、仿真电路图:九、 引脚锁定:十、 设计结果:Clock0=12MHZ,输出频率为: f=47KHZ,周期为: T=21us十一、设计体会:在本次设计的过程中,我在编译过程中显现问题,第一个问题出在建立 .mif格式文件中,没有将生成的 sdata.mif文件加上.mif文件的头部说明。 .mif文件的头部说明如下所示:WIDTH=。8DEPTH=102。4ADDRESS_RADIX=D。ECDATA_RADIX=D。
16、ECCONTENT BEGIN 0:127 。1:130 。 (数据略去)可编辑资料 - - - 欢迎下载精品名师归纳总结1023:124 。END。由于没有加 .mif文件的头部说明,导致用于例化的波形数据 ROM文件 rom_1024.vhd 编译失败。最终在老师的指导帮忙下,正确的把 .mif文件的头部说明加在了生成的sdata.mif 文件中,这样 rom_1024.vhd 文件编译成功。其次个问题显现在完成存放波形数据 ROM的设计过程中,没有正确的选择指定路径文件名sdata.mif导致用于例化的波形数据ROM文件rom_1024.vhd 编译失败,经过我的摸索和分析后,我正确的选
17、择指定路径文件名sdata.mif,这样编译正确通过。最终,正 确的设计正弦波信号发生器的顶层文件sight.vhd,使设计顺当的通过编译。在编译下载singt.sof后,当转变试验箱上clock0的跳线频率时,相应的波形输出情形也发生相应的变化。在这次设计中,我也深深的体会到“细节准备成败”这句话的真正含义,或许就由于一个小的细节就会导致设计的失 败。这次设计也启示了我在以后的学习中确定要耐心、细心、认真,不行粗枝大叶。library ieee。use ieee.std_logic_1164.all。 use ieee.std_logic_unsigned.all。entity abc is
18、可编辑资料 - - - 欢迎下载精品名师归纳总结portclk :in std_logic。dout :out integer range 255 downto 0。a :in std_logic。END。architecture one of abc issignal Q : integer range 127 downto 0。signal W : integer range 255 downto 0。signal D : integer range 255 downto 0。signal C : integer range 63 downto 0。beginprocess clk beg
19、inif clkevent and clk =1 then Q = Q+1。C = C+1。if Q 127 THEN Q= Q+1 。ELSE Q=0。if C 63 THEN C= C+1。ELSE C D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W
20、W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W W =25。5END CAS。E可编辑资料 - - - 欢迎下载精品名师归纳总结IF A=0 THEN DOUT = W 。ELSEDOUT = D。END IF。END PROCE。SS END。这次 EDA课程设计历时两个星
21、期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩 固以前所学过的学问,而且学到了很多在书本上所没有学到过的知 识。通过这次设计,进一步加深了对EDA的明白,让我对它有了更加深厚的爱好。特别是当每一个子模块编写调试成功时,心里特别 的兴奋。但是在编写顶层文件的程序时,遇到了不少问题,特别是 各元件之间的连接,以及信号的定义,总是有错误,在细心的检查 下,最终找出了错误和警告,排除困难后,程序编译就通过了,心 里最终舒了一口气。其次,在连接各个模块的时候确定要留意各个输入、输出引脚的线宽,由于每个线宽是不一样的,只要让各个线宽相互匹配,才能得出正确的结果,
22、否就,显现任何一点小的误差就会导致整个文件系统的编译显现错误提示,在器件的选择上也有确定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论学问是远远不够的,只有把所学的理论学问与实践相结合起可编辑资料 - - - 欢迎下载精品名师归纳总结来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手才能和独立摸索的才能。在设计的过程中遇到问题,可以说得是困难重重,这到底第一次做的,难免会遇到过各种各样的问 题,同时在设计的过程中发觉了自己的不足之处,对以前所学过的学问懂得得不够深刻,把握得不够牢固。总的来说,这次设
23、计的数字秒表仍是比较成功的,在设计中遇到了很多问题,最终在老师的辛勤的指导下,最终游逆而解,有点小小的成就感,最终觉得平常所学的学问有了有用的价值,达到了理论与实际相结合的目的,不仅学到了不少学问,而且锤炼了自己的才能,使自己对以后的路有了更加清楚的熟识,同时,对将来有了更多的信心。最终,对给过我帮忙的全部同学和各位指导老师再次表示忠心的感谢!在这次设计中,我也深深的体会到“细节准备成败”这句话的真正含义,或许就由于一个小的细节就会导致设计的失败。这次设计也启示了我在以后的学习中确定要耐心、细心、认真,不行粗枝大叶。版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。版权为潘宏亮个
24、人全部This article includes some parts, including text,pictures, and design. Copyright is Pan Hongliangs personalownership.可编辑资料 - - - 欢迎下载精品名师归纳总结用户可将本文的内容或服务用于个人学习、争论或观看,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵害本网站及相关权益人的合法权益。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权益人的书面许可,并支付酬劳。Users may use the contents o
25、r services of thisarticle for personal study, research or appreciation, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its releva
26、nt obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.转载或引用本文内容必需是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修 改,并自负版权等法律责任。Reproduction or quotation of
27、 the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It可编辑资料 - - - 欢迎下载精品名师归纳总结shall not misinterpret or modify the original intention ofthe content of this article, and shall bear legal liabilitysuch as copyright.可编辑资料 - - - 欢迎下载