Thông báo

Collapse
No announcement yet.

vấn đề về các tools dùng cho thiết kế vi mạch

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

  • vấn đề về các tools dùng cho thiết kế vi mạch

    em là 1 sinh viên rất yêu thích lỉnh vực thiết kế vi mạch và lõi IP, em được một người cho biết rằng anh là 1 chuyên gia bên lõi IP, xin anh giải đáp giúp em một số thắc mắc nha
    theo em để thiết kế 1 lõi IP thì mình cần một bộ công cụ phần mêm và có rất nhiều hảng cung cấp cho ta các loại phần mềm này như cadence, synopsis....,
    sau khi nghiên cứu về quá trình thiết kế lõi IP, em chia vấn đề ra như sau
    - công cụ dùng cho specification
    - công cụ dùng cho RTL coding
    - công cụ dùng để testben va simulation
    - công cụ dùng để synthesis
    - công cụ dùng để pre-layout timing
    - công cụ dùng để place and route
    - công cụ dùng để back annotation
    - công cụ dùng để post layout
    anh có thể giúp em tìm ra phần mềm nào dùng cho các ứng dụng trên không anh, em đả tìm trên google nhưng quá nhiều thông tin nên em không biết chọn cái nào. cảm ơn anh trước nha

  • #2
    - công cụ dùng cho RTL coding: Quatus , Note pad ++
    - công cụ dùng để testben va simulation: quatus + modelsim
    - công cụ dùng để synthesis: quatus + modelsim
    Mình chỉ biết vậy thôi hà!
    |

    Comment


    • #3
      Nguyên văn bởi alone_king Xem bài viết
      em là 1 sinh viên rất yêu thích lỉnh vực thiết kế vi mạch và lõi IP, em được một người cho biết rằng anh là 1 chuyên gia bên lõi IP, xin anh giải đáp giúp em một số thắc mắc nha
      theo em để thiết kế 1 lõi IP thì mình cần một bộ công cụ phần mêm và có rất nhiều hảng cung cấp cho ta các loại phần mềm này như cadence, synopsis....,
      sau khi nghiên cứu về quá trình thiết kế lõi IP, em chia vấn đề ra như sau
      - công cụ dùng cho specification
      - công cụ dùng cho RTL coding
      - công cụ dùng để testben va simulation
      - công cụ dùng để synthesis
      - công cụ dùng để pre-layout timing
      - công cụ dùng để place and route
      - công cụ dùng để back annotation
      - công cụ dùng để post layout
      anh có thể giúp em tìm ra phần mềm nào dùng cho các ứng dụng trên không anh, em đả tìm trên google nhưng quá nhiều thông tin nên em không biết chọn cái nào. cảm ơn anh trước nha
      Theo mình thì code RTL thì có thể dùng bất cứ editor nào bạn yêu thích và quen thuộc mình thì hay dùng emacs và vim. quan trọng là bạn phải code theo phần cứng chứ ko phải phẩn mềm nghĩa là code của bạn có khả năng tổng hợp ra được mạch theo đúng chức năng spec. còn về testbench thì tool vcsmx(synopsys) hay incisive(cadence) thì ngon rồi nhưng nếu ko có thì bạn kiếm tool nào hỗ trợ được systemverilog và mấy cái methodologies như VMM, OVM, UVM thì làm verification sẽ ngon hơn, formal dưới dạng property checking thì có incisive hay synopsys magellan hay một số tool khác như onespin nhưng mấy tool này đắt mình cũng chưa được dùng bao giờ . Còn synthesis thì dùng design compiler của synopsys hay RTL compiler của cadence. prelayout timming thì trong design compiler có hỗ trợ không thì dùng primetime của synopsys nó dùng thư viện chuyên dụng về timing nên chuẩn hơn. còn các phần liên quan đến layout, postlayout thì dùng IC compiler, IC164, astro, primetime ngoài ra còn một số tool chuyên làm physical verification mình không làm layout lên ko biết lắm.

      Comment


      • #4
        bạn nào có kinh nghiệm có thể chỉ cho mình các bước cơ bản một cách cụ thể để thiết kế 1 con IC hay không ( cụ thể là IC analog như là ADC ) chẳng hạn
        mình ví dụ
        thiết kế schematic dùng phần mềm nào - mô phỏng schematic dùng phần mềm nào - mô phỏng test cái gì
        thiết kế layout dùng phần mềm nào - mô phỏng test layout dùng phần mềm nào
        phần back end
        rất cảm ơn nếu có tài liệu viết 1 cách cụ thể
        tiếng anh củng không sao, tiếng việt càng tốt nhưng mà hướng dẩn cụ thể cài phần mềm, thiết kế một cái mạch đơn giản nhất từ a -> z để tạo ra 1 con IC
        rất mong anh em chỉ điểm

        Comment


        • #5
          lõi ic

          cái nè bạn nên tìm hiểu bên vi chip khả lập trình, cái nè rất khó
          không tiếp nhận cuộc gọi qua điện thoại vì đi làm toàn tập, tính khí thất thường, hay nóng võ công lại cao

          Comment


          • #6
            Nguyên văn bởi azuredragon_ Xem bài viết
            bạn nào có kinh nghiệm có thể chỉ cho mình các bước cơ bản một cách cụ thể để thiết kế 1 con IC hay không ( cụ thể là IC analog như là ADC ) chẳng hạn
            mình ví dụ
            thiết kế schematic dùng phần mềm nào - mô phỏng schematic dùng phần mềm nào - mô phỏng test cái gì
            thiết kế layout dùng phần mềm nào - mô phỏng test layout dùng phần mềm nào
            phần back end
            rất cảm ơn nếu có tài liệu viết 1 cách cụ thể
            tiếng anh củng không sao, tiếng việt càng tốt nhưng mà hướng dẩn cụ thể cài phần mềm, thiết kế một cái mạch đơn giản nhất từ a -> z để tạo ra 1 con IC
            rất mong anh em chỉ điểm
            Chào bạn Azuredragon,

            Có lẽ bạn chưa có nhiều kinh nghiệm về thiết kế ASIC. Dù sao chăng nữa thì ASIC cũng là một mảng rất rất rộng. Để bạn có thể hiểu được các công đoạn thiết kế thì e là phải viết đến cả một quyển sách mới hết được. Nhưng tớ vẫn sẽ cố gắng nói một cách dễ hiểu đồng thời cũng ngắn gọn nhất.

            Thiết kế ASIC hiện nay rất lớn nên người ta thường chia ra từng phần nhỏ và thiết kế riêng cho từng phần một. Đối với các mạch tương tự thì người ta cũng sẽ vẽ mạch giống như các mạch bạn học trong sách vậy gồm các transistor, điện trở tụ điện. Sau đó người ta dùng các công cụ mô phỏng như spice để chạy mô phỏng cho mạch. Sau cùng người ta làm layout cho mạch đó. Làm layout cũng tương tự như làm layout cho PCB về một mặt nào đó. Các bạn cũng phải vẽ transistor, tụ điện, sau đó kết nối chúng lại thành mạch điện. Một số công cụ được sử dụng có thể Cadence virtuoso, spectre, Mentor Calibre...

            Còn về mạch số thì thường những mạch này quá phức tạp để có thể vẽ mạch bằng tay (có một số trường hợp đặc biệt như Intel có thừa nhân lực để làm việc này). Vì vậy phương pháp thiết kế với mạch số thông thường là tổng hợp mạch từ RTL code. Trước hết bạn viết Verilog hoặc VHDL code cho mạch số rồi chạy mô phỏng để kiểm tra. Phần mềm chạy mô phỏng có thể là VCS, IUS..., phần mềm debug đỉnh nhất có lẽ là Verdi. Sau đó người ta làm một bộ thư viện các standard cell gồm các công logic cơ bản như AND, OR... Các standard cell này được vẽ mạch một cách tối ưu, sau đó chạy mô phỏng để rút ra các thông số ví dụ như công suất, độ trễ, tải đầu vào, tải đầu ra... trong nhiều trường hợp như điện áp cao/thấp, nhiệt độ cao/thấp, process corner... Ngoài ra người ta thường làm rất nhiều standard cell thực hiện cùng một chức năng logic nhưng được tối ưu theo những tiêu chí khác nhau để phần mềm có nhiều sự lựa chọn và tìm ra cái tối ưu nhất. Sau đó người ta sẽ dùng phần mềm tổng hợp RTL code thành mạch thật gồm các standard cell này được kết nối với nhau. Phần mềm được dùng có thể là Design Compiler... Để làm một chức năng nào đó phần mềm sẽ thử nhiều sự lựa chọn với các standard cell để tìm ra một mạch tối ưu nhất. Sau đó người ta sẽ kiểm tra xem mạch được tổng hợp ra có đạt các chỉ tiêu như tốc độ hoạt động, công suất tiêu thụ hay không. Nếu như không đạt có thể điểu chỉnh lại một số chỗ. Ví dụ như người ta có thể thiết kế thêm một số standard cell đặc biệt cho được critical path để tăng tần số đồng hồ. Cuối cùng là layout các standard cell này. Các standard cell được thiết kế có cùng kích thước chiều dọc. Vì vậy chúng có thể xếp vào cạnh nhau như người ta xếp gạch vậy. Phần mềm sẽ xếp các standard cell này lại với nhau rồi tạo đường kết nối giữa chúng. Phần mềm có là IC compiler...

            Cuối cùng là người ta ghép tất cả các mạch số và tương tự lại thành một chip hoàn chỉnh. Việc ghép lại có thể dùng virtuoso theo kiểu vẽ mạch tương tự, và cũng có thể dùng IC compiler theo kiểu vẽ mạch số.

            Comment


            • #7
              bạn Rommel.de ơi cho mình hỏi thiết kế ASIC có phải là thiết kế một con IC có chức năng cụ thể và không thay đổi được đúng không
              ví dụ thiết kế một con IC analog ổn áp nguồn chẳng hạng nó củng gọi là thiết kế ASIC đúng không, thiết kế một con IC digital FiFlop D củng gọi là thiết kế ASIC mình hiểu vậy có đúng ko

              Comment


              • #8
                Nguyên văn bởi azuredragonk Xem bài viết
                bạn Rommel.de ơi cho mình hỏi thiết kế ASIC có phải là thiết kế một con IC có chức năng cụ thể và không thay đổi được đúng không
                ví dụ thiết kế một con IC analog ổn áp nguồn chẳng hạng nó củng gọi là thiết kế ASIC đúng không, thiết kế một con IC digital FiFlop D củng gọi là thiết kế ASIC mình hiểu vậy có đúng ko
                Chào bạn Azuredragonk,

                Nói chung thiết kế chip đều có thể coi là thiết kế ASIC. Analog, digital hay thậm chí một số sensor đặc biệt cũng có thể coi là ASIC được. Tuy nhiên nói chung độ tích hợp các chip hiện nay rất cao nên các thiết kế luôn bao gồm cả analog lẫn digital. Ví dụ như những chip ổn áp ngay nay tớ không rõ người ta còn thiết kế mấy loại rời rạc hay dùng các thiết kế cũ. Bên trong một chip của chỗ tớ luôn có sẵn một phần ổn áp. Hơn thế nữa đây là loại thông minh, tức là có thể điều khiển việc tắt/mở nguồn, PLL, clock... tùy theo tình trạng làm việc bên trong chip. Cái này thật sự khác rất xa mấy loại ổn áp rời rạc bên ngoài. Còn phần số thì khỏi cần nói tích hợp kinh khủng.

                Comment


                • #9
                  Anh Rommel.de lam on cho em hoi can nhung cong cu nao cho phan thiet ke back-end cua thiet ke ASIC ?
                  Voi lai nho anh noi so qua cong dung cua moi phan mem de em co the theo do ma mo mam, em dang lam de tai tot nghiep ve van de nay!
                  Last edited by quang0913269; 27-04-2013, 12:44.

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X