zoukankan      html  css  js  c++  java
  • 单双口RAM

    // Quartus II Verilog Template
    // Simple Dual Port RAM with separate read/write addresses and
    // single read/write clock

    module simple_dual_port_ram_single_clock
    #(parameter DATA_WIDTH=8, parameter ADDR_WIDTH=6)
    (
    input [(DATA_WIDTH-1):0] data,
    input [(ADDR_WIDTH-1):0] read_addr, write_addr,
    input we, clk,
    output reg [(DATA_WIDTH-1):0] q
    );

    // Declare the RAM variable
    reg [DATA_WIDTH-1:0] ram[2**ADDR_WIDTH-1:0];

    always @ (posedge clk)
    begin
    // Write
    if (we)
    ram[write_addr] <= data;

    // Read (if read_addr == write_addr, return OLD data). To return
    // NEW data, use = (blocking write) rather than <= (non-blocking write)
    // in the write assignment. NOTE: NEW data may require extra bypass
    // logic around the RAM.
    q <= ram[read_addr];
    end

    endmodule

    // Quartus II Verilog Template
    // True Dual Port RAM with dual clocks

    module true_dual_port_ram_dual_clock
    #(parameter DATA_WIDTH=8, parameter ADDR_WIDTH=6)
    (
    input [(DATA_WIDTH-1):0] data_a, data_b,
    input [(ADDR_WIDTH-1):0] addr_a, addr_b,
    input we_a, we_b, clk_a, clk_b,
    output reg [(DATA_WIDTH-1):0] q_a, q_b
    );

    // Declare the RAM variable
    reg [DATA_WIDTH-1:0] ram[2**ADDR_WIDTH-1:0];

    always @ (posedge clk_a)
    begin
    // Port A
    if (we_a)
    begin
    ram[addr_a] <= data_a;
    q_a <= data_a;
    end
    else
    begin
    q_a <= ram[addr_a];
    end
    end

    always @ (posedge clk_b)
    begin
    // Port B
    if (we_b)
    begin
    ram[addr_b] <= data_b;
    q_b <= data_b;
    end
    else
    begin
    q_b <= ram[addr_b];
    end
    end

    endmodule

    引自:Quartus II 13.1 insert template

  • 相关阅读:
    点击图片跳转详情
    offsetwidth/clientwidth的区别
    css中让元素隐藏的多种方法
    js中的||、&&与!用法
    怎么区分静态网页和动态网页
    我的第一篇博客--新手勿喷
    2015腾讯暑期实习生面试
    ring0 与 ring3 层之间的交互
    驱动层得到进程的完整路径
    WinDbg调试流程的学习及对TP反调试的探索
  • 原文地址:https://www.cnblogs.com/chengqi521/p/7476796.html
Copyright © 2011-2022 走看看