乒乓操作(使用两个读写时钟不同的双口 RAM 实现低速模块处理高速数据的乒乓操作)

顶层设计来自野火哥出品的FPGA Verilog开发实战指南(入门良心书籍)

代码是自己手码的

module  pingpang
(
    input   wire            sys_clk     ,
    input   wire            sys_rst_n     


);

wire            clk_50m        ;
wire            clk_25m        ;
wire            rst_n          ;
wire    [15:0]  ram1_rd_data   ;
wire    [15:0]  ram2_rd_data   ;
wire            data_en        ;
wire    [7:0]   data_in        ;                    
wire            ram1_wr_en     ;
wire    [6:0]   ram1_wr_addr   ;
wire    [7:0]   ram1_wr_data   ;
wire            ram1_rd_en     ;
wire    [6:0]   ram1_rd_addr   ;
wire    [15:0]  data_out       ;
wire            ram2_wr_en     ;
wire    [6:0]   ram2_wr_addr   ;
wire    [7:0]   ram2_wr_data   ;
wire            ram2_rd_en     ;
wire    [6:0]   ram2_rd_addr   ;
wire            locked         ;




assign  rst_n = ((locked)&&(sys_rst_n));

ram_ctrl    ram_ctrl_inst
(
    .clk_50m      (clk_50m)      ,
    .clk_25m      (clk_25m)      ,
    .rst_n        (rst_n)      ,
    .ram1_rd_data (ram1_rd_data)      ,
    .ram2_rd_data (ram2_rd_data)      ,
    .data_en      (data_en)      ,
    .data_in      (data_in)          ,
    
    .ram1_wr_en   (ram1_wr_en)     ,
    .ram1_wr_addr (ram1_wr_addr)     ,
    .ram1_wr_data (ram1_wr_data)     ,
    .ram1_rd_en   (ram1_rd_en)     ,
    .ram1_rd_addr (ram1_rd_addr)     ,
    .data_out     (data_out)     ,
    .ram2_wr_en   (ram2_wr_en)     ,
    .ram2_wr_addr (ram2_wr_addr)     ,
    .ram2_wr_data (ram2_wr_data)     ,
    .ram2_rd_en   (ram2_rd_en)     ,
    .ram2_rd_addr (ram2_rd_addr)

);

ram	ram_inst1 
(
	.data ( ram1_wr_data ),
	.rdaddress ( ram1_rd_addr ),
	.rdclock ( clk_25m ),
	.rden ( ram1_rd_en ),
	.wraddress ( ram1_wr_addr ),
	.wrclock ( clk_50m ),
	.wren ( ram1_wr_en ),
    
	.q ( ram1_rd_data )
	);

ram	ram_inst2 
(
	.data ( ram2_wr_data ),
	.rdaddress ( ram2_rd_addr ),
	.rdclock ( clk_
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值