tag 标签: 双口ram

相关博文
  • 热度 21
    2016-4-21 15:06
    974 次阅读|
    0 个评论
    双口  RAM  的结构,是可以解决跨时钟域的问题, 在  a_clk  的时钟下,  a  端口的数据不断写入,而  b_clk  的时钟下,  b  端 口不断把数据读出来,而且跟  a  端口写入的数据是相同的 IP核配置   module ram(clk_a,clk_b,rst_n); input clk_a,clk_b,rst_n; //wire data_a; wire data_outa,data_outb;//输出 wire wr_a,wr_b; wire data_a,data_b;//a,b的写数据 wire addr_a,addr_b; two_ram two_ram( .address_a(addr_a), .address_b(addr_b), .clock_a(clk_a), .clock_b(clk_b), .data_a(data_a), .data_b(8'd0), .wren_a(wr_a), .wren_b(wr_b), .q_a(data_outa), .q_b(data_outb) ); ram_crtl ram_crtl( .clk_a(clk_a), .clk_b(clk_b), .rst_n(rst_n), .data_a(data_a), .addr_a(addr_a), .wr_a(wr_a), .addr_b(addr_b), .wr_b(wr_b) ); endmodule //先写后读 module ram_crtl( clk_a, clk_b, rst_n, data_a,//写数据 addr_a, wr_a, addr_b, wr_b ); input clk_a,clk_b,rst_n; output reg wr_a,wr_b; output reg data_a; output reg addr_a,addr_b; //在 a_clk 的时钟下, a 端口的数据不断写入 always @(posedge clk_a or negedge rst_n) if(!rst_n)begin data_a = 8'd0; addr_a = 10'd0; wr_a = 1'd0; end else begin if(addr_a 1023)begin wr_a = 1'd1; addr_a = addr_a + 10'd1; data_a = data_a + 8'd1; end else begin wr_a = 1'd0; addr_a = addr_a; data_a = data_a; end end always @(posedge clk_b or negedge rst_n) if(!rst_n)begin wr_b = 1'd0; addr_b = 10'd0; end else addr_b = addr_b + 1'd1; endmodule `timescale 1ns/1ns `define clock_period 20 module ram_tb; reg clk_a,clk_b,rst_n; //wire data; initial clk_a =1; always #(`clock_period/2) clk_a = ~clk_a; initial clk_b =1; always #(`clock_period) clk_b = ~clk_b; initial begin #1; rst_n = 1'b0; #(`clock_period*5) rst_n = 1'b1; #(`clock_period + 1); #(`clock_period*200); $stop; end ram ram( .clk_a(clk_a), .clk_b(clk_b), .rst_n(rst_n) ); endmodule 由于顶层没有输出信号,fpga占用逻辑资源为0   仿真结果:    
相关资源
  • 所需E币: 3
    时间: 2019-12-26 01:06
    大小: 10.7KB
    上传者: wsu_w_hotmail.com
    编译通过的两块单片机读写双口RAM7132的源程序……
  • 所需E币: 5
    时间: 2019-12-25 22:59
    大小: 187.11KB
    上传者: quw431979_163.com
    通过介绍一个基于定点DSP的主从系统,说明了定点DSP、80C196单片机和双口RAM的使用,具有很高的参考价值。……
  • 所需E币: 5
    时间: 2019-12-25 17:38
    大小: 232.9KB
    上传者: 16245458_qq.com
    摘要:介绍了一种利用双口RAM实现DSP与单片机高速数据通信的方法,给出了它们之间的接口电路以及软件实现方案。……
  • 所需E币: 3
    时间: 2019-12-25 15:50
    大小: 241.45KB
    上传者: wsu_w_hotmail.com
    提出了一种在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信设计方法,采用UART串行数据传输协议,传输波特率可设置调整,采用视频场同步信号作为发送器发送控制信号,实现视频图像处理的实时性要求.串口采用双口RAM实现与视频图像处理部分的异步通信.设计中大量采用参数化设计,使用灵活、通用性强,可实现FPGA与一般串口通信系统通信.设计程序下载到FPGA芯片中,通信数据完全正确,电路工作稳定、可靠.基于FPGA的视频图像处理器的串行通信设计郑勇1,雷霖1,刘先志2(1.电子科技大学自动化工程学院,四川成都610054;2.西南技术物理研究所,四川成都610041)摘要:提出了一种在FPGA上实现视频图像处理器分系统与系统之间的数据串行通信设计方法,采用UART串行数据传输协议,传输波特率可设置调整,采用视频场同步信号作为发送器发送控制信号,实现视频图像处理的实时性要求。串口采用双口RAM实现与视频图像处理部分的异步通信。设计中大量采用参数化设计,使用灵活、通用性强,可实现FPGA与一般串口通信系统通信。设计程序下载到FPGA芯片中,通信数据完全正确,电路工作稳定、可靠。关键词:FPGA;VerilogHDL;UART;双口RAM;视频图像Thedesignofserialcommunicationonvideoimageprocessorbased……
  • 所需E币: 4
    时间: 2019-12-25 15:03
    大小: 254.9KB
    上传者: quw431979_163.com
    针对开放式数控系统的发展趋势及要求,设计一款基于PCI总线的多轴运动控制卡,给出系统框图以及硬件接口电路.此控制卡可以直接插入PC机PCI插槽中,采用DSP与PC共同读/写双口RAM的方式实现双向通信,通信效率高,实时性好.最后介绍利用VC++实现上位机数据传输,以及下位机状态反馈等通信功能的软件设计.……
  • 所需E币: 3
    时间: 2020-1-3 18:49
    大小: 50.91KB
    上传者: quw431979_163.com
    基于cycloneEP1C6的LED大屏设计方案……
  • 所需E币: 5
    时间: 2020-1-3 18:52
    大小: 34.54KB
    上传者: givh79_163.com
    基于双CPU的三色LED实时交通信息显示系统设计……
  • 所需E币: 4
    时间: 2020-1-3 18:52
    大小: 58.23KB
    上传者: 16245458_qq.com
    基于cycloneEP1C6的LED大屏设计方案……