Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

2D-Array Write into a file

Status
Not open for further replies.

sresam89

Member level 2
Joined
Sep 9, 2009
Messages
48
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,576
Hi all,
I am stuck in a code part


Code Verilog - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
reg [3:0] memory[0:255];
.....
initial begin
$readmemb("out.txt", memory,0,255);//this is reading fine
end
.....
always@(posedge clk) begin
 $display("%d\n",address);
 descriptor = $fopen("in.txt","w");
 $fwrite(descriptor,"%b\n",memory[address]);            //how do i write in here? [3X255]
 $display("%b : %b\n",address,memory[address][0:3]);  //also display the same here
 #210 $fclose(descriptor);
end


please help

SAM
 
Last edited by a moderator:


Code Verilog - [expand]
1
2
3
4
5
6
7
8
9
10
11
12
13
reg [3:0] memory[0:255];
.....
initial begin
$readmemb("out.txt", memory,0,255);//this is reading fine
end
.....
always@(posedge clk) begin
 $display("%d\n",address);
 descriptor = $fopen("in.txt","w");
 $fwrite(descriptor,"%b\n",memory[address]);            //how do i write in here? [3X255]
 $display("%b : %b\n",address,memory[address][0:3]);  //also display the same here
 #210 $fclose(descriptor);
end

You're opening the file every clock cycle? you should move the $fopen to an initial block.

This line is using the wrong bit ordering:
Code:
 $display("%b : %b\n",address,memory[address][0:3]);  //also display the same here
you should be using:
Code:
 $display("%b : %b\n",address,memory[address][3:0]);  //also display the same here

You could also display and write to a file if you use multichannel file descriptors, which you would or together. see: http://www.testbench.in/TB_26_FILE_HANDLING.html

Regards
 

You can use like this...

#include <iostream>
#include <fstream>
using namespace std;

int main() {
char arr[][3] = {{'1','2','3'},{'4','5','6'},{'7','8','9'}};
char arr2[3][3];
ofstream out("io3.txt");
out.write(arr[0],9);
out.close();
ifstream in("io3.txt");
in.read(arr2[0],9);
for(int i = 0; i < 3; ++i)
for(int j = 0; j < 3; ++j)
cout << arr2[j];
cout << endl;
}
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top