ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:1MB ,
资源ID:4196448      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-4196448.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于lpm_rom的八选一波形发生器.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于lpm_rom的八选一波形发生器.doc

1、最近一直在学 stm32,怕时间久了 FPGA 生疏,就重新做了下八选一的波形发生器,用 lpm_rom 做,做完之后再用 quartus 进行功能仿真和时序仿真,主要是把实验流程记录下来。 以免过阵子又忘了。 一、设计输入 Step1 打开 Quartus 软件,新建工程: File - New Projiect Wizard,设置工程文件夹存放位置 以及工程名 一路 Next,到 Page3 of 5 选器件,我的是 Cyclone II EP2C8Q208C8,然后又是 Next 直到 Finish。 Step2 新建文件 *.bdf 文件, 采用原理图输入: File - New -

2、Design - Block Diagram/Schematic File,OK!新建一个*.bdf 文件。 Step3 新建 mif 文件,这个文件用来装 lpm_rom 初值:File - New - Memory Files - Memory Initialization File,OK。 字数为 256,字的位数为 8,一会儿建 lpm_rom 再细讲。点 OK。用 MATLAB 生成 sin 波形的 初始值,装入 mif 文件。总共有 256 个值,装好之后如下 在 wave_sel_8_1 工程文件夹下新建一个 mif 文件夹,用来装初始化文件。把新建的 mif 文件 保存到 mi

3、f 文件夹下,名字为 sin.mif。这个文件用来装 sin 波形的初始值。 Step4 对新建的 *.bdf 文件进行编辑。 双击空白部分,出现 Symbol 窗 口,在 Libraries 一栏选择 d:/altera/90/quartus/libraries. - megafunctions - storage - lpm_rom。点 OK,出现下图 进行 lpm_rom 配置: output file 选择 VHDL 或 Verilog HDL,这个是没什么影响的。 lpm_rom_sin 是修改后的名字。 Next Output 位宽为 8 位,memory 为 256 个字。由于位

4、宽是 8 位,所以每个字也是 8 位,256 个 字即 memory 的深度,需要 8 位地址线可寻址,28 = 256。所以地址线宽度为 8,说明可寻址 深度是 28 = 256。输出宽度为 8,说明每个存储单元是 8 位。 一路 Next 直到这里 这是新建的 memory 初始化,点 Browse,在 mif 文件夹下,找到 sin.mif 文件。路径如下: 一直 Next 到最后一步 这几个文件暂时还搞不清楚,都选上吧。暗色的是不能更改的。 Finish 之后出现 选 Yes,在 bdf 文件上单击鼠标,刚才新建的 lpm_rom_sin 就放到工程里了。 Step5 到此为止,一个完

5、整的 lpm_rom_sin 做好了,现在最重要的是要保存成果。把这个 bdf 文件保存在 wave_sel_8_1 文件夹下,名字为 wave_sel_8_1.bdf。重复 step3 和 step4,依次 把 lpm_rom_triangular、lpm_rom_square、lpm_rom_sawtooth1、lpm_rom_sawtooth0、lpm_ro m_ladder、lpm_rom_stair1 、lpm_rom_stair0 剩下的 7 个 lpm_rom 做好。这 8 个波形依次是 正弦波、三角波、方波、锯齿波 1(向上)、锯齿波 0(向下)、梯形波、阶梯波 1(向上)、

6、阶梯波 0(向下)。就是麻烦,小心仔细一点就 OK 了。 好了,8 个波形 ROM 产生了,还差一个计数模块和一个选择模块。最麻烦的部分已经做完了, Ctrl + S 一下,然后休息一下。 Step6 新建计数模块, File - New - Design - VHDL Files 保存为 count.vhd,放在 wave_sel_8_1 下。 右键 count.vhd - Create Symbol Files for Current File。 回到 bdf 文件下,双击空白部分 选择 Project - COUNT,点击 OK。放入工程中。Crtl + s。养成保存的好习惯。 Step

7、7 新建选择模块, File - New - Design - VHDL Files 保存为 SEL8_1.vhd。剩下步骤同 step6。 Step8 所有的模块都已经做好了,就剩下输入、输出管脚了。还是双击 bdf 文件的空白部分 直接在 Name 中输入 input,点 OK。Output 也一样,总共需要 3 个输入,一个输出。3 个输 入分别是 CLK、CLRn 、in_sel20(这个是总线,3 跟,器选择作用)。一个输出是 output70。选中的波形就通过这个 output 输出。 Step9 连线,最后结果是 有事没事就按 Ctrl + S。现在看一下整个工程的目录结构 然后

8、就得仿真了,仿真的目的是在软件环境下验证电路的行为和设想中的是否一致。功能仿真 是在设计输入之后,是没综合、布局布线之前的仿真,又叫行为仿真或前仿真,不考虑电路的 逻辑和门的时间延时,着重考虑电路在理想环境下的行为和设计构想的一致性。时序仿真又称 后仿真,是在综合、布局布线时候,即电路以及映射到特定的工艺环境后,考虑期间延时的情 况下对布局布线的网标文件的一种仿真,器件延时信息是通过反标时序延时信息来实现的。 二、功能仿真 我用的是 Quartus II 9.0,以前装过 Quartus II 11.0,根本就没有波形文件这一说,当然就仿不 了真了,所以又换回来了。 Step1 新建一个波形文

9、件: File - New - Verification/Debugging Files - Vector Waveform File。 Step2 添加节点,双击红色区域,出现下图 点击 Node Finder 一路 OK 返回 保存为 Step3 设置仿真截止时间: Edit - End time。截止时间为 1ms。 Step4 设置时钟周期为 20ns,如下 Step5 设置复位信号 CLKn Step6 设置选择信号 in_sel 设置选择信号设置为 10.24us(1024ns)加 1,时钟周期为 20ns,即每 512 个周期选择信号 加 1,而每个波形的取样值为 256 个,所

10、以最终结果是每个波形出现两次然后接着出现下一个 波形。 Step7 设置仿真模式 Assignments - Settings - Simulator Settings Step8 生成功能仿真网表。 Step9 到现在为止都没有编译过整个工程,功能仿真只是验证它的行为是不是符合设计要求, 不需要编译,查看 Task 栏 点击 开始功能仿真。漫长的等待,这个时候总是相当紧张的。 OK,看波形之前进行简单的设置 出现 OK Y OK 8 个波形依次出现,每个波形两个周期。如果把 in_sel 信号的时间设为 512ns,则每个波形出 现一次,如下 出现的顺序很有意思,可以想一下为什么是这样。最先建波形的却最后出现。 三、时序仿真 时序仿真之前得综合、布局布线。 Step1 综合,右键 - start Step2 布局布线 ,,同上 完了之后任务栏状态为 Step3 设置仿真模式 Assignments - Settings - Simulator Settings Step4 点击 仿真,经过一些简单的设置后出现波形 整个过程没有管脚分配及时序约束,这应该是在设计输入中完成的。编程与配置也没做。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。