• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB 生成 Verilog调用MIF 文件教程一

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一.背景
使用Verilog的内核RAM完成特殊函数的硬件设计,比如使用Sin(x)函数的Verilog设计。设计模块目的是在FPGA实现复杂的运算。
二.方法
Sin(x)在FPGA中的计算主要依靠的是查表法实现。查表法是快速高效的计算器计算方式,软件实现简单,该方法在要求实时高速的嵌入式芯片软件开发过程中经常使用。
查表法实现Sin(x)函数的计算,根本问题是解决表中每个数据的计算,这里,采样Sin(x)的0°~90°查表,其他三象限是相同的方式。只采样0-90°可以节省FPGA的RAM资源。PS:FPGA的RAM资源非常有效,不像RAM、DSP芯片。
三.过程
1) MATLAB生产表数据,文件格式是MIF
源代码如下:
clear all;
clc;

gAngle = 0:0.1:90 ;
gAngle = gAnglepi/180;
gSinValueQ16 = int32( (2^16-1)
(sin(gAngle)) );
% 下面MIF的文件格式要要求,必须按照下面方式写
gMifHandle = fopen( ‘SinMifFile.mif’, ‘w’);
fprintf( gMifHandle ,‘Depth = %d ;\n’, 901 );
fprintf( gMifHandle ,‘Width = %d ;\n’, 16 );
fprintf( gMifHandle ,’%s\n’,‘ADDRESS_RADIX = DEC;’);
fprintf( gMifHandle,’%s\n’,‘DATA_RADIX = DEC;’);
fprintf( gMifHandle,’%s\n’,‘CONTENT’);
fprintf( gMifHandle,‘BEGIN\n’);
%将表格数据写入 第一列是索引Index(0~900) 第二列是数值 Value
for i=1:length(gAngle)
fprintf( gMifHandle,’%d:%d;\n’,(i-1),gSinValueQ16(i));
end
%MIF文件写完成
fprintf( gMifHandle,‘END\n’);

  1. Verilog 实现
    参考调用:IP RAM 内核使用方法;

四.ModelSim仿真
1)仿真Verilog代码
`timescale 1 ps/ 1 ps
module TEST_vlg_tst();
// constants
// general purpose registers
reg eachvec;
// test vector input registers
reg [9:0] gAddr;
reg sys_clk;
// wires
wire [15:0] qOutData;

TEST i1 (
.gAddr(gAddr),
.qOutData(qOutData),
.sys_clk(sys_clk)
);
initial
begin
gAddr = 16’d0000;
sys_clk = 1’b1 ;
$display(“Running testbench”);
end
always #5 sys_clk = ~sys_clk ;
initial
begin
#20 gAddr = 16’d1 ;
#25 gAddr = 16’d2 ;
#30 gAddr = 16’d3 ;
#35 gAddr = 16’d4 ;
#40 gAddr = 16’d5 ;
#45 gAddr = 16’d800 ;
#50 gAddr = 16’d801 ;
#55 gAddr = 16’d901 ;
#60 $finish;
end
endmodule

  1. 仿真结果如下

撰写人:w3022
邮箱:[email protected]


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
《基于模型的设计_MCU篇(书签)》【MATLAB simulink】发布时间:2022-07-18
下一篇:
在Ubuntu上安装MATLAB发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap