Digital_Design_Lab_Manual

Форк
0
25 строк · 516.0 Байт
1
module ram #(
2
	parameter DATA_WIDTH = 8,
3
	parameter ADDR_WIDTH = 11
4
) (	
5
	input                   clk,
6
	input                   we, 
7
	input  [DATA_WIDTH-1:0] data_in,
8
	input  [ADDR_WIDTH-1:0] addr_in,
9
	output [DATA_WIDTH-1:0] data_out,
10
	output [ADDR_WIDTH-1:0] addr_out
11
);
12

13
reg [DATA_WIDTH-1:0] ram [0:2**ADDR_WIDTH-1];
14
reg [ADDR_WIDTH-1:0] addr_reg;
15

16
always @(posedge clk) begin
17
	if (we)
18
		ram[addr_in] <= data_in;
19
		addr_reg <= addr_in;
20
end
21

22
assign data_out = ram[addr_reg];
23
assign addr_out = addr_reg;
24

25
endmodule
26

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.