e mới bắt đầu học về fpga e sắp có bài kiểm tra đó là viết chương trình điều khiển 16 led đơn với các hiệu ứng khác nhau bằng ngôn ngữ verilog hix e mới học nên chưa biết nhiều còn bỡ ngỡ lắm tìm trên mạng cũng không có nhiều thông tin sư huynh nào biết có thể gợi ý cho e cho e hướng làm được không
Thông báo
Collapse
No announcement yet.
chương trình điều khiển 16 led đơn với các hiệu ứng khác nhau bằng ngôn ngữ verilog
Collapse
X
-
Thật sự cũng không biết chỉ bạn thế nào, kêu bạn làm cái này cái nọ là coi trình độ bạn tới đâu
Có vẻ như bạn chưa biết gì về verilog hết nên mình không biết chỉ thế nào
Hay bạn đọc sách thêm về verilog đi, rồi có gì thắc mắc lên đây hỏi.
- Bạn cần hiểu các thành phần cơ bản của mạch số: các cổng, flip-flop, máy trạng thái
- Khi bạn học Verilog, bạn sẽ hiểu làm thế nào đề "code" các thành phần cơ bản này
- Sau đó, bạn mới có thể thiết kế được một mạch bao gồm các thành phần cơ bản bằng ngôn ngữ verilog cho một ứng dụng cụ thể
Mình nói tá lả vì chẳng biết bạn đã học được những gì rồi ...
Comment
-
LED sáng hay mờ có thể điều chỉnh được bằng duty cycle
Duty cycle là khoảng thời gian bật trong toàn bộ chu kì. Ví dụ duty cycle = 50% là phân nữa thời gian bật, phân nửa thời gian tắt. 25% là 1/4 thời gian bật, 3/4 thời gian tắt ...v.
Bạn cần viết một bộ modulator: đầu vào = giá trị duty cycle, đầu ra là tín hiệu có duty cycle
Và một bộ đếm tăng dần ==> tăng dần duty cycle.
Done!
Comment
-
hi cảm ơn anh đã hương dẫn e chỉ mới bắt đầu học thui viết chương trình ,mô phỏng và nạp vào kít thui chứ trình độ hiện tại thì chưa thể nào thiết kế được. vậy cho e hỏi thêm là thiết kế bộ đếm điều khiển 16 led sáng dần thì mình có phải khai báo mã hex không ạ và duty cycle có phải là điều chế xung cho led không ạ
Comment
-
Bạn viết thử bộ điều chề xung xem. Yêu cầu:
Đầu vào 8 bit:
0: Dutycycle = 0%
64: Dutycyle = 25%
128: Dutycycle = 50%
255: dutycycle = 100%
vvv
Đầu ra có 1 bit, chu kì tùy ý, khoảng 100kHz là được
Ý tường như sau:
module này có bộ đếm n-bit. khi đếm hết từ 0 tới 11111b là hết 1 chu kì. Tùy clock đầu vào và tầng số đầu ra bạn chọn số bit cho hợp lý. Để đơn giản bạn chọn n = 8 trước đi, rồi thay đồi sau
Khi đếm từ 0 tới K, đấu ra bằng 1, từ K tới 111111b đấu ra bằng 0 ....
Nếu thấy khó thì bạn bỏ qua đầu vào 8 bit luôn, viết bộ đếm 8 bit, khi chạy được phân nửa 0 tới 127 thì đầu ra đổi từ 1 sang 0, chạy dến hết thì đầu ra đổi từ 0 sang 1
Mình không hiểu câu hỏi này là gì
kế bộ đếm điều khiển 16 led sáng dần thì mình có phải khai báo mã hex không
Comment
-
hix mình viết chương trình cho 16 led sáng dần từ trái qua phải rùi cũng tắt dần từ trái qua phải nhưng chương trình bị lỗi mình tìm mãi ko ra sư huynh nào biết co thẻ xem giúp em được hok
module ledddddddd(res,clk,out );
//--------------input------------
input res;
input clk;
//-------------output-----------
output [15:0] out;
reg [15:0] out;
reg [3:0] k ;
reg i;
parameter th1=3'h0,th2=3'h1,th3=3'h2,th4=3'h3,th5=3'h4,th6=3 'h5,th7=3'h6,th8=3'h7,th9=3'h8;
always @ (posedge clk)
//---------------------main program-----------------
begin
if(!res) begin
out=16'hff;
k=0;
i=0;
end
else begin
case(i)
//===================th1===================
if(out==16'hff) begin
k=k+1;
out=out>=1; //out>>1;
i=1;
end
else
//=================th2============================== =
if(out==16'h00) begin
out=out-1;out>=1;out>>1;
i=2;
end
else
//===============th3==============================
if (out==16'hff) begin
out=out+1;out<=1;out<<1;
i=3;
end
else
endcase
end
end
endmodule
Comment
-
Nguyên văn bởi thanhchuyen@ Xem bài viếthix mình viết chương trình cho 16 led sáng dần từ trái qua phải rùi cũng tắt dần từ trái qua phải nhưng chương trình bị lỗi mình tìm mãi ko ra sư huynh nào biết co thẻ xem giúp em được hok
module ledddddddd(res,clk,out );
//--------------input------------
input res;
input clk;
//-------------output-----------
output [15:0] out;
reg [15:0] out;
reg [3:0] k ;
reg i;
parameter th1=3'h0,th2=3'h1,th3=3'h2,th4=3'h3,th5=3'h4,th6=3 'h5,th7=3'h6,th8=3'h7,th9=3'h8;
always @ (posedge clk)
//---------------------main program-----------------
begin
if(!res) begin
out=16'hff;
k=0;
i=0;
end
else begin
case(i)
//===================th1===================
if(out==16'hff) begin
k=k+1;
out=out>=1; //out>>1;
i=1;
end
else
//=================th2============================== =
if(out==16'h00) begin
out=out-1;out>=1;out>>1;
i=2;
end
else
//===============th3==============================
if (out==16'hff) begin
out=out+1;out<=1;out<<1;
i=3;
end
else
endcase
end
end
endmodule
- Bạn bỏ khái niệm viết chương trình Verilog đi, đúng hơn là mô tả phần cứng
- Bạn quá vội, làm nhiều thứ cùng 1 lúc trong khi chưa hiểu kĩ verilog
- Bạn viết một module hoàn chỉnh cho 4-LED sáng từ trái qua phải, rồi quay về từ đầu .... trước đã ... Đoạn code nhỏ dể sửa hơn
Comment
-
Quan trọng các bác nhiều người cũng chưa làm được. Chém gió cũng giỏi.
Em mới mượn được con DE2 của thầy về. Mày mò mãi phần cúng mấy cái đơn cũng không được ( Có lẽ đang còn siêu kém). Chính vì kém nên mới cần tiền bối hỗ trợ những bước đi đầu tiên. Nhưng ai cũng bảo là tự đọc tài liệu mà làm, thế thì mất thời gian đi hỏi.
Chút góp ý của tiểu bối.
Comment
-
Nguyên văn bởi bachkhoabk47 Xem bài viếtQuan trọng các bác nhiều người cũng chưa làm được. Chém gió cũng giỏi.
Em mới mượn được con DE2 của thầy về. Mày mò mãi phần cúng mấy cái đơn cũng không được ( Có lẽ đang còn siêu kém). Chính vì kém nên mới cần tiền bối hỗ trợ những bước đi đầu tiên. Nhưng ai cũng bảo là tự đọc tài liệu mà làm, thế thì mất thời gian đi hỏi.
Chút góp ý của tiểu bối.
1) Tạo project
2) Tạo một file ledblink.v như thế này:
module ledblink(input clk,output led);
reg [25:0] ledctr;
always@(posedge clk)
ledctr <= ledctr+1;
assign led = ledcntr[25];
endmodule
4) vo assignment editor ga'n chân cho clk và led
5) Tạo file sof
Nạp xuống kit. Sẽ thấy LED chớp tắt.
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Tiếng Anh cho người Việtbởi bqvietĐúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 20:26 -
-
Trả lời cho Tiếng Anh cho người Việtbởi mèomướpDạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 12:32 -
-
Trả lời cho Tiếng Anh cho người Việtbởi vi van phamNhững lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).
Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...-
Channel: Tâm tình dân kỹ thuật
20-02-2025, 21:31 -
-
Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )bởi bqvietThiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.20-02-2025, 17:22
-
Trả lời cho Tiếng Anh cho người Việtbởi dinhthuong80Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.
Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...-
Channel: Tâm tình dân kỹ thuật
20-02-2025, 11:52 -
-
Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )bởi vi van phamUống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?
Cái khó bó cái...19-02-2025, 23:05 -
Trả lời cho Tiếng Anh cho người Việtbởi nhathung1101Nếu chú tâm thì học tiếng Việt cũng đủ rồi, thừa sức làm việc rồi.
Học tiếng Anh cũng chỉ phụ trợ để đọc thêm tài liệu, hướng dẫn.
Nhưng có hiểu điều đó không mới là vấn đề. Khi mà học ngoại ngữ để đi đạp xích lô đón khách???...-
Channel: Tâm tình dân kỹ thuật
19-02-2025, 21:27 -
-
bởi xenopus123Cần hỗ trợ mạch đồng hồ vạn niên 89c52 ds1302 ds18b20 dùng 16 led 7 đoạn
-
Channel: Hỗ trợ học tập
19-02-2025, 21:24 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi nhathung1101Nhìn kỹ hàng đi cu. Chứ ra đường cứ thấy đàn bà rồi bảo:
- Tôi cũng có vợ như thế....
Đảm bảo cu nát người luôn....-
Channel: Điện tử dành cho người mới bắt đầu
19-02-2025, 21:04 -
-
Trả lời cho tìm mua đồng hồ vạn năngbởi matnetgia99Ồ, cái này mình cũng có nè, có ai mua không, đồ cũ dùng từ năm 2008, hư 1 2 giai gì đấy bỏ xó hơn năm nay...
-
Channel: Điện tử dành cho người mới bắt đầu
17-02-2025, 14:40 -
Comment