Thông báo

Collapse
No announcement yet.

Thiết kế Vi Điều Khiển bằng VHDL !!!

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

  • Thiết kế Vi Điều Khiển bằng VHDL !!!

    Em có một đề tài như thế này :

    Tìm hiểu và xây dựng lại sơ đồ khối của vđk PIC6F84. Phân tích kỹ từng khối. Thực hiện test kiểm nghiệm hoạt động.
    Tìm hiểu hoạt động trong 1 chu kỳ đồng hồ.


    Tất cả đều phải lập trình mô phỏng bằng VHDL.

    Mong các bác cho ý kiến chỉ đạo !

  • #2
    Nguyên văn bởi anhdk Xem bài viết
    Em có một đề tài như thế này :

    Tìm hiểu và xây dựng lại sơ đồ khối của vđk PIC6F84. Phân tích kỹ từng khối. Thực hiện test kiểm nghiệm hoạt động.
    Tìm hiểu hoạt động trong 1 chu kỳ đồng hồ.


    Tất cả đều phải lập trình mô phỏng bằng VHDL.

    Mong các bác cho ý kiến chỉ đạo !
    Chỉ đạo thì không dám nhưng tôi cho bạn link này tham khảo xem. Core 16F84 này đã hoàn chỉnh rồi đấy
    http://www.opencores.org/pdownloads.cgi/list/risc16f84

    Bạn cần học về Thiết Kế Lập Trình Điện Tử?

    Comment


    • #3
      Thiết kế vi điều khiển bằng VHDL thì khoai lắm. THông thường ta sử dụng các lõi vi xử lý, vi điều khiển có sẵn (IP core). Có những hãng riêng chuyên xây dựng kiến trúc lõi chip cho các ứng dụng nhúng. Và đa số các trường hợp đều phải mua để sử dụng

      Comment


      • #4
        Nguyên văn bởi phoenixdown Xem bài viết
        Thiết kế vi điều khiển bằng VHDL thì khoai lắm. THông thường ta sử dụng các lõi vi xử lý, vi điều khiển có sẵn (IP core). Có những hãng riêng chuyên xây dựng kiến trúc lõi chip cho các ứng dụng nhúng. Và đa số các trường hợp đều phải mua để sử dụng
        Right!!!!!!!!!!!!!!!

        Comment


        • #5
          Các bác cứ góp ý thật nhiều đi. Em cũng đang tìm hiểu về vấn đề này cho đề tài tốt nghiệp
          ***(^.*)___(^_^)***

          Comment


          • #6
            anh em đâu hết cả ruì, mình cũng đang học đây

            Comment


            • #7
              Để thực hiện test, mình nghĩ bạn cần phải có specifications của con chip. Ví dụ người thiết kế muốn thiết kế con chip này như thế nào, hỗ trợ những gì, khi có ngắt vào thì sẽ hoạt động ra sao... v.v.

              Comment


              • #8
                Nguyên văn bởi jefflieu Xem bài viết
                Để thực hiện test, mình nghĩ bạn cần phải có specifications của con chip. Ví dụ người thiết kế muốn thiết kế con chip này như thế nào, hỗ trợ những gì, khi có ngắt vào thì sẽ hoạt động ra sao... v.v.
                Mình đã verify một con MISP 32 bit dạng cổ điển R2000, các bước mình làm thế này

                1. Build một MIPS-cross compiler cho uP từ GCC. GCC hỗ trợ rất nhiều các kiến trúc khác nhau từ MIPS, PIC, ARM ngoài ra nó còn được port cho các kiến trúc riêng biệt.

                2. Compiler C application to MIPS ASM. Bạn cần kiểm tra mọi lệnh ASM đều được uP của bạn hỗ trợ, lưu ý setup các flag phù hợp khi compile C to ASM. Đôi khi cần modify C code để có được output phù hợp.

                3. Compile C code thành objective files. Dùng GCC "objdump" để chuyển objective file sang dạng binary dùng cho VHDL simulation. (Bước 2 chỉ để kiểm tra tương thích giữa ứng dụng và khả năng của uP chứ kết quả không được dùng lại)

                4. Sau bước 3 bạn cần có 2 binary files, một là gọi là instruction bin code (IB) lưu trữ cycle-by-cycle instruction opcode. File còn lại là data bin code(DB) lưu trữ data dùng cho các instruction.

                5. Design VHDL code (5 pipeline stages, tập lệnh MIPS)

                6. Viết testbench, DB and IB file được load từ dạng text vào VHDL simulator thông qua IO function (ModelSim, hoặc NCVHDL). Có thể coi là IB nằm trên I-cache, DB năm trên D-cache và uP có thể truy cập (R/W) trực tiếp 2 caches này.

                7. Với mỗi chu kì , 1 lệnh được nạp từ I-cache và dữ liệu cần thiết cho nó sẽ được nạp từ D-cache, xử lí bởi uP, kết quả sẽ được ghi lại vào D-cache thông qua địa chỉ được tính toán bởi uP.

                8. Sau khi uP core được verify thì tiến hành thiết kế D-cache và I-cache ((SRAM) cùng các controllers của nó. Mình tách việc verify uP core và thiết kế cache ra 2 phần để cho đơn giản.

                9. Kết nối cache và verify tổng thể, lúc này IB và DB được coi như nằm trên bộ nhớ ngoài (DRAM) và được load vào I-cache and D-cache thông gia I/D cache controllers. uP core chỉ giao tiếp với cache. Nói chung simulation ở mức RTL rất time consuming, mình chạy một ứng dụng tính toán FFT cũng cả ngày theo quy định của benchmark.

                Nói chung là nói thì ngắn nhưng verify một IP để chạy ứng dụng hoàn chỉnh là cực kỳ phức tạp, nó gần coi là bước cuối cùng để fabrication một uP. Verification hiện nay là khó nhất vì hệ thông càng ngày càng phức tạp, ứng dụng thì đa dạng, nó không còn là việc đưa một vài test vectors vào để kiểm tra nữa. Verification nên được tiến hành sớm ở các mức cao, architecture, transaction level(time/untime) trước khi tới RTL, transitor.

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X