ram_control.v
来自「压缩包内包含了:FPGA设计初级班和提高班培训课堂PPT;实验的源代码;实验指导」· Verilog 代码 · 共 60 行
V
60 行
module ram_control(q,clk,rst);
input clk,rst;
output [3:0] q;
wire [3:0] q;
reg [3:0] data;
reg wren;
reg [3:0] wraddress;
reg [3:0] rdaddress;
reg [4:0] countwr;
reg [1:0] state;
parameter STATE1=2'b01;
parameter STATE2=2'b10;
assign wrclock=clk;
assign rdclock=clk;
always @ (posedge clk)
if(!rst)
begin
data<='d0;
wren<=1'b0;
wraddress<=4'd0;
rdaddress<=4'd0;
countwr<=5'd0;
state<=STATE1;
end
else
begin
case(state)
STATE1:
begin
data<=countwr[3:0];
wraddress<=countwr;
countwr<=countwr+1'b1;
if(countwr==5'd0)
begin
wren<=1;
state<=STATE1;
end
else if(countwr==5'd16)
begin
wren<=0;
rdaddress<=rdaddress+1;
state<=STATE2;
end
end
STATE2:
begin
rdaddress<=rdaddress+1;
end
endcase
end
RAM_36 RAM_36(.data(data),.wren(wren),.wraddress(wraddress),
.rdaddress(rdaddress),.wrclock(wrclock),.rdclock(rdclock),.q(q));
endmodule
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?