Đánh giá chủ đề:
  • 53 Vote(s) - Trung bình 2.87
  • 1
  • 2
  • 3
  • 4
  • 5
Ví dụ về Verilog - ROM, EPROM, EEPROM
Bài viết: #1
[Image: 200px-D23128C_PROM.jpg]


Bộ nhớ chỉ đọc (You are not allowed to view links. Register or Login to view.: Read-Only Memory - ROM) là một loại thiết bị lưu trữ dùng trong You are not allowed to view links. Register or Login to view. và các thiết bị khác. Nó có tên như vậy vì không dễ để ghi thông tin lên nó. Không giống như You are not allowed to view links. Register or Login to view., thông tin trên ROM vẫn được duy trì dù nguồn điện cấp không còn.
ROM, theo đúng nghĩa, chỉ cho phép đọc dữ liệu từ chúng tuy nhiên tất cả các loại ROM đều cho phép ghi dữ liệu ít nhất một lần, hoặc khi sản xuất lần đầu hoặc trong bước lập trình. Một số loại ROM cho phép xóa và lập trình lại nhiều lần.

ROM/EPROM - đọc từ file



1 //-----------------------------------------------------
2 // Design Name : rom_using_file
3 // File Name : rom_using_file.v
4 // Function : ROM using readmemh
5 // Coder : -
6 //-----------------------------------------------------
7 module rom_using_file (
8 address , // Address input
9 data , // Data output
10 read_en , // Read Enable
11 ce // Chip Enable
12 );
13 input [7:0] address;
14 output [7:0] data;
15 input read_en;
16 input ce;
17
18 reg [7:0] mem [0:255] ;
19
20 assign data = (ce && read_en) ? mem[address] : 8'b0;
21
22 initial begin
23 $readmemb("memory.list", mem); // memory_list is memory file
24 end
25
26 endmodule





Bộ nhớ chỉ đọc (ROM sử dụng diễn tả CASE()

1 //-----------------------------------------------------
2 // Design Name : rom_using_case
3 // File Name : rom_using_case.v
4 // Function : ROM using case
5 // Coder : -
6 //-----------------------------------------------------
7 module rom_using_case (
8 address , // Address input
9 data , // Data output
10 read_en , // Read Enable
11 ce // Chip Enable
12 );
13 input [3:0] address;
14 output [7:0] data;
15 input read_en;
16 input ce;
17
18 reg [7:0] data ;
19
20 always @ (ce or read_en or address)
21 begin
22 case (address)
23 0 : data = 10;
24 1 : data = 55;
25 2 : data = 244;
26 3 : data = 0;
27 4 : data = 1;
28 5 : data = 8'hff;
29 6 : data = 8'h11;
30 7 : data = 8'h1;
31 8 : data = 8'h10;
32 9 : data = 8'h0;
33 10 : data = 8'h10;
34 11 : data = 8'h15;
35 12 : data = 8'h60;
36 13 : data = 8'h90;
37 14 : data = 8'h70;
38 15 : data = 8'h90;
39 endcase
40 end
41
42 endmodule



Nguồn You are not allowed to view links. Register or Login to view.
Trả lời


Đi tới chuyên mục:


Thành viên đang xem chủ đề: 1 Khách