Thông báo

Collapse
No announcement yet.

delay!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • delay!

    mình đang học lập trình trên kit DE1 của Altera ,chỉ mới phần căn bản thôi!
    mình k bít viết hàm delay sao hết nên mong các bác chỉ giúp! thanks
    cho mình 1 ví dụ đi chẳng hạn như chương trình delay 1s.
    SỰ HỌC LÀ MÃI MÃI......!!!!

  • #2
    <ko hiểu>

    Comment


    • #3
      Hi tallht,
      Bạn lập trình bằng ngôn ngữ gì? VHDL, Verilog HDL hay C/C++(Nios II)? Nếu bạn lập trình bằng VHDL hay Verilog, bạn chỉ cần tạo bộ đếm mà thôi. Ví dụ: bạn muốn tạo bộ delay 1 giây thì nó tương ứng cho tạo sóng vuông có chu kỳ 1 giây, nếu tần số đầu vào bộ đếm của bạn là 50MHz thì bạn chỉ cần đếm từ 0 đến 49,999,999 (50 triệu xung 50MHz) sau đó lặp lại từ 0. Trong lúc bạn đếm từ 0 đến 49,999,999 bạn có thề qui định chu kỳ nhiệm vụ là bao nhiêu, vidu 50% từ 0 đến 24,999,999 ngõ ra là 0; 25,000,000 đến 49,999,999 ngõ ra là 1. Còn nếu bạn lập trình trên NIOS II thì bạn có thể dùng bộ timer cho chính xác, tài liệu của bộ timer là miễn phí, bạn có thể download tại trang chủ altera.com

      Comment


      • #4
        Ừ bạn danbeo85 đề xuất cách giải quyết đó cũng hay đó.
        Nhưng nếu bạn sử dụng VHDL thì bạn có thể dùng trễ truyền tải.
        Ví dụ như: a <= b after 20 ns. Tín hiệu b sẽ được truyền cho a sau một khoảng được xác định là 20 ns.
        Và cũng còn một cách khác. Trong cấu trúc tuần tự, bạn có thể dụng lệnh wait for thời_gian
        Đó những cách đễ thực hiện trễ.

        Comment


        • #5
          uhm tui dùng verilog để viết ! cảm ơn mấy bác nhiều nhá! ah còn chuyện này nữa cái vụ delay trong verilog dùng cấu trúc #(1 số) ,ví dụ như :#100 là dùng để làm gì>? ngta nói nó bị bỏ wa trong lúc tổng hợp mạch nên trên thực tế nó k là delay thật! mog mấy bác giải thích cho!
          SỰ HỌC LÀ MÃI MÃI......!!!!

          Comment


          • #6
            Tổng hợp (synthesis) có nghĩa là cấu hình lên phần cứng (là các logic cell). Ký hiệu # chỉ để tạo độ trễ trên phần mềm thôi. Muốn delay trên phần cứng thì phải dựa vào counter hay timer để tạo. Vậy thôi.

            Comment


            • #7
              Bạn shellingford nói đúng. # (Verilog HDL) hay "wait for, after" (VHDL) chỉ dùng để tạo độ trễ trong testbench thôi. Muồn kiểm soát được hệ thống số thì cần phải có một clock chuẩn .

              Comment


              • #8
                delay 1s sử dụng verilog

                e viết delay 1s theo dướng dẫn nhưng vẩn bị lỗi.ai chỉ e với
                reg count;
                reg clk;
                count = 0;
                clk=0
                always@(posedge CLOCK_50)
                begin
                count++;
                if (count=4999999)
                clk=1;
                else if (count=50000000)
                begin
                clk=0;
                count =0;
                end
                end
                no cứ báo lỗi
                Error (10170): Verilog HDL syntax error at counter16.v(11) near text "="; expecting ".", or "("
                Error (10112): Ignored design unit "counter16" at counter16.v(1) due to previous errors
                Info: Found 0 design units, including 0 entities, in source file counter16.v
                Info: Found 1 design units, including 1 entities, in source file t_ff.v
                Info: Found entity 1: T_FF
                Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 0 warnings
                Error: Peak virtual memory: 216 megabytes
                Error: Processing ended: Sun Nov 28 14:50:46 2010
                Error: Elapsed time: 00:00:01
                Error: Total CPU time (on all processors): 00:00:01
                Error: Quartus II Full Compilation was unsuccessful. 4 errors, 0 warnings

                Comment


                • #9
                  Nhìn đoạn code. Không hiểu ý muốn của bạn là gì. Viết code sai rất nhiều. Quartus II báo sai như vậy là ít đó. Hãy cho biết yêu cầu cụ thể hơn. Ví dụ như: tạo xung vuông với chu kì 1s?????.

                  Comment


                  • #10
                    Lỗi sai là bạn viết sai cấu trúc. ví dụ chỗ lệnh If phải là If (count==50000000)

                    Comment


                    • #11
                      Nguyên văn bởi hieu16031989 Xem bài viết
                      e viết delay 1s theo dướng dẫn nhưng vẩn bị lỗi.ai chỉ e với
                      reg count;
                      reg clk;
                      count = 0;
                      clk=0
                      always@(posedge CLOCK_50)
                      begin
                      count++;
                      if (count=4999999)
                      clk=1;
                      else if (count=50000000)
                      begin
                      clk=0;
                      count =0;
                      end
                      end
                      no cứ báo lỗi
                      Error (10170): Verilog HDL syntax error at counter16.v(11) near text "="; expecting ".", or "("
                      Error (10112): Ignored design unit "counter16" at counter16.v(1) due to previous errors
                      Info: Found 0 design units, including 0 entities, in source file counter16.v
                      Info: Found 1 design units, including 1 entities, in source file t_ff.v
                      Info: Found entity 1: T_FF
                      Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 0 warnings
                      Error: Peak virtual memory: 216 megabytes
                      Error: Processing ended: Sun Nov 28 14:50:46 2010
                      Error: Elapsed time: 00:00:01
                      Error: Total CPU time (on all processors): 00:00:01
                      Error: Quartus II Full Compilation was unsuccessful. 4 errors, 0 warnings
                      Bạn học viết Verilog kiểu này ở đâu vậy?

                      Comment

                      Về tác giả

                      Collapse

                      tallht Tìm hiểu thêm về tallht

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

                      Collapse

                      • vi van pham
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi vi van pham
                        Cám ơn những lời chúc tốt đẹp của em.

                        Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                        Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                        hôm nay, 02:00
                      • nhathung1101
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi nhathung1101
                        Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                        Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                        Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                        Hôm qua, 22:18
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                        Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                        Hôm qua, 14:51
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                        Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                        Hôm qua, 14:39
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                        Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                        Hôm qua, 14:28
                      • bqviet
                        Trả lời cho Tiếng Anh cho người Việt
                        bở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...
                        21-02-2025, 20:26
                      • mèomướp
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi mèomướp
                        Dạ 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...
                        21-02-2025, 12:32
                      • vi van pham
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi vi van pham
                        Nhữ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ó...
                        20-02-2025, 21:31
                      • bqviet
                        Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                        bởi bqviet
                        Thiế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
                      • dinhthuong80
                        Trả lời cho Tiếng Anh cho người Việt
                        bởi dinhthuong80
                        Tiế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,...
                        20-02-2025, 11:52
                      Đang tải...
                      X