数电实验(五)——ROM设计

实验要求:
配置宽度为8位的ROM,并在ROM中存储256个地址的正弦波数,利用系统时钟作为计数器计数脉冲,计数器输出作为地址读取ROM内容,将读取的数据通过FPGA查看

实验步骤:
1.打开Quartus,如图所示,创建一个新的工程文件
数电实验(五)——ROM设计_第1张图片
数电实验(五)——ROM设计_第2张图片
数电实验(五)——ROM设计_第3张图片
更改存储路径以及给工程命名
数电实验(五)——ROM设计_第4张图片
点击next;
数电实验(五)——ROM设计_第5张图片
继续next;
数电实验(五)——ROM设计_第6张图片
根据自己的开发板选择芯片型号,笔者用的是EP3C6F484C6,所以选择该芯片的型号,然后next;
数电实验(五)——ROM设计_第7张图片
继续next;
数电实验(五)——ROM设计_第8张图片
点finish;即完成一个工程文件的创建
2.编写相关的程序;主要分为三个部分:分频器;八位计数器与ROM
第一部分:分频器的创建:
数电实验(五)——ROM设计_第9张图片
创建VHDL文件,并写入分频器程序
数电实验(五)——ROM设计_第10张图片
数电实验(五)——ROM设计_第11张图片
数电实验(五)——ROM设计_第12张图片
数电实验(五)——ROM设计_第13张图片
程序如图:
数电实验(五)——ROM设计_第14张图片
ctrl+s保存;
数电实验(五)——ROM设计_第15张图片
进行编译;
数电实验(五)——ROM设计_第16张图片
数电实验(五)——ROM设计_第17张图片
没有error;无视warning;点击确定就好
第二部分:创建一个计数器
同样的方法新建一个VHDL文件,不多赘述;直接放源码
数电实验(五)——ROM设计_第18张图片
注意这是八位计数器,从0计数到255;所以是 7 downto 0;Q1>=11111111

数电实验(五)——ROM设计_第19张图片
保存后,编译
数电实验(五)——ROM设计_第20张图片
没有错误
第三部分:配置ROM
如图点击:
数电实验(五)——ROM设计_第21张图片
点next;
数电实验(五)——ROM设计_第22张图片

选择单口rom;并且给自己的output file命名;这里就命名为rom;
数电实验(五)——ROM设计_第23张图片

数电实验(五)——ROM设计_第24张图片
注意文件类型选择VHDL;然后命名时候不需要点Browse;直接在EX5\后面追加rom就好,然后点next
数电实验(五)——ROM设计_第25张图片
把32改为256;深度根据每人不同需求改,这里改为256
数电实验(五)——ROM设计_第26张图片
然后所有窗口一路next;直到下图:
数电实验(五)——ROM设计_第27张图片
这里需要我们传一个mif文件;因为本次实验要求正弦波为载体;所以需要生成一个正弦波的mif文件
打开mif文件生成器WavetoMif:
在这里插入图片描述
因为实验要求宽度为8和深度为256的Rom,所以这里的位宽与深度选择8和256,选择正弦波一键生成
重命名为zhengxianbo.mif,保存到工程文件路径下
数电实验(五)——ROM设计_第28张图片
点击保存;提示生成成功
数电实验(五)——ROM设计_第29张图片
这时候点原窗口的Browse;
数电实验(五)——ROM设计_第30张图片
数电实验(五)——ROM设计_第31张图片
去工程路径下找mif文件;注意一般默认寻找的是Hex文件,需要改下
数电实验(五)——ROM设计_第32张图片
选择zhengxianbo.mif就好
数电实验(五)——ROM设计_第33张图片
next;
数电实验(五)——ROM设计_第34张图片
点next;
数电实验(五)——ROM设计_第35张图片
Finish;
可能会有弹窗弹出来;
数电实验(五)——ROM设计_第36张图片
点击确定就好
这时候在左侧的project navigator中files可以看到有三个vhd文件,分别生成对应的三个器件
数电实验(五)——ROM设计_第37张图片
以分频器为例:
回到fenpinqi.vhd这个file;
数电实验(五)——ROM设计_第38张图片
数电实验(五)——ROM设计_第39张图片
点击就好;
数电实验(五)——ROM设计_第40张图片
如图所示,创建成功;
然后jishuqi.vhd与rom.vhd分别回到它们的界面创建就好;rom.vhd双击就能打开
其余的器件创建步骤一样;三个均需要创建
3.原理图搭建
新建原理图文件
数电实验(五)——ROM设计_第41张图片
数电实验(五)——ROM设计_第42张图片
数电实验(五)——ROM设计_第43张图片
如图;开始放置器件;不多赘述;需要注意的是我们创建好的三个器件位置

点击
数电实验(五)——ROM设计_第44张图片
数电实验(五)——ROM设计_第45张图片
project中放置是我们存储的三个器件;剩下一个文件夹是基本的元器件;从中选择放置到原理图中;注意:笔者这里的ex5表示的是分频器
数电实验(五)——ROM设计_第46张图片
按照如图连接好各器件
保存为Deisign_Rom.bdf
数电实验(五)——ROM设计_第47张图片
编译
数电实验(五)——ROM设计_第48张图片
数电实验(五)——ROM设计_第49张图片
没有错误,无视warning;
到此为止,就剩下烧录进开发板了;
在烧录之前;将pin脚锁定;
数电实验(五)——ROM设计_第50张图片
引脚配置根据自己开发板来定
笔者的如图:
数电实验(五)——ROM设计_第51张图片
保存关闭窗口后
数电实验(五)——ROM设计_第52张图片
数电实验(五)——ROM设计_第53张图片
点Hardware Setup;选择对应开发板的USB接口;
点击Start,即可烧录进开发板中;
现象:开发板上LED灯按正弦波形式亮;初始不断进位;波峰时:速度变缓;之后不断退位

到此为止;ROM设计完毕

原创不易;欢迎支持!

你可能感兴趣的:(数字电路实验,嵌入式)