当前位置:   article > 正文

vivado学习之ram-单端口波形图显示_vivado 下载程序结束 怎么看波形

vivado 下载程序结束 怎么看波形

一、Single port RAM端口,写优先的波形图,延迟1个周期,写完之后,下个时钟周期立马读出来

文件代码

  1. `timescale 1ns / 1ps
  2. module ram_out(
  3. input sysclk,
  4. input rst_n,
  5. output [7:0]douta
  6. );
  7. reg wea;
  8. reg [3:0]addra;
  9. reg [7:0]adina;
  10. reg ena;
  11. always@(posedge sysclk)
  12. if(!rst_n)
  13. begin
  14. wea<=0;
  15. addra<=0;
  16. adina<=0;
  17. ena<=0;
  18. end
  19. else
  20. begin
  21. if(addra==15)begin
  22. ena<=0;
  23. wea<=0;
  24. adina<=adina;
  25. end
  26. else
  27. begin
  28. ena<=1;
  29. wea<=1;
  30. addra<=addra+1;
  31. adina<=adina+1;
  32. end
  33. end
  34. blk_mem_test ram_test (
  35. .clka(sysclk), // input wire clka
  36. .ena(ena), // input wire ena
  37. .wea(wea), // input wire [0 : 0] wea
  38. .addra(addra), // input wire [3 : 0] addra
  39. .dina(adina), // input wire [7 : 0] dina
  40. .douta(douta) // output wire [7 : 0] douta
  41. );
  42. endmodule

运行代码

  1. `timescale 1ns / 1ps
  2. module ram_out_simulation();
  3. reg sysclk;
  4. reg rst_n ;
  5. wire [7:0]douta;
  6. ram_out ram_out_u(
  7. .sysclk (sysclk),
  8. .rst_n (rst_n),
  9. .douta (douta)
  10. );
  11. initial
  12. begin
  13. sysclk = 0;
  14. end
  15. always #10 sysclk=~sysclk;
  16. initial
  17. begin
  18. #10 rst_n=1;
  19. #45 rst_n=0;
  20. #90 rst_n=1;
  21. end
  22. endmodule

二、Single port RAM端口,读优先的波形图,等写完之后,再读出来(由于之前无值)

 

仿真波形

文件代码

  1. `timescale 1ns / 1ps
  2. module ram_out(
  3. input sysclk,
  4. input rst_n,
  5. output [7:0]douta
  6. );
  7. reg wea;
  8. reg [3:0]addra;
  9. reg [7:0]adina;
  10. reg ena;
  11. always@(posedge sysclk)
  12. if(!rst_n)
  13. begin
  14. wea<=0;
  15. addra<=0;
  16. adina<=0;
  17. ena<=0;
  18. end
  19. else
  20. begin
  21. ena<=1;
  22. wea<=1;
  23. addra<=addra+1;
  24. adina<=adina+1;
  25. end
  26. blk_mem_test ram_test (
  27. .clka(sysclk), // input wire clka
  28. .ena(ena), // input wire ena
  29. .wea(wea), // input wire [0 : 0] wea
  30. .addra(addra), // input wire [3 : 0] addra
  31. .dina(adina), // input wire [7 : 0] dina
  32. .douta(douta) // output wire [7 : 0] douta
  33. );
  34. endmodule

 三、Single port RAM端口,无更改模式,查看波形图,由于之前未附值,所以一直保持初始化0

在无更改模式下,写入操作期间输出锁存保持不变,数据任然是以前的读取数据,不受同一个端口的写入操作的影响。

建议先赋值再看,否则效果不大

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/628548
推荐阅读
相关标签
  

闽ICP备14008679号