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
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • 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

    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

  • #2
    Bạn viết 1 module cho LED bật tắt, chu kì 1 giây đi rồi mình chỉ tiếp.
    Module gồm , clock 25MHz, cổng enable, cổng ra, nếu enable=1 thì bật tắt LED, nếu enable = 0 thì tắt luôn.

    Comment


    • #3
      hic e mới học còn chưa đâu vào đâu e chỉ mới học lệnh case và if thui ak e chưa tưởng tượng được hướng làm như thế nào ví dụ như 16 led sáng dần thì mình phải viết thế nào và dạng xung của nó như thế nào nên mong các sư huynh giúp đỡ em

      Comment


      • #4
        phải từ từ học, chịu khó 1 tí, hiểu hơn, rùi các bạn chỉ, bạn sẽ nhanh hiểu thui, chứ chỉ liền, nhìu khi bạn chưa hiểu là câu lệnh,
        không tiếp nhận cuộc gọi qua điện thoại vì đi làm toàn tập, tính khí thất thường, hay nóng võ công lại cao

        Comment


        • #5
          thì em đang rất cố gắng nak vì môn này rất khó không hiểu nên e mới lên đây trao đổi nhờ các a chỉ em hướng làm thui chứ đâu có nhờ mấy a giải hết đâu

          Comment


          • #6
            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


            • #7
              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


              • #8
                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


                • #9
                  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


                  • #10
                    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


                    • #11
                      Nguyên văn bởi thanhchuyen@ Xem bài viết
                      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
                      Một vài góp ý:
                      - 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


                      • #12
                        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


                        • #13
                          Nguyên văn bởi bachkhoabk47 Xem bài viết
                          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.
                          Bước đầu tiên là như thế này:
                          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
                          3) compile
                          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

                          Về tác giả

                          Collapse

                          thanhchuyen@ Tìm hiểu thêm về thanhchuyen@

                          Bài viết mới nhất

                          Collapse

                          • T.L.M
                            Trả lời cho Inverter và PF
                            bởi T.L.M
                            Công tơ có 2 cuộn dây: cuộn dòng và cuộn áp giống như động cơ kđb vậy. Bình thường thì cuộn dòng nối với tải R nên có độ lệch pha =0. Cuộn áp là 1 cuộn cảm nên lệch pha 90 độ. 2 từ trường lệch pha 90 độ sẽ tạo mômen quay dĩa....
                            hôm nay, 01:50
                          • T.L.M
                            Trả lời cho Mạch hạ áp bằng tụ
                            bởi T.L.M
                            P=U.I từ công thức này suy ra hết. Cùng dòng điện bằng nhau, khi phân cực ngược áp lớn sẽ sinh ra nhiệt lớn.

                            Nếu linh kiện không phù hợp thì nó nóng do gì (nếu không phải do dòng)?

                            Cứ thử cầu diot thường + zener // tải xem nó có nóng hơn không.
                            Hôm qua, 22:49
                          • VANTHIENSG
                            Trả lời cho Cần mua cho máy dệt Picanol
                            bởi VANTHIENSG
                            nếu cần mua lên trang này http://www.renneoo.com/English/produ...00982&biaoti=1
                            Hôm qua, 21:37
                          • dinhthuong80
                            Trả lời cho Inverter và PF
                            bởi dinhthuong80
                            https://youtu.be/NWKM6-hIx94

                            Đây, mời các bạn xem đỡ clip này nhé.

                            Chắc sẽ có ý kiến ngoan cố nói rằng video không chân thật lắm, vì ai biết đâu người quay đã ngắt dòng qua tụ khi quay công tơ! Nhưng không sao mình sẽ quay...
                            Hôm qua, 21:36
                          • VANTHIENSG
                            Trả lời cho Cần mua cho máy dệt Picanol
                            bởi VANTHIENSG
                            mạch chỉ có 1 ic nếu xác định hư ic vậy chỉ cần thay ic là xong...
                            Hôm qua, 21:35
                          • dinhthuong80
                            Trả lời cho Inverter và PF
                            bởi dinhthuong80
                            Công tơ thì thường là nó chạy... lớn hơn thực tế mà bạn!
                            Dùng công tơ điện tử thì có ý nghĩa gì ở đây cơ chứ, Pf bao nhiêu nó hiện bấy nhiêu với 3 số lẻ thập phân, cắm cái tụ vô nó chỉ hiện dòng điện, điện áp và công suất nó toàn hiển thị... số 0 thôi!...
                            Hôm qua, 20:46
                          • Thangbpvn
                            Trả lời cho Chỉ giáo mạch thu RF
                            bởi Thangbpvn
                            dạ cháu cảm ơn bác Queduong ạ. để cháu tìm hiểu thêm chút nữa.
                            chân thành cảm ơn tất cả mọi người đã để tâm cho bài viết này ạ. xin chúc tất cả mọi người luôn luôn mạnh khỏe, may mắn và hạnh phúc!...
                            Hôm qua, 20:01
                          • T.L.M
                            Trả lời cho Inverter và PF
                            bởi T.L.M
                            Bản thân công tơ cơ chưa chắc chính xác. Vì các cuộn dòng, cuộn áp quấn trên lõi thép không tuyến tính, có tổn hao. Nó được thiết kế để đo các tải có cosphi lớn. Đo cosphi nhỏ sẽ có sau số lớn hơn.

                            Bác thử với công tơ điện tử xem sao....
                            Hôm qua, 19:22
                          • dinhthuong80
                            Trả lời cho Inverter và PF
                            bởi dinhthuong80
                            Em xin bổ sung thêm ý cho rõ vấn đề nhà đèn phạt cosphi thấp, dù mình không xài hết, trả lại vẫn bị tính:

                            Ví như vụ mua lạc của bác, nếu như người mua ở gần, ngay bên người bán thì giá 10K/kg, nhưng bạn kia cách người bán...
                            Hôm qua, 16:51
                          • Ngothanhbinh
                            Trả lời cho Cần mua cho máy dệt Picanol
                            bởi Ngothanhbinh
                            Hôm qua, 16:36
                          Đang tải...
                          X