Tải bản đầy đủ - 0 (trang)
6 Mô phỏng RISC SPM

6 Mô phỏng RISC SPM

Tải bản đầy đủ - 0trang

-



Các memory có địa chỉ từ 0 đến 14, từ 128 đến 140 được gán giá trị như trong

testbench với mục đích được ghi bên cạnh

Bên dưới là code Verilog phần khởi tạo memory:



initial begin

#2 rst = 0; for (k=0;k<=255;k=k+1)M2.M2_SRAM.memory[k] = 0; #10 rst = 1;end

initial begin

// Load program

#5

// opcode_src_dest

M2.M2_SRAM.memory[0] = 8'b0000_00_00;

// NOP

M2.M2_SRAM.memory[1] = 8'b0101_00_10;

// Read 130 to R2

M2.M2_SRAM.memory[2] = 130;

M2.M2_SRAM.memory[3] = 8'b0101_00_11;

// Read 131 to R3

M2.M2_SRAM.memory[4] = 131;

M2.M2_SRAM.memory[5] = 8'b0101_00_01;

// Read 128 to R1

M2.M2_SRAM.memory[6] = 128;

M2.M2_SRAM.memory[7] = 8'b0101_00_00;

// Read 129 to R0

M2.M2_SRAM.memory[8] = 129;

M2.M2_SRAM.memory[9] = 8'b0010_00_01;



// Sub R1-R0 to R1



M2.M2_SRAM.memory[10] = 8'b1000_00_00;

M2.M2_SRAM.memory[11] = 134;



// BRZ

// Holds address for BRZ



M2.M2_SRAM.memory[12] = 8'b0001_10_11;

M2.M2_SRAM.memory[13] = 8'b0111_00_11;

M2.M2_SRAM.memory[14] = 140;



// Add R2+R3 to R3

// BR



//M2.M2_SRAM.memory[13] = 8'b0110_11_00;

//M2.M2_SRAM.memory[14] = 131;

//M2.M2_SRAM.memory[15] = 8'b0110_01_00;

//M2.M2_SRAM.memory[16] = 128;



// WR R3 to memory

// WR R1 to memory



// Load data

M2.M2_SRAM.memory[128] = 6;

M2.M2_SRAM.memory[129] = 1;

M2.M2_SRAM.memory[130] = 2;

M2.M2_SRAM.memory[131] = 0;

M2.M2_SRAM.memory[134] = 139;

29



//M2.M2_SRAM.memory[135] = 0;

M2.M2_SRAM.memory[139] = 8'b1111_00_00;

M2.M2_SRAM.memory[140] = 9;

end

2.6.3 Kết quả mô phỏng



// HALT

// Recycle



Kết quả mơ phỏng được thể hiện trên hình 2.11.



30



Sau khi reset 1 lần lúc

đầu, mạch bắt đầu chạy.

Quan sát trên hình 2.11

ta thấy được sự thay đổi

các tín hiệu cũng như

dữ liệu của mạch. Theo

file testbench đã viết,

các thanh ghi

R0,R1,R2,R3 được

gián các giá trị ban đầu

tương ứng là 1, 6, 2, 0.

Thực hiện R1=R1-R0,

R3=R2+R3 và lặp lại,

R1 thay đổi giá trị theo

thứ tự 6, 5, 4, 3, 2, 1, 0

và R3 là 0, 2, 4, 6, 8, 10

đúng như kết quả mô

phỏng.



31



Chương 3. Triển khai mạch trên FPGA

3.1 Giới thiệu Kit FPGA Altera DE2

Kit DE2 (hình 3.1) thuộc dòng kit Cyclone II của Altera, phục vụ cho học tập

và nghiên cứu chủ yếu của sinh viên ngành điện tử. Kit được sử dụng trong bài tập lớn

này có mã EP2C35F672C6.



Hình 2.11 Kết quả mơ phỏng



32



Hình 3.1 Kit DE2



DE2 có rất nhiều



cổng,



các Led hiển thị, switch,



SRAM,



chip xử lí,… Trong bài tập



lớn này



nhóm em chỉ sử dụng những phần sau của kit:

-



Xung đồng hồ tần số 50 MHz của kit (CLOCK_50)

7 LED 7 thanh (HEX7,HEX6,HEX5,HEX4,HEX3,HEX2,HEX1,HEX0)

17 LED đỏ (LEDR) và 7 LED xanh (LEDG)

1 switch (SW[0])



3.2 Thiết kế khối chia tần số

Vì tần số 50MHz của kit rất nhanh nên không thể quan sát sự thay đổi tín hiệu

và dữ liệu trên mạch, nhóm em thiết kế khối chia tần số để tạo ra xung clock chu kì 0.1

giây. Nhóm em sử dụng một tín hiệu t để tạo xung clock chu kì 0.1s, 1 biến số nguyên

33



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

6 Mô phỏng RISC SPM

Tải bản đầy đủ ngay(0 tr)

×