我是靠谱客的博主 土豪烤鸡,最近开发中收集的这篇文章主要介绍RAM和ROM(verilog)片内存储器(RAM、ROM),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

片内存储器(RAM、ROM)

片内存储器分为ROM和RAM两大类。

RAM是随机存储器,存储单元的内容可以按需随意存入和取出。这种存储器在断电后将丢失所有数据。

  • 单端口RAM:只有一套地址总线,读写操作是分开的。
  • 双端口RAM:有两套地址总线,一套用于读数据,另一套用于写数据。
//单端口RAM
//深度为8,位宽为8
module single_ram(clk,addr,cs_n,we_n,din,dout);
  input			clk; //时钟信号
  input			[2:0]addr;//地址信号
  input			cs_n;//片选信号
  input			we_n;//读写操作使能信号,为低时写入数据,为高时读出数据
  input			[7:0]din;//输入数据
  output		[7:0]dout;//输出数据
    
  reg			[7:0]dout;
  reg			[7:0]ram[7:0];// 8*8 bit存储
    
  always@(posedge clk )begin
    if(cs_n)begin
      dout <= 8'bzzzz_zzzz;
    end
    else begin
      if(we_n)	dout <= ram[addr]; //读出数据
      else		ram[addr] <= din; //写入数据
    end       
  end
endmodule

//双端口RAM
//深度为8,位宽为8
module dual_ram(w_clk,r_clk,waddr,raddr,w_en,r_en,wdata,rdata);
  input 		w_clk; //写时钟信号
  input 		r_clk; //读时钟信号
  input			[2:0]waddr;//写数据地址信号
  input			[2:0]raddr;//读数据地址信号
  input			w_en;//写操作使能信号,高有效
  input			r_en;//读操作使能信号,高有效
  input			[7:0]wdata;//写入数据
  output		[7:0]rdata;//读出数据

  reg			[7:0]rdata;
  reg			[7:0]ram[7:0]// 8*8 bit

  always@(posedge w_clk) begin
    if(w_en)	ram[waddr] <= din;
  end
  always@(posedge r_clk) begin
    if(r_en)	rdata <= ram[raddr]; 
  end    
endmodule

ROM是只读存储器,读出事先存储的数据,其存入的数据无法改变。这种存储器只能读不能写,断电之后数据也不会丢失。

//深度为8,位宽为8
module rom_test(clk,addr,cs_en,dout);
  input		clk;
  input		cs_en;//使能信号,低有效
  input		[2:0]addr;//地址线
  output	[7:0]dout;//读出的数据

  reg		[7:0]dout;
  reg		[7:0]rom[7:0];
    
  initial begin
    rom[0] = 8'b0000_0000;
    rom[1] = 8'b0000_0001;
    rom[2] = 8'b0000_0010;
    rom[3] = 8'b0000_0011;
    rom[4] = 8'b0000_0100;
    rom[5] = 8'b0000_0101;
    rom[6] = 8'b0000_0110;
    rom[7] = 8'b0000_0111;       
  end
  
  always@(posedge clk) begin
    if(cs_en)	 dout <= 8'bzzzz_zzzz;
    else		 dout <= rom[addr]; 
  end
endmodule

最后

以上就是土豪烤鸡为你收集整理的RAM和ROM(verilog)片内存储器(RAM、ROM)的全部内容,希望文章能够帮你解决RAM和ROM(verilog)片内存储器(RAM、ROM)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部