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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最近一直在学stm32FPGA?生疏,就重新做了下八选一的波形发生器,用lpm_rom做,做完之后再用quartus进行功能仿真和时序仿真,主要是把实验流程记录下来。以免过阵子又忘了。 ? 一、设计输入 Step1?Quartus软件,新建工程:File?-?New?Projiect?Wizard,设置工程文件夹存放位置以及工程名 一路NextPage3?of?5选器件,我的是Cyclone?II?EP2C8Q208C8,然后又是Next直到Finish。 ? Step2?新建文件*.bdf文件, 采用原理图输入:File?-?New?-?Design?-?Block?Diagram/Schematic?File,OK!新建一个*.bdf文件。 ? Step3?新建mif文件,这个文件用来装lpm_rom初值:File?-?New?-?Memory?Files?-?Memory?Initialization?File,OK。 字数为2568,一会儿建lpm_rom再细讲。点OK。用MATLAB生成sin波形的初始值,装入mif文件。总共有256个值,装好之后如下 ? 在wave_sel_8_1mif文件夹,用来装初始化文件。把新建的mif文件保存到mif文件夹下,名字为sin.mif。这个文件用来装sin波形的初始值。 ? Step4?对新建的*.bdf文件进行编辑。 双击空白部分,出现Symbol窗口,在Libraries一栏选择d:/altera/90/quartus/libraries...?-?megafunctions?-?storage?-?lpm_rom。点OK,出现下图 进行lpm_romoutput?file?选择VHDL或Verilog?HDL,这个是没什么影响的。lpm_rom_sin是修改后的名字。 Next Output?位宽为8位,memory为256个字。由于位宽是8位,所以每个字也是8位,256个字即memory的深度,需要8位地址线可寻址,2^8?=?256。所以地址线宽度为8,说明可寻址深度是2^8?=?256。输出宽度为8,说明每个存储单元是8位。 一路Next 这是新建的memoryBrowse,在mif文件夹下,找到sin.mif文件。路径如下: 一直Next ????这几个文件暂时还搞不清楚,都选上吧。暗色的是不能更改的。 ????Finish 选Yesbdf文件上单击鼠标,刚才新建的lpm_rom_sin就放到工程里了。 ? Step5?到此为止,一个完整的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_rom_ladder、lpm_rom_stair1、lpm_rom_stair0剩下的7个lpm_rom做好。这8个波形依次是正弦波、三角波、方波、锯齿波1(向上)、锯齿波0(向下)、梯形波、阶梯波1(向上)、阶梯波0(向下)。就是麻烦,小心仔细一点就OK了。 ? 好了,8ROM产生了,还差一个计数模块和一个选择模块。最麻烦的部分已经做完了,Ctrl?+?S一下,然后休息一下。 ? Step6?新建计数模块,File?-?New?-?Design?-?VHDL?Files 保存为count.vhdwave_sel_8_1下。 ? 右键count.vhd?-?Create?Symbol?Files?for?Current?File 回到bdf 选择Project?-?COUNTOK。放入工程中。Crtl?+?s。养成保存的好习惯。 ? Step7?新建选择模块,File?-?New?-?Design?-?VHDL?Files 保存为SEL8_1.vhd同step6 ? Step8?所有的模块都已经做好了,就剩下输入、输出管脚了。还是双击bdf文件的空白部分 直接在Nameinput,点OK。Output也一样,总共需要3个输入,一个输出。3个输入分别是CLK、CLRn、in_sel[2..0](这个是总线,3跟,器选择作用)。一个输出是output[7..0]。选中的波形就通过这个output输出。 ? Step9?连线,最后结果是 有事没事就按Ctrl?+?S ? 然后就得仿真了,仿真的目的是在软件环境下验证电路的行为和设想中的是否一致。功能仿真是在设计输入之后,是没综合、布局布线之前的仿真,又叫行为仿真或前仿真,不考虑电路的逻辑和门的时间延时,着重考虑电路在理想环境下的行为和设计构想的一致性。时序

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档