Thông báo

Collapse
No announcement yet.

Analog IC design

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

  • Hôm nay em mới biết SSCS có cung cấp free 1 số short courses. Các bạn tham khảo thêm về " A Low-Power 60GHz Transceiver with Integrated Baseband Circuitry" tại đây:

    June 18 2009

    Abstract:
    With mobile devices becoming more powerful and including more storage than ever before, new applications are emerging that require fast wireless data transfers while consuming very low power. This talk will present the key design techniques and challenges in implementing a low power 90nm CMOS 60GHz transceiver that includes RF, LO, PLL and BB integrated into a single chip. With a 1.2V supply the chip consumes 170mW while transmitting 10dBm and 138mW while receiving. Data transmission up to 5Gbps on each of I and Q channels has been measured, as has data reception over a 1m wireless link at 4Gbps QPSK with less than 10-11 BER.

    Comment


    • Theo tớ nghĩ thì về mặt kỹ thuật thì công nghệ truyền dữ liệu 60 GHz này không có vấn đề gì. Chỉ là về mặt thương mại thì tớ không chắc là người ta sẽ bỏ tiền ra sử dụng công nghệ này thay cho việc sử dụng cable trong khoảng cách gần để truyền dữ liệu. Tớ thật sự không thấy việc dùng wireless thay cho cable có lợi gì hơn. Có lẽ tớ hơi bị bảo thủ chăng?

      Comment


      • Chào các bác!
        Em có một vấn đề cần các bác giúp đỡ.
        Em đã hiểu sơ qua về quá trình thiết kế và layout analog IC và digital IC. Vậy nếu một IC có cả phần analog và digital trong đó thì qua trình thiết kế và layout IC đó như thế nào?
        Hay không có IC nào có chủng cả 2 mảng trên? Nếu có thì công cụ gì hổ trợ thiết kế mạch và layout?
        HỎi ngu xíu hì hì!
        happy new year!

        Comment


        • Nguyên văn bởi ngoclinh_xl Xem bài viết
          Hay không có IC nào có chủng cả 2 mảng trên? Nếu có thì công cụ gì hổ trợ thiết kế mạch và layout?
          Chào bạn ngoclink_xl,

          Hiện nay gần như không còn IC số đứng độc lập nữa vậy nên một thiết kế mà có cả IC số và IC tương tự là khá phổ biến. Hơn nữa, do số lượng transistor/chíp là tương đối lớn nên người ta áp dụng quy trình thiết kế số (quy trình thiết kế SoC) cho chíp loại này. Trong đó, các thiết kế tương tự thì người ta coi như một thiết kế IP: thường thấy nhất là IP ADC, PLL, Power supply, OSC, I/O, I2C, SPI, ...

          Về quy trình SoC, ta có thể tạm phân thành hai phần chính: Thiết kế ở mức Module-Level và thiết kế ở mức Top-Level.

          [1] Thiết kế ở mức Module: Ở mức này, phần số cứ thiết kế theo kiểu số, phần tương tự cứ thiết kế theo kiểu tương tự. Và quan trọng nhất là phải đảm bảo là tất cả các yêu cầu kỹ thuật được đảm bảo 100% ở mức này (module-level).

          [2] Thết kế ở mức Top-Level: Ở mức này, phần khó chịu nhất liên quan đến design lại là phần verification; còn liên quan tới layout là phần timming. (tạm thời chưa đề cập tới low power design ở đây). Phần verification bạn có thể tham khảo ở đây:
          http://www.dientuvietnam.net/forums/...e-ic-so-17173/
          (bài số #9)
          Về timming ở phần layout cũng như mô tả chi tiết quá trình thì chắc là cần một bài viết dài, nhưng tổng quan bạn có thể hiểu quá trình thiết kế ở mức Top-level gần giống như quá trình thiết kế số theo kiểu semi-custom (để phân biệt với full-custom) như sau:
          - Các module sẽ được nối với nhau một cách tự động bằng một script (tránh tối đa lỗi khi làm bằng tay). Do vậy, interface của các module đòi hỏi cần phải được định nghĩa rất rõ ràng ngay từ ban đầu (ví dụ mỗi module có bao nhiêu chân (port), cách đặt tên như thế nào, ...).
          - Sau đó sẽ được systhesis thành top-level net-list. Trong đó, các IC tương tự được đối xử như những standard cell.
          - Tiếp theo Top-level net-list này sẽ được gửi cho bộ phần phụ trách verification và bộ phận layout (layout thông thường là layout các lớp metal ở trên cùng và thiết kế đường power, tuy nhiên nếu có yêu cầu đặc biệt thì vẫn phải tiến hành full-custom layout như thường (không đạt về timming))
          - Nếu bộ phận verification không phát hiện ra lỗi gì thì bộ phận layout sẽ tạo ra gate-level net-list để phân tích timming và chạy gate-level simulation.
          - Sau cùng, nếu mọi chuyện ổn thì tape-out.

          ( P/S: Còn khá nhiều thứ mình chưa đề cập tới ở đây nhưng có thể tạm hiểu những bước cơ bản là vậy. Và với những dự án lớn thì quá trình này mất khoảng một năm.)

          Thân mến,

          Comment


          • thanks bác hithere123!
            Liệu có phải netlist của một module phần cứng cho trước trên tất cả các công cụ của tất cả các hãng đều giống nhau? cả cấu trúc lẫn ngôn ngữ? Có khác biệt giữa netlis của tool thiết kế IC tương tự và tool thiết kế ic số về ngôn ngữ không?
            Có phải netlist của 2 module tương tự và số được đọc trên 1 công cụ nào đó? trên công cụ đó người ta tạo script để nối các chân đã quy ước tương ứng trong 2 khối trên đó lại với nhau? Nhưu vậy công đoạn nối các chân tương ứng trên 2 khối số và tương tự hoàn toàn thực hiện trên netlist? thành top level netlist. Rồi verify, chạy timing...

            đến phần layout:
            layout của tool thiết kế số là auto từ top level netlist. như vậy netlist không những mô tả các đường net trong mạch mà còn mô tả cả cấu trúc của các phần tử như các cổng and, or?

            Comment


            • Chào bạn ngoclinh_xl,

              Mình sẽ trả lời từng ý của bạn vậy,

              Nguyên văn bởi ngoclinh_xl Xem bài viết
              Liệu có phải netlist của một module phần cứng cho trước trên tất cả các công cụ của tất cả các hãng đều giống nhau? cả cấu trúc lẫn ngôn ngữ? Có khác biệt giữa netlis của tool thiết kế IC tương tự và tool thiết kế ic số về ngôn ngữ không?
              Trước tiên chúng ta cần thống nhất về định nghĩa: netlist thực chất là một tài liệu mô tả mạch điện bằng text theo một định dạng nhất định để cho phần mềm có thể hiểu được. Ví dụ phần mềm HSPICE sẽ có một quy định về netlist riêng để HSPICE có thể hiểu được, phần mềm tổng hợp systhesis thì chỉ có thể hiểu ngôn ngữ verilog hay vhdl (hoặc SystemC). Với thiết kế số, netlist hay được biết đến như một tài liệu được viết bằng ngôn ngữ verilog. Vì vậy, ta cần hiểu netlist theo công cụ mà chúng ta sử dụng. Ví dụ một netlist của một module phần cứng D-FF dùng cho HSPICE và dùng cho ModelSim là hoàn toàn khác nhau.

              Nguyên văn bởi ngoclinh_xl Xem bài viết
              Có phải netlist của 2 module tương tự và số được đọc trên 1 công cụ nào đó? trên công cụ đó người ta tạo script để nối các chân đã quy ước tương ứng trong 2 khối trên đó lại với nhau?
              Đúng. Ở đây, module tương tự cần được chuyển sang mô tả bằng ngôn ngữ mà chúng ta đang dùng để mô tả module số, ví dụ là verilog. Tức là từ mạch điện (schematic) chúng ta dịch sang ngôn ngữ verilog (gọi là viết behavioural model), hoặc chỉ cần khai báo module và các cổng, còn nội dung bên trong thì coi như một black box. Mục đích là để các module nói chung một ngôn ngữ, như vậy scrip mới có thể nối chúng lại với nhau được.

              Nguyên văn bởi ngoclinh_xl Xem bài viết
              Nhưu vậy công đoạn nối các chân tương ứng trên 2 khối số và tương tự hoàn toàn thực hiện trên netlist? thành top level netlist. Rồi verify, chạy timing...
              Đúng. Tuy nhiên nếu IC quy mô cực nhỏ và thiết kế theo kiểu tương tự thì sẽ nối bằng tay, chạy mô phỏng là đủ và không cần phân tích timming.

              Nguyên văn bởi ngoclinh_xl Xem bài viết
              đến phần layout:
              layout của tool thiết kế số là auto từ top level netlist. như vậy netlist không những mô tả các đường net trong mạch mà còn mô tả cả cấu trúc của các phần tử như các cổng and, or?
              Layout thì số và tương tự không có khác biệt nhiều lắm, làm layout standard cell thì giống hệt như làm layout tương tự. Khi đã có các standard cell rồi thì layout top-level giống như trò chơi xếp hình vậy, không cần quan tâm nhiều lắm tới các lớp sâu ở dưới, phần mềm tự đọc netlist rồi sắp đặt theo một constrain định sẵn. Thông thường top-level nestlist không có mô tả cụ thể cấu trúc cổng AND hay OR vì các cổng này được đối xử như những standard cell rồi.

              Thân mến,

              Comment


              • vâng! thank bác rất nhiều! Em vừa mới nộp hồ sơ xin việc xong, analog ic design! cũng có ít kiến thức về lĩnh vực này, cơ mà bảng điểm 3 năm đầu của em thấp quá! ko biết dc ko! hồi hộp quá! chia sẽ với các bác!

                Comment


                • Được anh hithere khuyên là nên viết bài trên diễn đàn, vì thực trước em cũng toàn trao đổi với anh bằng email. Vậy hôm nay em có một số vấn đề chưa hiểu muốn trao đổi với mọi người như sau ạ:
                  1. Với NMOS, nếu em mắc Gate với Source tắt đến GND thì có tác dụng gì không? Nếu có thì nó sẽ được dùng trong trường hợp nào?
                  2. Với mạch điện em vẽ dưới đây thì tính toán Vout như thế nào ạ? em bị mắc với node S là floating gate:

                  3. Tháng trước do em phải làm gấp 1 con ADC đơn giản, flash 4bit, (làm cái đơn giản trước, chủ yếu để demo, mà em cũng chưa có kiến thức gì về ADC trước đó) em làm theo báo và vref em lấy từ mạch bandgap ra, vấn đề đầu tiên em gặp phải là khi em mắc vref vào mạng trở 16 resistor 20k nối tiếp, lập tức nó sụt áp nhanh chóng. Em nghĩ phải tách khối bandgap với mạng trở bởi mạng trở sẽ làm sụt trở kháng ra rất nhiều, tức nó tiêu thụ dòng, => em quyết định mắc thêm EA cấu trúc LDO (vì em vừa làm LDO trước đó) thấy giải quyết được vấn đề, Nhưng khi đó mạch sẽ rất tốn diện tích, bởi thông thường em đọc trong báo thì ADC flash có diện tích không lớn với số bit nhỏ.
                  Vậy thông thường người ta sẽ giải quyết vấn đề em gặp phải bằng cách nào ạ?
                  4. Cũng từ sau vụ làm ADC, thày giáo em quyết định giao cho em làm về ADC, em thấy cũng thực sự thích với lĩnh vực này, dù trước đó em toàn làm về nguồn. Nhưng hiện em cũng chưa biết bắt đầu từ đâu, em định hướng là làm flash -> pipellne -> SAR -> sigma delta. Không biết flow như thế có ổn không?
                  Và em xin ý kiên các bác về sách tham khảo để làm ADC ạ?

                  ps: Ngọc Linh đã tốt nghiệp và đi làm rồi à? tớ mới đổi tên sang username mới này. Từ giờ dùng username này luôn. Mình cũng hơi băn khoăn chuyện có nên tốt nghiệp trong năm nay không, vì vẫn thấy thiếu nhiều kiến thức quá, mới năm tư mà. Nên quyết định ở lại BK 1 năm nữa..

                  Comment


                  • Em xin lỗi các bác, em up lại ảnh file attached ạ:
                    "2. Với mạch điện em vẽ dưới đây thì tính toán Vout như thế nào ạ? em bị mắc với node S là floating gate:
                    Click image for larger version

Name:	quest2.bmp
Views:	1
Size:	702.8 KB
ID:	1354965
                    "

                    Comment


                    • Chào em,

                      Với MOSFET thì cực D và S có thể đổi chức năng cho nhau được, đây là một trong những điểm khác biệt giữa linh kiện MOSFET và Bipolar. Do đó trong mạch điện của em thì em có thể gộp hai mosfet thành một. Nếu W1=W2 thì mosfet mới sẽ là W/(L1+L2). Nếu W1#W2 thì cần xác định linh kiện nào có vai trò quan trọng hơn, thì linh kiện đó sẽ làm chủ, linh kiện còn lại sẽ hoạt động ở miền triode vậy em có thể coi như một điện trở. Việc này em cần tìm hiểu thêm, anh chỉ gợi ý đến đây thôi.

                      Chúc em thành công!
                      Thân mến,

                      Comment


                      • Em cám ơn anh hithere đã chỉ ra vấn đề giúp em ạ, em đã hiểu ạ (Đúng là trước đó em có dùng cấu trúc mắc nối tiếp NMOS chung gate mà quên mất rằng MOSFET có thể đổi cực Drain và cực Source cho nhau).

                        Em có một thắc mắc nữa, trong mạch ESD protection thì người ta dùng diode zener, nhưng như anh hithere nói thì trong mạch IC gần như không có linh kiện diode zener, vậy giải pháp là gì ạ? Như vậy liệu có phải mắc dạng external không ạ? Em có attach mạch cấu trúc của ESD em research được ạ:
                        Click image for larger version

Name:	esd protection.jpg
Views:	1
Size:	16.6 KB
ID:	1355084

                        ps: Chúc các anh, các bạn năm mới vui vẻ và thành công!

                        Comment


                        • hi bạn!
                          Bạn có thể đưa ra một số giải pháp để triệt điện áp offset này được ko vậy? thanks nhiều.

                          Comment


                          • Chào bạn ngvanbinh200,

                            Tớ chưa rõ bạn đề cập đến offset voltage của mạch điện nào, nhưng với những mạch điện tớ đã mô phỏng và tìm hiểu đơn cử differential pair sẽ có input offset voltage, về vấn đề này đã được anh hithere123 đề cập trong trang 2 "Mô phỏng mạch OPAMP" của luồng này, bạn tham khảo thêm nhé:
                            http://www.dientuvietnam.net/forums/...79/index2.html

                            Tớ chỉ nói thêm một số ý như sau về input offset voltage (nếu có chỗ nào chưa đúng mong các anh/bạn sửa giúp ạ):
                            với OPAMP 2 tầng mà tớ đã học và đọc trong cuốn sách của tác giả Sedra, để giảm offset hệ thống (systemic offset) thì sẽ thiết kế (W/L)3/(W/L)6 = (W/L)4/(W/L)6 = (1/2)*(W/L)5/(W/L)7 nhưng input offset voltage vẫn khác 0. Khi đó bạn hoàn toàn có thể dùng hand-calculation để ước lượng Voffset này. Mạch mình có vẽ lại dưới đây nhé:
                            Click image for larger version

Name:	input offset voltage_sim.JPG
Views:	1
Size:	23.6 KB
ID:	1355212
                            Còn về random offset thì đã có công thức trong sách "analysis and design of integrated circuit" của Gray, Hust, and Mayer rồi. Riêng để giảm random offset anh hithere123 cũng đã đề cập ở luồng tớ gửi trên, có liên quan đến matching, và nếu bạn nhìn vào công thức thì bạn cũng có thể biết là nên tăng hay giảm yếu tố gì rồi. Bạn tìm công thức và thử trả lời nhé!
                            Trong thiết kế mạch so sánh comparator, khi các linh kiện matching tuyệt đối, vấn đề tớ gặp phải cũng liên quan đến offset, tớ có đọc tài liệu là đồ án "Comparators_With_Hysteresis_Kulkarni_2005" cái này bạn search sẽ ra ngay.

                            Hi vọng giúp bạn được phần nào!

                            Comment


                            • Chào bạn ngvanbinh2000

                              Để loại bỏ offset thì cách sử dụng các thiết kế tương tự bây giờ không còn phù hợp nữa vì nó có nhiều hạn chế. Thông thường với những mạch cần độ chính xác cao thì người thiết kế thường sử dụng mạch số để căn chỉnh lại các sai số sau khi đã chế tạo ra. Cái này ứng dụng với rất nhiều mạch không chỉ để triệt tiêu offset. Ngoài ra mạch số rất tiện dụng, linh hoạt (có thể làm nhiều kiểu khác nhau, nhiều việc khác nhau) và đồng thời nhiều khi còn nhỏ hơn cả mạch tương tự nếu bạn sử dụng những công nghệ mới (transistor số có kích thước rất nhỏ). Bạn có thể search trên mạng "digital offset cancellation" sẽ thấy có rất nhiều cách. Ngoài ra việc calibration sau khi tape out cũng sẽ làm tăng thời gian test chip làm tăng chi phí chế tạo chip (hình như mỗi phút test chip có giá là 10 cent nhưng tớ không chắc lắm). Vậy nên nhiều người thiết kế thường làm thêm mạch digital autocalibration. Đây là một mạch số dưới dạng FSM khởi động lúc đầu. Ở mỗi trạng thái khác nhau thì FSM đóng/mở các switch để tạo ra các stimuli và kiểm tra kết quả đầu ra. Stimuli có thể là các tín hiệu tương tự như điện áp, dòng... và cũng có thể là các tín hiệu số. Nếu stimuli là tín hiệu số thì trong một số trường hợp người ta có thể sử dụng mạch sinh số giả ngẫu nhiên thay vì lưu trữ tất cả các giá trị stimuli lên ROM khi số lượng stimuli rất nhiều.


                              Nguyên văn bởi ngvanbinh200 Xem bài viết
                              hi bạn!
                              Bạn có thể đưa ra một số giải pháp để triệt điện áp offset này được ko vậy? thanks nhiều.

                              Comment


                              • Chào bạn dvietd207,

                                Theo như tớ biết thì mạch ESD thường không sử dụng zener diode. Mạch mà bạn đưa ra trên hình là gần đúng mạch ESD rồi. Nếu tớ không nhầm thì mạch ESD thật người ta bỏ zener diode mà bạn vẽ đi và thêm vào một điện trở nằm giữa điểm nối 2 diode và mạch bên trong. Sở dĩ người ta cần thêm điện trở này vì diode hoạt động chậm chạp khi bất ngờ có xung điện áp cao ở đầu vào thì nó không thể xả hết điện tích trong một lúc được. Khi đó điện trở bảo vệ kết hợp với điện dung ký sinh tại tín hiệu vào/ra của mạch sẽ tạo ra một mạch RC làm cho điện áp tăng lên một cách từ từ (nạp điện cho tụ ký sinh). Chính nhờ quá trình nạp điện chậm chạp này mà linh kiện bên trong không bị đánh hỏng. Với mạch ESD cho các tín hiệu nguồn và đất thì người ta bỏ điện trở này đi vì nó tạo ra sụt áp và chẳng cần thiết. Thường các MOS transistor bị ESD đánh hỏng nếu có điện áp cao nối vào cực gate chính là một lớp tụ điện rất mỏng. Thường các đường nguồn người ta không bao giờ nối đến gate mà chỉ nối đến source hoặc drain mà thôi. Thêm nữa là để tăng độ ổn định của nguồn, người ta thường đặt trên chip các tụ lọc rất lớn. Chính vì vậy mà quá trình tăng điện áp tại các đường nguồn cũng đã rất chậm không cần thêm điện trở.

                                Với người thiết kế thì họ thường dùng các mạch pad có sẵn trên thư viện chứ không thiết kế mạch ESD nữa. Nếu bạn là người làm ESD cho thư viện thì cái này phụ thuộc rất nhiều vào các yêu cầu khác nhau của chân linh kiện ví dụ như nếu linh kiện của bạn làm việc trong môi trường khắc nghiệt hoặc cần độ ổn định cao thì phải làm ESD tốt. Hay khi tín hiệu tại chân quá sensitive thì bạn phải hi sinh một chút ESD... Thông thường thiết kế ESD phải làm rồi test riêng bên ngoài bằng mạch test ESD thật sau đó đưa vào trong thư viện và mọi người cứ thế lấy ra mà dùng.

                                Nguyên văn bởi dvietd207 Xem bài viết
                                Em cám ơn anh hithere đã chỉ ra vấn đề giúp em ạ, em đã hiểu ạ (Đúng là trước đó em có dùng cấu trúc mắc nối tiếp NMOS chung gate mà quên mất rằng MOSFET có thể đổi cực Drain và cực Source cho nhau).

                                Em có một thắc mắc nữa, trong mạch ESD protection thì người ta dùng diode zener, nhưng như anh hithere nói thì trong mạch IC gần như không có linh kiện diode zener, vậy giải pháp là gì ạ? Như vậy liệu có phải mắc dạng external không ạ? Em có attach mạch cấu trúc của ESD em research được ạ:
                                [ATTACH=CONFIG]39021[/ATTACH]

                                ps: Chúc các anh, các bạn năm mới vui vẻ và thành công!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X