用文件初始化RAM

来源:互联网 发布:fedora安装wine软件 编辑:程序博客网 时间:2024/06/05 15:37
`timescale 1ps/1ps/*从文件中读入RAM的值2013-4-14*/module FILERAM(iCLK,iRST_N,iREAD,iADDR,oDATA,iWRITE,iDATA);parameter DATA_WIDTH=8;//数据位宽parameter ADDR_WIDTH=8;//地址位宽parameter ADDR_START=0;//地址起始parameter ADDR_END  =255;//地址尾parameter FILE_NAME="file.txt";//文件名input iCLK;input iRST_N;input iREAD;input [ADDR_WIDTH-1:0] iADDR;output [DATA_WIDTH-1:0] oDATA;input iWRITE;input [DATA_WIDTH-1:0] iDATA;reg [DATA_WIDTH-1:0] oDATA;reg [DATA_WIDTH-1:0] rMem[ADDR_END:ADDR_START];integer fp;integer i;integer n;initial beginfp=$fopen(FILE_NAME,"r");i=ADDR_START;while(!($feof(fp)) && i<=ADDR_END) beginn=$fscanf(fp,"%x",rMem[i]);i=i+1;end$fclose(fp);end//oDATAalways@(posedge iCLK or negedge iRST_N)beginif(!iRST_N) oDATA<=0;else if(iWRITE) rMem[iADDR]<=iDATA;else if(iREAD) oDATA<=rMem[iADDR];endendmodule


原创粉丝点击