FPGA实验课8:ROM(IP核)使用实例

FPGA:ROM(IP核)使用实例

一、实验要求:

调用Quartus II自带的IP核,生成ROM,并设置ROM存储的数值,实现正弦波、三角波和锯齿波的输出,并使用在线逻辑分析工具Signal Tap观察波形。

二、实验步骤:

1.ROM介绍

ROM(Read Only Memory)只读存储器,这种存储器(Memory)的内容任何情况下都不会改变,电脑与用户只能读取保存在这里的指令,和使用存储在ROM的资料,但不能变更或存入资料。ROM被存储在一个非易失性芯片上,也就是说,即使在关机之后记忆的内容仍可以被保存,所以这种存储器多用来存储特定功能的程序,如固件。

ROM有地址,只能读而不能写。用初始化文件mif/ceo将内容存进去,读取不会使得数据减少消失。

2.生成波形数据文件(sin.mif、Triangle.mif、Sawtooth.mif)

生成mif文件的方法有三种:

1.利用Quartus自带的mif编辑器

2.利用mif软件(Mif_Maker2010.exe 提取码:03ey)来生成

3.利用高级语言生成

这里我用第二种方法,Mif_Maker生成:

首先设置全局参数:

在这里插入图片描述

设置波形的长度为 512,宽度为 8 :

在这里插入图片描述

sin.mif

在这里插入图片描述

Triangle.mif

在这里插入图片描述

Sawtooth.mif

在这里插入图片描述

3.Quartus配置ROM核并将mif文件加入工程

1.找到ROM-1PORT,并创建rom.v文件:

在这里插入图片描述

2.配置ROM空间的位宽和字长:

在这里插入图片描述

3.找到mif波形文件路径:

图中仅示例了sin.mif文件添加路径,其他两个路径按照上述步骤新建rom1.vrom2.v添加波形路径。

在这里插入图片描述

4.将mif文件添加至工程:

Assignments-> Settings-> Files,选中需添加至工程的mif文件后,记得点击OK,这样才会保存刚刚改动的设置。
在这里插入图片描述

5.写地址控制器:

//地址寄存器
reg [9:0] addr = 10'd0;
//地址控制
always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        addr <= 10'd0;
    else if(addr == 10'd511)
        addr <= 10'd0;
    else
        addr <= addr + 1'b1;
end

5.调用ROM核:

//Sin
rom my_rom1(
    .address    (addr),
	.clock      (clk),
	.q          (Sin)
);
//Triangle
rom1 my_rom2(
    .address    (addr),
	.clock      (clk),
	.q          (Triangle)
);
//Sawtooth
rom2 my_rom3(
    .address    (addr),
	.clock      (clk),
	.q          (Sawtooth)
);

三、实验仿真:

1.新建testbeach文件:

`timescale 1ns/1ns


module rom_tb();

reg  	clk;
reg 	rst;
wire [7:0] Sin;
wire [7:0] Triangle;
wire [7:0] Sawtooth;

initial begin
		clk <= 0;
		rst <= 0;
		#15
		rst <= 1;
end

always begin
	#10  clk <= ~clk;
end

rom_test rom_sin(
       .clk         (clk),
       .rst_n       (rst),
       
       .Sin         (Sin),
       .Triangle    (Triangle),
       .Sawtooth    (Sawtooth)
);

endmodule   

2.modelism仿真结果:

在这里插入图片描述

因为数据没有波形明显,我们这里需要将这三个信号设置一下:

Format - Analog(custom) :

在这里插入图片描述

最后仿真波形显示如下:

在这里插入图片描述

四、在线逻辑分析

1.新建STL文件:

在这里插入图片描述

2.设置clk和数据分析长度

在这里插入图片描述

3.添加分析信号:

在这里插入图片描述

4.保存文件并进行编译

在这里插入图片描述

5.添加设备

在这里插入图片描述

6.分析仿真:

在这里插入图片描述

7.调制设置显示波形:

选择 Bus Display Format - Unsigned Line Chart

在这里插入图片描述


版权声明:本文为qq_44852369原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。