[FPGA] FPGA写文件基础

[复制链接]
519|0
 楼主| feihufuture 发表于 2020-8-28 12:04 | 显示全部楼层 |阅读模式
  1.   reg clk = 0;
  2. initial begin
  3. forever #5 clk = ~clk;
  4. end

  5. reg RamWea = 0;
  6.   reg Rden = 0;
  7. initial begin
  8. #102; RamWea=1;
  9. #2560;RamWea=0;

  10. #1000; Rden = 1;
  11. #655360;Rden = 0;

  12. end

  13. reg [7:0] RamAddra=0;
  14. always [url=home.php?mod=space&uid=72445]@[/url]  ( posedge clk )
  15. begin  
  16. if( RamWea ) RamAddra <= RamAddra + 1'b1;
  17. else RamAddra <= 8'b0;
  18. end

  19. wire [7:0] RamDina = RamAddra;

  20. reg  [7 : 0] RdAddrb = 0;
  21. always @ ( posedge clk )
  22. begin  
  23. if( Rden ) RdAddrb <= RdAddrb + 1'b1;
  24. else RdAddrb <= 8'b0;
  25. end

  26. wire [7 : 0] RdDoutb;


  27. blkram_8x256 blkram_8x256 (
  28.   .clka             (clk),    // input wire clka
  29.   .wea              (RamWea),      // input wire [0 : 0] wea
  30.   .addra            (RamAddra),  // input wire [7 : 0] addra
  31.   .dina             (RamDina),    // input wire [7 : 0] dina
  32.   .clkb             (clk),    // input wire clkb
  33.   .addrb            (RdAddrb),  // input wire [7 : 0] addrb
  34.   .doutb            (RdDoutb)  // output wire [7 : 0] doutb
  35. );


  36. integer file_out;
  37. initial
  38. begin
  39.     file_out = $fopen("E:\\CANNY\\CANNY\\CANNY.sim\\out_file0.txt");
  40.     if (!file_out)
  41.     begin
  42.         $finish;
  43.     end
  44. end            


  45. reg RdenD1 = 0;
  46. reg RdenD2 = 0;
  47. always @ (posedge clk)
  48. begin  
  49. RdenD1 <= Rden;
  50. RdenD2 <= RdenD1;
  51. end


  52. always @ (posedge clk)
  53. begin  
  54.     if( RdenD1 )
  55.         $fwrite(file_out," %d",RdDoutb) ;//写入文件,在%d前加入一个空格,效果就是,个位数前有3个空格,两位数前两个空格,三位数前1个空格
  56. end


  57. always @ (posedge clk)
  58. begin  
  59.     if( ~RdenD1 & RdenD2 )
  60.        $fclose(file_out);
  61. end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

171

主题

1029

帖子

101

粉丝
快速回复 在线客服 返回列表 返回顶部