1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo thực tập môn thực tập thiết kế hệ thốngvà vi mạch tích hợp 3

22 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Mạch Tuần Tự Đồng Bộ
Tác giả Ngô Minh Nhật
Người hướng dẫn Th.S Lê Minh Thành
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Thiết kế Hệ Thống và Vi Mạch Tích Hợp
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 22
Dung lượng 699,11 KB

Nội dung

BÀI BÁO CÁO SỐ 3 THIẾT KẾ MẠCH TUẦN TỰ ĐỒNG BỘ1... Thiết kế mạch đếm lên 8 bit, lựa chọn 8 tần số đếm khác nhau, lựa chọn đếm lên hoặc đếm xuống, có tính hiệu cho phép dừng đếm Pause,có

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐIỆN- ĐIỆN TỬ

-BÁO CÁO THỰC TẬP MÔN: THỰC TẬP THIẾT KẾ HỆ THỐNG

VÀ VI MẠCH TÍCH HỢP

GVHD: Th.S Lê Minh Thành

Họ và tên: Ngô Minh Nhật MSSV: 20161346 Lớp: Thứ 7 - tiết 1 – 5

THÀNH PHỐ HỒ CHÍ MINH – Tháng 11 năm 2022

Trang 2

BÀI BÁO CÁO SỐ 3 THIẾT KẾ MẠCH TUẦN TỰ ĐỒNG BỘ

1 Thiết kế mạch đếm lên 8 bit, lựa chọn tần số đếm, lựa chọn đếm lên hoặc đếm xuống

Sơ đồ khối:

Hình 1.1: Sơ đồ khối của mạch đếm lên 8 bit , lựa chọn tần số đếm, lựa chọn đếm lên

hoặc đếm xuống

CK_50M: ngõ vào xung đồng hồ tần số 50MHz

CLR: ngõ vào clear khi tác động mức cao

S0, S1: ngõ vào điều khiển lựa chọn tần số đếm

U_D: lựa chọn đếm lên hoặc đếm xuống

q<0> → q<7> : các bit ở ngõ ra

Sơ đồ RTL:

Trang 3

Hình 1.2: Sơ đồ RTL của mạch đếm lên 8 bit , lựa chọn tần số đếm, lựa chọn đếm lên

Trang 4

assign r_next01H = (r_reg01H==M)?0:r_reg01H + 1;

assign r_next1H = (r_reg1H==M/10)?0:r_reg1H + 1;

assign r_next10H = (r_reg10H==M/100)?0:r_reg10H + 1;assign r_next100H =(r_reg100H==M/1000)?0:r_reg100H+1;// output logic

Trang 5

module CounterUD

#(parameter N= 8) // 500,000,000 for 0.1Hz(input wire clk,reset,ud,

// next state logic

assign r_next = (ud==1)?r_reg + 1:r_reg - 1;// output logic

Trang 6

Mux41 mux4to1 (f,SW,clk_o);

CounterUD counter (clk_o, reset,UD,Q);endmodule

.UD(UD),.Q(Q));

initial begin

clk = 0;

reset = 0;

Trang 8

2 Thiết kế mạch đếm lên 8 bit, lựa chọn 8 tần số đếm khác nhau, lựa chọn đếm lên hoặc đếm xuống, có tính hiệu cho phép dừng đếm (Pause),

có tín hiệu đảo trạng thái ngõ ra

reset: ngõ vào khởi động lại

Toggle: ngõ vào đảo trạng thái ngõ ra

UD: ngõ vào lựa chọn đếm lên hoặc đếm xuống

Q(7:0): các bit ngõ ra

Sơ đồ RTL:

Trang 9

Hình 2.2: Sơ đồ RTL của mạch đếm lên 8 bit , lựa chọn 8 tần số đếm khác nhau, lựa chọn đếm lên hoặc đếm xuống, có tính hiệu cho phép dừng đếm (Pause), có tín hiệu đảo trạng

reg[N-1:0]

r_reg01Hz,r_reg1Hz,r_reg10Hz,r_reg100Hz,r_reg1000Hz,r_reg10000Hz,r_reg100000Hz,r_reg1000000Hz;

initial r_reg01Hz =0;

initial r_reg1Hz =0;

initial r_reg10Hz =0;

Trang 10

r_next1000Hz=(r_reg1000Hz==M/10000)?0:r_reg1000Hz + 1;assign r_next10000Hz = (r_reg10000Hz==M/100000)?0 :r_reg10000Hz + 1;

Trang 11

assign r_next100000Hz = (r_reg100000Hz==M/1000000)?0 :r_reg100000Hz + 1;

Trang 12

// next state logic

assign r_next = (ud==1)? r_reg + 1 : r_reg - 1;// output logic

assign q=(toggle==0)?r_reg:~r_reg;

endmodule

Trang 13

CounterUDToggle M3 (clk_o, reset, UD, Toggle, Q);

and(clk1, clk, ~clk_gate);

endmodule

Trang 14

.UD(UD),.Pause(Pause),.Toggle(Toggle),.Q(Q)

Trang 15

#10000000;Pause=0;

#140000000;Pause=1;

#10000000;Pause=0;end

always

begin

#10;

clk=~clk;end

endmodule

Trang 16

Hình 2.3: Các trường hợp mô phỏng

Nhận xét: Mạch đếm lên 8 bit có giới hạn đếm từ 0 đến 255 Do S = 2 nênmạch đếm với tần số là 10Hz Ban đầu UD = 0 nên mạch đang ở chế độ đếmxuống, sau 200ms thì UD = 1 nên mạch chuyển sang chế độ đếm lên Banđầu Pause = 0 nên mạch đếm bình thường, sau 350ms có tín hiệu Pause tácđộng nên mạch ngừng đếm, sau 150ms tiếp theo lại có tín hiệu Pause tácđộng nên mạch đếm tiếp tục hoạt động

3 Thiết kế mạch đếm lên 8 bit hiển thị ra 8 Led đơn L0 đến L7, xung Clock 100Hz được chia từ xung Clock nội 50MHz, Switch gạt SW3 dùng

để Reset bộ đếm tích cực mức 0, các SW0 đến SW2 được dùng để cài đặt

số chu kì đếm đủ của bộ đếm

Sơ đồ khối:

Trang 17

Hình 3.1: Sơ đồ khối của mạch đếm lên 8 bit hiển thị ra 8 Led đơn L0 đến L7, xung Clock 100Hz được chia từ xung Clock nội 50MHz, Switch gạt SW3 dùng để Reset bộ đếm tích cực mức 0, các SW0 đến SW2 được dùng để cài đặt số chu kì đếm đủ của bộ đếm

SW(2:0): ngõ vào lựa chọn chu kì đếm

Trang 18

Chương trình mô tả phần cứng bằng ngôn ngữ Verilog:

reg [N-1:0] r_reg, r_reg100h;

wire [N-1:0] r_next, r_next100h;

always @(posedge clk, posedge reset)

begin

if (reset)begin

r_reg<=0 ;r_reg100h<=0 ;end

elsebeginr_reg<=r_next ;r_reg100h<=r_next100h ;end

end

assign r_next = (r_reg==256*(M+1)/100)?0:r_reg + 1;assign r_next100h = (r_reg100h==M/100)?0:r_reg100h + 1;assign clk256f =(r_reg<256*M/100)?0:1;

Trang 19

assign clk100hz =(r_reg100h<M/200)?0:1;endmodule

Ngày đăng: 16/11/2024, 15:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w