module read_tb()
;reg clk;
reg rst_n;
reg [23:
0] img_in;
wire [23:
0] img_out;
parameter sum1=
49729
;//223*223=49729
parameter sum2=
49729
;//24025
reg [23:
0] data_in_ram[sum1:0]
;//in 暫存器組
reg [23:
0] data_out_ram[sum1+2:
0];integer i;
integer j;
integer fp_r,fp_w;
always #5 clk=
~clk;
//將輸入檔案資料讀取到暫存器組
initial
begin
i=0;
fp_w=$fopen
("e:/comp/crop/read_write/data_out.txt"
,"w");
fp_r=$fopen
("e:/comp/crop/read_write/data_in.txt"
,"r");
//以讀的方式開啟檔案,用/
while
(!$feof
(fp_r)
)begin
$fscanf
(fp_r,
"%b"
,data_in_ram[i]);
//每次讀一行,%d 十進位制方式
i = i +1;
end
$fclose
(fp_r)
;//關閉檔案
$display
("read over"
);
end//時鐘訊號與復位訊號處理
initial
begin
clk<=0;
rst_n<=0;
#8rst_n<=1;
end//陣列輸入到read模組,模組結果存到data_out_ram
integer counter_1=
0,counter_2=0;
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
counter_1<=0;
img_in<=
24'b0;
endelse
if(counter_1img_in<=data_in_ram[counter_1]
; counter_1<=counter_1+1;
endelse begin
counter_1<=counter_1;
img_in<=
24'b0;
endend
// img_out的處理
reg over=0;
always @(posedge clk or negedge rst_n) begin
if(!rst_n) begin
counter_2=0;
endelse
if(counter_22) begin
data_out_ram[counter_2]
<=img_out;
counter_2<=counter_2+1;
endelse begin
over<=1;
endend
// 寫入檔案[將陣列的資料寫入檔案]
reg w_over=0;
initial begin
wait
(over)
fp_w=$fopen
("e:/comp/crop/read_write/data_out.txt"
,"w");
for(j=
0;j2;j=j+
1) begin
if((data_out_ram[j]
<
24'b1111_1111_1111_1111_1111_1111)
&&(data_out_ram[j]
>0)
) begin
$fwrite
(fp_w,
"%24b "
,data_out_ram[j]);
if(j%2==
1)
$fwrite
(fp_w,
"\n");
if(j%
223==
1)
$fwrite
(fp_w,
"\n"
);
end
end$fclose
(fp_w)
; w_over<=
1;
endread test(.
clk(clk),.
rst_n
(rst_n),.
img_in
(img_in),.
img_out
(img_out));
endmodule
// begin
// $readmemb("e:\comp\m\data_in.txt",data_in_ram);//以二進位制逐個讀取
// end
檔案操作《1》檔案的讀寫
檔案操作在c語言中是乙個不能忽略的知識點,學習檔案操作也可以解除大家對檔案的誤解,可能許多人會認為只有資料夾中的文字檔案,編譯c語言時的原始檔和標頭檔案才是檔案等,其實不能,計算機中的顯示器 滑鼠 鍵盤 印表機等都可以稱為檔案,沒想到吧,其中的鍵盤是標準輸入檔案,顯示器是標準輸出檔案 理解了檔案後我...
python3 檔案讀寫1
檔案 開啟檔案 r 檔案可讀可寫,不會建立檔案,從頂部開始寫,會覆蓋之前此位置的內容 with open output.txt r as f1 print name of the file f1.name 向開啟的檔案寫入內容,並沒有從檔案頂部開始寫啊,是為什麼?f1.write begin 追加在...
2019 10 15檔案的讀寫
開啟檔案的讀寫操作需要包含.為了讀而開啟檔案需要建立乙個ifstream物件,為了寫而開啟檔案,要建立乙個ofstream物件。檔案開啟了就可以像處理其他iostream物件一樣進行讀寫。將乙個檔案的內容拷貝到另乙個檔案 include include includeusing namespace ...