Thông báo

Collapse
No announcement yet.

Thắc mắc thân architecture! (VHDL)

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

  • Thắc mắc thân architecture! (VHDL)

    Các bác cho e hỏi là trong thân Architecture (VHDL) khi nào thì mình sử dụng cấu trúc behavioral, khi nào thì sử dụng structural và dataflow. E mới học nên cảm thấy nhập nhằng giữa các cách thiết kế này quá.: -w .
    Mọi người nếu ai biết thì nói cụ thể giúp e với ạ?

  • #2
    Nguyên văn bởi trustinlife Xem bài viết
    Các bác cho e hỏi là trong thân Architecture (VHDL) khi nào thì mình sử dụng cấu trúc behavioral, khi nào thì sử dụng structural và dataflow. E mới học nên cảm thấy nhập nhằng giữa các cách thiết kế này quá.: -w .
    Mọi người nếu ai biết thì nói cụ thể giúp e với ạ?
    behavioral là hành vi (miêu tả hành vi sử xự của modul hay pro) structural là kiến trúc ( dùng khi sử dụng lại các thiết kế hay các modul khác trong proj - cái này quan trọng việc thứ tự gán các chân của modul ), còn dataflow thì lâu rồi cũng k nhớ lắm

    Comment


    • #3
      À, cám ơn bác tan0710 đã comment.
      Vì để tránh mất thời gian cũng như nhiều bạn vì chưa tìm hiểu kĩ trước khi thắc mắc thì ở đây về vấn đề này e đã đọc khá nhiều rồi. Cái thắc mắc chính ở đây là e thấy nó lung tung quá, cũng có thể do e học hơi gấp nên chưa hiểu...(các bác thông cảm vì mảng kiến thức của em vốn không phải về ngành này nhưng vì đề tài hiện tại cần nên mới tự học- thấy hay nên cũng muốn nghiền sâu tí ), tức là chương trình có phải lúc nào cũng đòi hỏi sử dụng cả ba cấu trúc hay không? theo e đọc được thì có lúc dùng thằng này, lúc dùng thằng kia, mà sao mình viết đơn giản để simulation thì ko cần. Nhưng khi đọc mấy ví dụ tham khảo thì thấy mỗi cái bộ mux21 cũng cần tới hai phần code: 1 phần thường như mình hay làm(behar) + thêm cái top-level nữa(struc).v.v., Bác nào pro về mảng này mong là có thể bỏ cho e chút thời gian. cám ơn nhiều

      Comment


      • #4
        À, cám ơn bác tan0710 đã comment.
        Vì để tránh mất thời gian cũng như nhiều bạn vì chưa tìm hiểu kĩ trước khi thắc mắc thì ở đây về vấn đề này e đã đọc khá nhiều rồi. Cái thắc mắc chính ở đây là e thấy nó lung tung quá, cũng có thể do e học hơi gấp nên chưa hiểu...(các bác thông cảm vì mảng kiến thức của em vốn không phải về ngành này nhưng vì đề tài hiện tại cần nên mới tự học- thấy hay nên cũng muốn nghiền sâu tí ), tức là chương trình có phải lúc nào cũng đòi hỏi sử dụng cả ba cấu trúc hay không? theo e đọc được thì có lúc dùng thằng này, lúc dùng thằng kia, mà sao mình viết đơn giản để simulation thì ko cần. Nhưng khi đọc mấy ví dụ tham khảo thì thấy mỗi cái bộ mux21 cũng cần tới hai phần code: 1 phần thường như mình hay làm(behar) + thêm cái top-level nữa(struc).v.v., Bác nào pro về mảng này mong là có thể bỏ cho e chút thời gian. cám ơn nhiều

        Comment


        • #5
          Behavioral: Tả module bằng hành vi ==> có thể synthesize được hoặc không.
          Structural: Tả module bằng cấu trúc, module của bạn gồm nhiều thành phần kết nối lại với nhau giống như schematic nhưng viết bằng code thay vì vẽ. Ví dụ 4-bit adder được tả bằng cách nối 4 con 1 bit adder.

          Thực tế:
          có thể 100% behavioral model:
          - non-synthesizable : ví dụ như các code đẻ dùng simulation thôi... dùng để test code khác, như testbench, có các delay ...
          - syntehsisable : ví dụ như statemachine, statemachine thường người ta làm behavioral model, chắc không ai ngồi viết statemachine bằng flip-flop đâu.
          có thể 100% structural model, ví dụ như khi bạn thiết kế ASIC, hoặc FPGA muốn dùng các LUT & flop 1 cách trực tiếp.
          có thể mixed ... ví dụ như code của ban có: statemachine + các primitive của FPGA

          statemachine: statemachine là behavioral model nhưng

          Comment


          • #6
            Mux dùng behavior:

            assign out = sel?a:b;

            Mux dùng structural: lằng nhằng nối mấy cái and-or gate lắm

            Comment


            • #7
              Cám ơn bác "dép liều". Chắc e phải đọc thêm nhiều. Ở đây e có hai đoạn code: bác giải thích giúp e là như vậy thì nó viết chung một proj hay sao? Với người mới như em thì thấy không biết tại sao phải có 2 phần như này. Và liên hê với nhau ntn trong xilinx? dù code thì dễ hiểu.
              https://plus.google.com/photos/10172...CM_Ml9q0_eORAg

              Comment


              • #8
                Nguyên văn bởi trustinlife Xem bài viết
                Cám ơn bác "dép liều". Chắc e phải đọc thêm nhiều. Ở đây e có hai đoạn code: bác giải thích giúp e là như vậy thì nó viết chung một proj hay sao? Với người mới như em thì thấy không biết tại sao phải có 2 phần như này. Và liên hê với nhau ntn trong xilinx? dù code thì dễ hiểu.
                https://plus.google.com/photos/10172...CM_Ml9q0_eORAg
                nó làm 2 file trong 1 proj. component là thành phần cấu trúc thành phần cần dùng, còn portmap là sơ đồ kết nối của thành phần đấy... nó giống như dùng .header trong C đấy.khi cần dùng hàm nào thì truyền tham số theo thứ tự khai báo trong hàm.

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X