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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • anhdk
    Thành viên mới
    • Mar 2007
    • 13

    #1

    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 !
  • DTTH
    Moderator
    • Nov 2007
    • 433

    #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
    cores, VHDL, Verilog HDL, ASIC, Synthesizable, standard cell, IP, Intellectual Property, 32-bit RISC, UART, PCI, SDRAM, full custom, system on a chip, SOC, reusable, design, development, synthesis, designs, developers, C, Linux, eCos, open, free, open source cores, RTL code, system-on-a-chip, circuits, digital, GNU, GPL, core, controller, processor, system design, chip design, EDA, design methodology, design tools, ASICs, programmable logic, FPGA's, PLDs, CPLDs, verification, Synthesis, HDL, Simulation, IC design software, semiconductor design, integrated circuits, system designs, chip designs, EDAs, design methodologies, design tool, ASIC, programmable logics, FPGA, PLD, CPLD, Synthesis, circuit, Synopsys, system design, chip design, programmable logic, FPGA's, PLDs, CPLDs, verification, Simulation


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

    Comment

    • phoenixdown
      Thành viên chính thức
      • Oct 2007
      • 30

      #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

      • DTTH
        Moderator
        • Nov 2007
        • 433

        #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

        • abc10285
          Thành viên mới
          • Oct 2007
          • 10

          #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

          • hongmta
            Thành viên mới
            • Jan 2010
            • 28

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

            Comment

            • jefflieu
              Moderator
              • Oct 2007
              • 998

              #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

              • mtcmos
                Thành viên mới
                • Sep 2010
                • 4

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