Thông báo

Collapse
No announcement yet.

giúp em gán tín hiệu với after trong VHDL

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

  • giúp em gán tín hiệu với after trong VHDL

    Chào các bác.
    Em đang học VHDL và đang gặp phải vấn đề là: có một tín hiệu clock (T=100us) và em muốn đưa ra một tín hiệu có T=100us nhưng trế so với clock là 30us.
    - Chương trình em viết như sau:
    -------------------------------------
    entity thacmac is
    port (i:in bit; o: out bit);
    end thacmac;
    architecture flow of thacmac is
    begin
    o <= i after 30 us;
    end flow;
    -------------------------------------
    - Mô phỏng giản đồ thời gian - gửi file đính : (tạm gán device là EPF10K10LC84-3)
    => em thấy i,o vẫn giống nhau.

    Các bác có thể chỉ cho em vấn đề này là tại sao không, và phải tìm hiểu phần nào liên quan với nó

    Cám ơn các bác đã đọc!
    Attached Files

  • #2
    To anhtt2005, bác thử chương trình như sau nhé:


    process(i)
    begin
    if(i='1' and i`event) then
    o<=transport '1' after 30us;
    end if;
    if (i='0' and i`event) then
    o<= transport '0' after 30 us;
    end if;
    end process;

    Comment


    • #3
      Bác daihang86 ơi ,

      process(i)
      begin
      if(i='1' and i'event) then
      o<= transport '1' after 30us;
      end if;
      if (i='0' and i'event) then -- lỗi cannot synthesize
      o<= transport '0' after 30 us;
      end if;
      end process;

      Khi em compile thì nó báo lỗi như sau: "cannot synthesize logic for o because its value changes on both rising and falling clock edges" ở dòng em đánh dấu đó.Em đã cố rồi mà không sửa được lỗi đó.
      Em nghĩ là khi xây dựng process như vậy thì nó sẽ được thực hiện khi tín hiệu i thay đổi trạng thái (tức là có event) do đó có thể bỏ thuộc tính event trong điều kiện if được không. Bác cũng cho em hỏi là (i='1' and i'event) trong process đó có thể xem là rising_edge và (i='0' and i'vent) là falling_edge được không.

      Xin mọi người chỉ giúp thêm

      Comment


      • #4
        Nguyên văn bởi anhtt2005
        Chào các bác.
        Em đang học VHDL và đang gặp phải vấn đề là: có một tín hiệu clock (T=100us) và em muốn đưa ra một tín hiệu có T=100us nhưng trế so với clock là 30us.
        - Chương trình em viết như sau:
        -------------------------------------
        entity thacmac is
        port (i:in bit; o: out bit);
        end thacmac;
        architecture flow of thacmac is
        begin
        o <= i after 30 us;
        end flow;
        -------------------------------------
        - Mô phỏng giản đồ thời gian - gửi file đính : (tạm gán device là EPF10K10LC84-3)
        => em thấy i,o vẫn giống nhau.

        Các bác có thể chỉ cho em vấn đề này là tại sao không, và phải tìm hiểu phần nào liên quan với nó

        Cám ơn các bác đã đọc!
        Viết vậy là được rồi,không có sai,mô phỏng như vậy cũng lạ,lẽ ra phải chạy đúng chứ,thử dùng modelsim xem sao.
        à quên nữa,flex10k của altera,chắc bác đang dùng maxplus,tôi không dùng phần mềm này nhưng cũng thử qua rồi,khi mô phỏng nó có hai chế độ,một là mô phỏng chức năng,hai là mô phỏng có chức năng & time,có khi bác chỉ mô phỏng chức năng mà không cho mô phỏng có time nên mới bị như vậy.thử lại xem sao.

        Comment


        • #5
          Nguyên văn bởi TheKing
          à quên nữa,flex10k của altera,chắc bác đang dùng maxplus,tôi không dùng phần mềm này nhưng cũng thử qua rồi,khi mô phỏng nó có hai chế độ,một là mô phỏng chức năng,hai là mô phỏng có chức năng & time,có khi bác chỉ mô phỏng chức năng mà không cho mô phỏng có time nên mới bị như vậy.
          Em dùng QuartusII 5.0 bản down miễn phí trên mạng. Trong phần setting đã đặt simulation mode là Timing.

          Comment


          • #6
            Bạn test lại xem. Mình test thử bằng Modelsim thì ra kết quả okie.


            Comment


            • #7
              hịc, hình như trong Quartus mô phỏng ra khác kết quả so với modelsim ? To bác yesme@ bác thử mô phỏng bằng cả hai xem có khác không. hịc hịc

              Comment


              • #8
                Mình không có chương trình Quartus ở trên máy, chỉ dùng Modelsim thôi. Bạn kiểm tra lại đi !


                Comment


                • #9
                  chào anh Yesme@ em đang muốn nghiên cứu và phải làm đồ án về FPGA. anh có thể cho em địa chỉ mail để trao đổi được không ạ?
                  Thanks.
                  how to begin with Embedded system???

                  Comment


                  • #10
                    transport delay

                    Nguyên văn bởi TheKing Xem bài viết
                    Viết vậy là được rồi,không có sai
                    Em thấy viết như vậy về syntax thì không sai. Nhưng không synthesis được, em dùng ISE Webpack 8.2i nó báo là "bad synchronous description"
                    Còn khi em chỉ dùng 1 câu lệnh là :o <= transport i after 30 us
                    thì synthesis ok và mô phỏng cũng vậy.

                    Comment


                    • #11
                      Theo Tí thì mệnh đề after chỉ có thể dùng trong mô phỏng thôi, không thể synthesis được đâu. Việc synthesis một thiết kế có thể được hiểu là chuyển thiết kế đó sang dạng mô tả cấu trúc phần cứng. Hiện nay không có phần mềm nào có thể tự động xây dựng một cấu trúc phần cứng với delay xác định được. Vì delay trong cấu trúc FPGA là do đặc tính của vi mạch FPGA đang dùng quyết định.
                      Coi chừng mấy anh hiểu nhầm compile với synthesis đó. Compile là một bước để simulation
                      Hì, nếu Tí nói có sai sót thì mong lượng thứ.
                      Làm cái gì nữa đây?

                      Comment


                      • #12
                        theo minh biet thi Quartus ko ho tro de viet testbench do đó những cau lenh lien quan den timing thì ko dc sủ dung hoặc bị bỏ qua khi compile (bao gồm các bước synthesis, Fitting và Timing analyze). để simulation thì phải tạo ra file waveform, ban se define các ngõ vào, sau quá trình simulation sẽ thấy được kết quả ngõ ra.

                        Comment


                        • #13
                          Mình đồng ý với "tí teo". Cách viết VHDL trong đó sử dụng nonzero delay value trong các phép gán (ví dụ, AFTER) được sử dụng để mô tả cách hành xử của mạch (behavioral description). Với behavior description thì bạn chỉ có thể thực hiện mô phỏng để kiểm chứng chức năng của mạch chứ không thể thực hiện synthesis vì không có CAD tools nào hỗ trợ synthesis ở mức behavior.
                          Thông thường để thiết kế một hệ thống synthesisable thì bạn phải thiết kế ở mức RTL trở xuống.


                          Comment


                          • #14
                            có bạn nào có tài liệu phần bài tập về VHDL tiếng Việt không cho mình với,mình đang lúc kiểm tra ở trường mà vẫn chưa hiểu về nó lắm ,thanks

                            Comment


                            • #15
                              Mình thấy là nên học kĩ về digital design bang Schematics truoc khi hoc VHDL ... khi các bạn thông thạo schematic roi học VHDL se rat dễ dàng ...

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              • tuyennhan
                                Trả lời cho Tiếng Anh cho người Việt
                                bởi tuyennhan
                                Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                                Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                                hôm nay, 07:44
                              • 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
                              Đang tải...
                              X