- This topic has 11 phản hồi, 3 voice, and was last updated 3 years, 3 months trước by Nguyễn Thanh Yên.
-
Người viếtBài viết
-
-
Tháng Năm 27, 2021 vào lúc 7:37 Chiều #275::
Bài số 1: Tổng quan các bước cơ bản trong quy trình thiết kế vi mạch tương tự
Khác với thiết kế digital (làm việc với số lượng transistor khổng lồ, từ vài chục nghìn, vài trăm nghìn tới vài triệu cổng cho một module/block) thiết kế analog thông thường thiết kế mạch với vài chục tới vài trăm transistor, mosfet, điện trở, tụ điện cho một module/cell. Nếu digital, các cell được chuẩn hoá kích thước thì với analog kỹ sư toàn quyền quyết định kích thước. Do đó quy trình, cách thức cũng như công cụ dùng cho thiết kế tương tự sẽ khác nhiều với digital. Nói vui kỹ sư layout digital nhiều khi còn chả thèm quan tâm (biết) mosfet mình dùng có mấy cực, và kích thước W, L là bao nhiêu.
Tùy thuộc vào mỗi công ty, quy trình chi tiết sẽ có những điều chỉnh phù hợp nhưng tổng quan lại thì là giống nhau như sau:
Đầu tiên là thiết kế mạch điện: Bắt đầu bằng bản mô tả yêu cầu kỹ thuật của mạch điện (tài liệu đặc tả yêu cầu kỹ thuật của mạch điện do đội ngũ các kỹ sư trưởng hoặc đội ngũ làm việc phân tích nhu cầu của khách hàng chịu trách nhiệm,) người kỹ sư sẽ dùng một phần mềm vẽ mạch điện (schematic capture/schematic editor), đặt, lựa chọn kích thước hình học linh kiện và nối các cực (terminal) của linh kiện mosfet, bipolar transistor, diode, tụ điện, điện trở, cuộn cảm (thông thường chỉ trong RF mới dùng đến cuộn cảm) với nhau. Sau khi hoàn thành mạch điện thì sẽ dùng chức năng biên dịch mạch điện (netlist generation) của phần mềm tạo ra một file text mô tả mạch điện gọi là netlist. (.sp; .net; …) Các phần mềm hiện tại đa phần đều có chức năng dịch ngược từ netlist ra mạch, tuy nhiên mạch điện không được đẹp cho lắm.
Tiếp đến là dùng phần mềm mô phỏng như SPICE, HSPICE, SMARTSPICE, FINESIM, SPECTRA, … để mô phỏng mạch điện. Nếu không phải test silicon/characterize silicon sample thì việc tốn thời gian nhất của kỹ sư thiết kế tương tự là mô phỏng. Mô phỏng phải đảm bảo không bỏ sót các trường hợp có thể xảy ra với quá trình chế tạo (process fast, slow, typical) và các bối cảnh hoạt động của mạch: profile điện áp, nhiệt độ đầu vào, điều kiện tải tải đầu ra… Với mỗi mạch điện khác nhau ( band-gap reference, bias current, Oscillator, UVLO, Comparator, OpAmp, Driver, …) thì các bộ tham số để đánh giá chất lượng mạch là khác nhau. Mạch top level (gồm nhiều block cơ bản ghép lại với nhau) thì quy mô việc mô phỏng sẽ rất lớn, tốn rất nhiều thời gian. Do đó hiện nay kỹ sư thường phải mô hình hoá các mạch thành phần để mô phỏng nhanh hơn. Đôi khi ở một mức độ nào đấy đánh giá trình độ kỹ sư tương tự ở việc how smart you run simulation. Trước đây (2008) mình thấy mô hình hoá (behavior modeling) ít được đề cập, sử dụng tuy nhiên hiện nay modeling mạch tương tự phổ biến hơn rất nhiều.
Học từ VIP của các bạn verification, các bạn kỹ tư tương tự lúc rảnh hoàn toàn có thể tạo các test component cho các mạch thông dụng như comparator, opamp, …vì mạch nào cũng cần quét điện áp từ thấp đến cao rồi từ cao xuống thấp với các slope khác nhau, mạch nào cũng cần kiểm tra với các profile tải (load) khác nhau, … tạo sẵn các test component này sẽ rất tiện dùng lần sau và có thể hạn chế được human mistake (những lúc tâm trạng không tốt)
Sau khi design review với đội ngũ senior, concept engineer đánh giá kết quả mô phỏng là tốt, đáp ứng spec đề ra (so với bản đặc tả yêu cầu kỹ thuật đầu vào), thì mạch điện sẽ được chuyển qua bộ phận layout để tiến hành layout. Ngày xưa kỹ sư thiết kế đôi khi layout luôn nhưng hiện nay mức độ chuyên môn hoá cao, nên đa phần kỹ sư thiết kế không phải tự layout mạch điện nữa. Nhưng trong mạch điện kỹ sư thiết kế bắt buộc phải ghi chú mình muốn layout như thế nào, ví dụ matching style, size metal wire, vị trí đặt các linh kiện, … để kỹ sư layout biết.
Với kỹ sư thiết kế tương tự, ngoài việc chính là vẽ mạch, thiết lập testbench chạy mô phỏng thì viết design review document (tài liệu thiết kế) cũng khá quan trọng.Tài liệu này mô tả chức năng của mạch điên, hình vẽ của mạch điện với các thông số vật lý về kích thước, kết quả mô phỏng, các trường hợp worst case. Tài liệu này để phục vụ mục đích lưu trữ, tham chiếu khi cần và để phục vụ các cuộc họp review với các bô phận có trách nhiệm, như design manager, senior engineer, application engineer, . . .những cuộc họp này khá mệt nhưng rất vui. Các kỹ sư mới sẽ học được nhiều kỹ thuật thiết kế từ các cuộc họp này vì tham gia review toàn các cao thủ ngồi, các kỹ sư trẻ vừa có cơ hội chứng tỏ bản thân vừa có cơ hội học được khối thứ vì các mạch điện sẽ được phân tích và giải thích kỹ càng. Các bạn tốt nhất nên xác định một bản checklist những vấn đề cần mô phỏng, tick vào đấy để dễ kiểm soát chất lượng tài liệu.
Tiếp sau đó công việc layout (layout sẽ được đề cập ở bài viết riêng): người kỹ sư thiết kế dựa vào bản vẽ mạch điện để tiến hành đặt và nối các lĩnh kiện với nhau sử dụng phần mềm chuyên dụng dành cho thiết kế layout. Phần mềm này cũng cho phép người kỹ sư kiểm tra bản layout đúng với các tiêu chuẩn của công nghệ cũng như đảm bảo các linh kiện được nối với nhau trên hình vẽ layout hoàn toàn khớp với mô tả trên bản vẽ mạch điện gọi là xong các sign-off checklist layout verification. Đến đây là thời khắc vô cùng đáng nhớ: GDS out (Tape-Out).
Thiết kế mask: Các dữ liệu thiết kế layout mã hóa ở dạng (format) GDS sẽ được những máy chuyên dụng đọc và tạo ra một bộ mask. Có thể hiểu mask như một tấm phim âm bản dùng để hình thành những lớp vật liệu của một IC.
Chế tạo (fabrication): Các máy móc chuyên dùng trong nhà máy dựa vào bộ mask sẽ hình thành các lớp vật liệu của một IC trên một tấm silicon gọi là wafer. Các bạn có thể tham khảo loạt bài viết từ cát tới chip của bác Paddy trên diễn đàn dientuvietnam theo đường dẫn sau:
Kiểm tra wafer (wafer sort): Trước khi cắt wafer thành các die (IC), wafer sẽ được test để loại ra những die sai hỏng. Ở bước này các máy kiểm tra chuyên dụng sẽ load wafer và chay chương trình test đã được lập trình sẵn để kiểm tra từng die một (đồng thời có thể tiến hành trim để điều chỉnh các thông số thiết kế về giá trị mong muốn trước)
Đóng gói (Assembly & Packaging – nhà máy Intel ở VN là làm công việc này): Sau khi đánh dấu các die sai hỏng, wafer được đưa đến dây chuyền cắt, loại bỏ die sai hỏng, nối dây từ các pad trên die tới các chân trên package (bonding). Hiện nay đóng gói phát triển như một lĩnh vực riêng, không đơn thuần bonding wire nữa, dùng ball, rồi nối die to die, hàng nghìn wire truyền tín hiệu tốc độ cao, … Có nhiều các loại package khác nhau.
Kiểm tra (Testing): Trước khi giao cho khách hàng, các IC (chip) được kiểm tra để đảm bảo các thông số đúng như thiết kế và loại trừ những sai hỏng do quá trình đóng gói tạo ra. Cùng với nó là các kết quả kiểm tra ESD, Latch-up, Burn-in (tuổi thọ IC,) EMI/EMC, đạt các tiêu chuẩn chất lượng đặc thù cho từng loại ứng dụng
Các việc chế tạo mask; fabrication; wafer out; test wafer; cắt và đóng gói (assembly & packaging); test . . . thì kỹ sư thiết kế tương tự không trực tiếp làm nhưng cũng cần biết để phối hợp.
Trong phạm vi kinh nghiệm của mình thì kỹ sư tương tự sẽ cần để ý những khía cạnh sau:
[1] Ngoài việc thiết kế mức top level một IC thuần mạch analog, kỹ sư tương tự chủ yếu làm việc mức module/IP. Module/IP này dùng trong các SoC, do đó kỹ sư tương tự cần hiểu rõ đồng nghiệp mình ở mức top level cần gì, sẽ cần hiểu và làm quen với verilog model, timing database, liberty, lef, .db, … việc chạy theo để support cho đồng nghiệp làm SoC là cũng rất mệt.
[2] Testing, đây là vấn đề liên quan đến giá thành (thời gian test) nên bên cạnh việc đảm bảo performance còn phải đảm bảo mạch analog có thể test được, test dễ dàng và hiệu quả. DFT_Design for Test cũng là vấn để kỹ sư tương tự cần chú ý.
[3] Debug silicon, khi silicon có vấn đề thì kiến thức analog ví dụ như ESD, Latch-up, Power, Noise, Clocking, sẽ cũng khá mệt mỏi. Nói vui một chút, kỹ sư chỉ chuyên thiết kế digital, không quan tâm mức transistor level chỉ quan tâm thuật toán thì họ chỉ nhảy vào khi lỗi đó được chứng minh do thuật toán sai (ít xảy ra, nêú có thì có thể temporary fix bằng firmware) nên kỹ sư digital ít áp lực hơn kỹ sư analog. Lỗi chủ yếu do implementation chứ ít khi digital code sai (nếu có lại do đội verify chưa check kỹ) Analog dễ mắc sai lầm hơn nên debug silicon đôi khi là những kỷ niệm buồn.
-
Tháng Năm 27, 2021 vào lúc 8:08 Chiều #280
-
Tháng Tám 2, 2021 vào lúc 6:30 Chiều #503
-
-
Tháng Tám 1, 2021 vào lúc 2:17 Chiều #454::
Bài số 2: Tổng quan các phần tử cơ bản và phần mềm dùng cho thiết kế vi mạch tương tự.
Nếu bên digital có quá nhiều phần mềm hỗ trợ, đến mức với mỗi công nghệ, phía nhà máy sản xuất thường đưa ra các reference flow tương ứng với từng phần mềm, nếu tự bịa flow thì phải là kỹ sư rất nhiều kinh nghiệm mới được tin tưởng để làm flow, và việc này cũng hãn hữu; với kỹ sư thiết kế analog, phần mềm ít hơn chủ yếu vẽ mạch và simulation, layout editor, DRC, lvs, RC extraction, flow thì ai cũng biết phải làm gì nên việc còn lại là lọc lấy thông tin về devices cần thiết trong tài liệu design manual của công nghệ. Với công nghệ càng thấp thì tài liệu design manual càng dài. Với nhà máy sản xuất càng uy tín thì chất lượng tài liệu càng tốt. Đôi khi cũng không nên tin tuyệt đối tài liệu cung cấp bởi nhà máy sản xuất, nếu mình thấy có điểm chưa rõ ràng hoặc thấy hơi vô lý thì nên feedback lại cho họ để họ xác nhận hoặc cải tiến, như thế thì tốt cho mình và cũng tốt cho các đồng nghiệp sau này được đọc tài liệu với chất lượng tốt hơn.
[1] Các phần tử cơ bản trong thiết kế vi mạch tương tự sử dụng công nghệ CMOS có thể kể đến là:các phần tử tích cực (active) như MOSFET, BJT, DIODE và các phần tử thụ động (passive) như tụ điện và điện trở. Cấu tạo và nguyên tắc hoạt động của các phần tử này sẽ được đề cập chi tiết ở những bài viết tiếp theo, trong phạm vi bài viết này, mình chỉ đề cập tới khía cạnh sử dụng các thông số kỹ thuật của các phần tử này trong hoạt động thiết kế.
Thông thường nhà sản xuất (fabrication/fab) sẽ cung cấp chi tiết các thông số kỹ thuật và công nghệ cho các phần tử cơ bản kể trên. Người kỹ sư sẽ dựa vào các thông số này để:
– lựa chọn dùng loại phần tử nào trong mạch, ví dụ mosfet cũng có nhiều loại mosfet, có thể chia theo các mức voltage mà mosfet chịu được, mosfet thêm các giếng (well) riêng biệt chịu nhiễu tốt, dùng cho ESD, … Hay bipolar Transistor cũng có nhiều loại, loại riêng cho bandgap, loại thường, … kỹ sư nên đọc kỹ mô tả để sử dụng cho đúng. Đặc biệt lưu các notes trong tài liệu, nhiều khi người ta bảo lần tape out này một số devices này là không available, ta cứ dùng thiết kế bình thường tới lúc Tape-Out mới “À” là oác luôn.
– tính toán, phân tích, thiết kế và layout mạch điện, ví dụ gain, dòng rò, điện trở sheet, … Các thông số này khác nhau với mỗi công nghệ (0.18um; 0.13um, 90nm, 65nm, 40nm, 28nm …) và thông số có một khoảng xê dịch tương ứng đối với vị trí hình học của IC trên wafer, giữa các wafer với nhau hay giữa các lần chế tạo khác nhau. Chính vì vậy nếu thết kế một mạch điện mà chất lượng hay phẩm chất của mạch điện phụ thuộc quá nhiều vào các các thông số này thì đó sẽ không được gọi là một thiết kế tốt, người kỹ sư phải liên tục tìm tòi sáng tạo, cải tiến mạch điện để ngày càng ít phụ thuộc vào khoảng xê dịch công nghệ.Ví dụ: hệ số khuếch đại của mạch điện dùng MOSFET thông thường phụ thuộc vào thông số gm và ro tuy nhiên hai thông số này phụ thuộc rất nhiều vào công nghệ và rất khó kiểm soát. Để có thể khiểm soát hệ số khuếch đại tốt hơn người kỹ sư thường dùng cấu trúc mạch khuếch đại có thông số điện trở ra phụ thuộc vào thông số của một điện trở mà giá trị của nó ít biến đổi theo công nghệ hơn so với MOSFET.
Một ví dụ khác: thiết kế mạch có chức năng làm điện áp tham chiếu dựa trên VBE thì sự thay đổi của VBE theo nhiệt độ ~ -2mV/oC là không thể tránh khỏi. Vì vậy để đạt độ chính xác cao (~0.5%) mạch điện áp tham chiếu được thiết kế sử dụng cấu trúc mạch band-gap cùng với mạch trimming điện trở (cho phép chỉnh giá trị điện trở sau khi chế tạo để đưa điểm hoạt động (operation point) của mạch band-gap về vị trí trung tâm.
Tuy nhiên trong thiết kế, người kỹ sư sẽ đứng trước sự lựa chọn giữa phẩm chất và giá thành chế tạo. Nếu dùng tụ poly-poly thì cần chế tạo hai lớp poly dẫn đến giá thành chế tạo cao, trong những thiết kế mà phẩm chất của mạch vẫn “có thể chấp nhận được” nếu sai số của tụ điện lớn thì người kỹ sư sẽ dùng MOSFET làm tụ.[2] Người kỹ sư khi thiết kế phải tính (W/L) khá nhiều nên ở giai đoạn thiết kế nguyên lý nếu ai có kỹ năng excel thì sẽ nhàn kha khá. Ngày trước khi không có nhiều công cụ phụ trợ các kỹ sư thường dùng giấy và bút, giờ một số anh chị vẫn hay quen dùng cách này (hand calculation). Nên kỹ sư tương tự dùng khá là tốn giấy bút của công ty.
Ở bước mô phỏng thì có những loại chuẩn bị dữ liệu đầu vào sau người kỹ sư cần chú ý:
– file model của các linh kiện để ở đâu, có những option nào (typ, fast, slow)
– file netlist mô tả mạch điện để ở đâu, chọn view nào, schematic, hay modeling, hay post layout extraction, …
– file điều khiển phần mềm mô phỏng (hoặc config qua GUI) chủ yếu để ra lệnh, điểu khiển hoạt động tính toán của phần mềm như tính toán điểm hoạt động tĩnh (.DC), tính toán phẩm chất mạch ở miền tần số (.AC) hoặc tính toán hoạt động liên tục của mạch theo thời gian (.TRAN) nhiệt độ, plot waveform, … Ở mức tổ hợp lớp trên cùng, một IC có thể bao gồm hàng chục nghìn linh kiện và để tính toán mô phỏng tất cả các trường hợp (coner case) của mạch điện là rất mất thời gian và không thực tế. Do đó ở quy mô ~100 linh kiện đối với các mạch chức năng cơ bản, yêu cầu kiểm tra mô phỏng tất cả các trường hợp với sự thay đổi theo công nghệ (fast/slow/typical), điện áp (high/low/typical) và nhiệt độ (high/low/typical) gần như là quy định bắt buộc. Và chỉ cần mô phỏng một trường hợp typical ở lớp tổ hợp trên cùng (top-level) là đủ để kiểm tra sự chính xác việc kết nối các khối chức năng và đảm bảo hoạt động cơ bản của IC. Ở mức độ phức tạp, lựa chọn các waveform cần thiết cần được chú ý nếu không file mô phỏng sẽ rất nặng. Phần mềm sẽ tự động lưu lại tất các điểm nhiều khi đợi nửa tiếng mới mở được waveform.Về cơ bản chi phí license trả cho nhà cung cấp ở mức design là thấp so với mức trả cho phần mềm ở công đoạn layout mặc dù phần mềm thiết kế và mô phỏng cũng khá phức tạp. Đứng ở phía nhà cung cấp phần mềm, nhiều khi thiết kế thì cho free cũng được để anh em thiết kế nhiều, đên bước layout thì nghĩa là đối tác mong muốn đem đi sản xuất, đến khi đó tính tiền license cao mới đã, đối tác không có cách nào từ chối. Chính vì lý do này mà anh chị em layout thiệt thòi hơn trong việc có license để nghịch, số license toàn ít hơn số người nên tranh nhau suốt. Nhưng như thế cũng tốt vì kỹ sư phải cẩn thận vì nếu lỡ làm bừa đợi đến lượt có license sẽ mất khá nhiều thời gian.
- Phản hồi này đã được điều chỉnh 3 years, 3 months trước bởi Nguyễn Thanh Yên.
- Phản hồi này đã được điều chỉnh 3 years, 3 months trước bởi Nguyễn Thanh Yên.
-
Tháng Tám 1, 2021 vào lúc 2:20 Chiều #455::
Bài số 3: Thiết kế layout vi mạch tương tự.
Trong thiết kế vi mạch nói chung thì bước thiết kế layout thông thường nằm ở giai đoạn cuối (back-end) của chu trình thiết kế. Khi hoàn thành bản thiết kế layout, đồng nghĩa với việc sẵn sàng để làm mask để đúc chip (Bài số 1 mình có giới thiệu đường dẫn tới loạt bài của bác Paddy, các bạn đọc thêm để hiểu đúc chip cũng như các thuật ngữ ví dụ như Photo Lithography). Có thể hiểu đơn giản mask là những tấm phim âm bản để các máy đúc chip dựa trên đó tạo ra các linh kiện và các đường nối, biến sơ đồ thiết kế hình học thành chip vật lý (silicon) Chính vì vậy mà đôi khi thiết kế layout cũng được gọi là thiết kế mask.
Thiết kế layout cũng có thể chia thành mấy môn phái chính: thiết kế full-custom, thiết kế semi-custom và auto PnR. Thiết kế layout cho vi mạch tương tự đa số là thiết kế full-custom, tức là người thiết kế phải tiến hành thực hiện tất cả các bước một cách thủ công. Người kỹ sư đọc kích thước hình học và các yêu cầu matching của từng linh kiện trong mạch điện nguyên lý rồi đặt, vẽ từng đường poly, metal, chèn contact và via để hiện thực hoá từng đường kết nối logic (net) như vẽ trong mạch điện.
Không như trong thiết kế layout vi mạch số, người thiết kế chỉ cần cung cấp “các đầu vào thích hợp – constraints bằng text” còn việc thực hiện đặt và nối sẽ được các công cụ thiết kế tự tiến hành. Thiết kế vi mạch số có thể tiến hành với hàng triệu cổng nên không thể làm bằng tay được. Do đó, mạch số được thể hiện dưới dạng code (là file text – Netlist) chứ không phải là dạng đồ hoạ hình vẽ. Anh chị em layout tương tự mà nhìn sản phẩm layout của anh chị em layout mạch số là choáng váng luôn.
Công việc của kỹ sư trưởng thiết kế layout thường đi mức top, từ sơ đồ lead frame nhận được từ bộ phận sản xuất, đưa ra sơ đồ bonding (giờ package to không dùng bonding nữa mà dùng ball với RDL để nối các pad với nhau trước khi đưa ra pin của IC – ball mapping) Cơ bản sơ đồ này chứa thông tin:
– vị trí các pad (dựa vào thông tin chân của IC)
– kích thước pad (dựa vào thông số dòng điện, tần số … , thông tin này cần tham vấn bộ phận test- DFT tăng tần số test cho nhanh tiết kiệm thời gian nhiều khi không phải muốn là làm được)
– loại pad (vào/ra/pg/…) và cấu trúc ESD thích hợp.
Sơ đồ này sẽ được kiểm tra và cần có sự đồng ý của tất cả các bộ phận liên quan. Vì việc này quan trọng không chỉ với thiết kế layout mà còn đối với nhiều bộ phận khác đặc biệt là test và assembly. Từ đây bộ phận test có thể bắt đầu công việc của mình như thiết kế probe card, tính toán các yêu cầu số lượng needles, dòng cung cấp, … cũng như tiến hành làm các kế hoạch sản xuất đối với bộ phận assembly.Đó là với kỹ sư trưởng, với đa phần anh chị em ta thì công việc mà người thiết kế cần làm trước khi bắt đầu tiến hành thiết kế layout mạch điện là nghiên cứu công nghệ dùng để chế đúc chip:
– Xem công nghệ có những linh kiện (devices) nào, cấu trúc guard ring, isolation, STI hay local oxidation isolation, min/max metal line (design rule.) Đối với người thiết kế layout thì những thông tin về diện tích là rất quan trọng, người thiết kế có bao nhiêu khoảng trống để vẫy vùng là có thể tìm thấy và ước lượng ở bước nghiên cứu công nghệ này.
– Các thông tin không kém phần quan trọng khác có thể kể đến là tên các lớp định nghĩa trong công nghệ tương ứng như thế nào với tên mà phần mềm (ví dụ Cadence) quy định cũng như mã các Mask. Ở đây hình vẽ các mặt cắt ngang của các linh kiện là rất cần thiết để hiểu vai trò và tác dụng của các lớp cũng như các phần tử ký sinh.Một số phần mềm layout có thể kể đến là Cadence Virtuoso Layout Editor, Custom Compiler, LEdit, Klayout …Các phần mềm này cho phép thể hiện hình vẽ các biểu tượng linh kiện tích cực và thu động trong mạch điện thành những khối đa giác hình học. Làm việc với những phần mềm này thường sẽ trải qua các bước sau (ví dụ cụ thể với Cadence):
[1] Làm việc ở cửa sổ Virtuoso Layout Window (Tools > Design Synthesis > …)
Ở bước này, công việc chính là “đọc” hình vẽ mạch điện, đặt tất cả các linh kiện lên “mặt bàn” sau đó sắp đặt các linh kiện theo đúng hướng dẫn trong mạch điện (linh kiện nào cần match, lưu ý các linh kiện nối trực tiếp tới pad, có yêu cầu đặc biệt về nhiệt hay không, …). Lưu ý việc đọc mạch điện nên đọc ở chế độ “read only” cho “an toàn”.
Việc đặt các linh kiện và nối các đường dây phải tuân thủ theo một bộ tiêu chuẩn được cung cấp từ nhà sản xuất gọi là (Design Rule). Nếu vi phạm các tiêu chuẩn này thì có thể nói là chip sẽ không có khả năng sản xuất được. Kiểm tra các tiêu chuẩn này gọi là chạy DRC (design rule check)[2] Chạy DRC (Virtuoso > Verify > DRC)
Để chạy DRC thì cần tối thiểu một bản layout và một file quy định các tiêu chuẩn .rul (file này rất quan trọng, do đó thường khai báo đường dẫn đến file này ở lựa chọn “Rules File”, hoặc file này sẽ được cài đặt sẵn). Sau khi chạy xong, chúng ta có thể nhìn thấy file kết quả và các thông báo lỗi. Thông thường trong lần chạy đầu tiên sẽ có khá nhiều lỗi (>>1000) nên để debug từng lỗi một chúng ta có thể vào Verify > Markers > Explain. Quá trình này chỉ kết thúc khi chúng ta có một bản báo cáo DRC “error free”. Đôi khi vẫn còn error nhưng nếu người kỹ sư biết chắc chắn có thể bỏ qua được thì tất cả error này cần được ghi lại cùng với lời giải thích để tiện truy cứu sau này.[3] Chạy LVS
Ở bước này thông thường gồm hai bước, đầu tiên là linh kiện và các đường nối sẽ được đọc ngược lại từ bản layout (extraction) sau đó là so sánh các đường nối (checking connectivity.) với netlist tạo ra từ bản vẽ nguyên lý mạch điện. Nếu có bất kỳ sự khác biệt nào về số lượng linh kiện và đường nối thì cần phải tìm và sửa lại cho đến khi nhận được thông báo “LVS clean”. Nếu trong mạch điện có một linh kiện được nối tắt, thì LVS sẽ bỏ qua, do đó người thiết kế cần phải cẩn thận trong việc quyết định nối những linh kiện đó vào đường nguồn hoặc đất để đảm bảo không có lỗi về các linh kiện ký sinh.
Lưu ý: người kỹ sư thường phải làm thêm một bước “đóng gói mạch điện nguyên lý” thành một block với khai báo các pin vào/ra đầy đủ như một mạch IC hoàn chỉnh trước khi chạy LVS. Và khi chạy LVS cũng cần khai báo đường dẫn tới file VLSrul.Sau khi hoàn thành layout tất cả các mạch ở mức block như vậy thì có thể tiến hành ghép “top”, nối đường nguồn, ESD, … Và cũng cần DRC, LVS, PERC, … clean trước khi xuất ra .gds file (File > Export > Streamout)
Hiện nay, công việc thiết kế mạch điện và công việc layout mạch điện được tách ra cho hai bộ phận chuyên trách là thiết kế và layout. Và đôi khi công việc layout không yêu cầu kỹ sư nắm rõ mạch điện mà chỉ cần hiểu rõ ở mức linh kiện và thành thạo sử dụng các tính năng của phần mềm thiết kế. Do đó, xuất hiện một số yêu cầu mang tính tổng quát khi tương tác với bộ phận layout để công việc được tiến hành trơn tru nhất.[A] Yêu cầu đối với bộ phận thiết kế:
– Cần chỉ rõ trong bản vẽ mạch điện tất cả các linh kiện có yêu cầu về matching, đồng thời với yêu cầu về mức độ matching. Ví dụ, với yêu cầu cao nhất về mức độ matching thì người kỹ sư layout sẽ không đặt đường dây kim loại (metal) đi ngang qua các linh kiện vì thông thường các đường dây kim loại này sẽ làm thay đổi giá trị linh kiện. Đặc biệt với mạch điện delta Vbe.
– Cần mô tả các đường dây nối có dòng điện lớn chạy qua, thường là sẽ làm đậm đường dây đó lên, nhưng tốt nhất là ghi giá trị dòng điện chạy qua vì như thế người kỹ sư layout có thế tính toán được kích thước bề rộng đường dây nối.
– Nếu cần thiết “star-ground” cho từng khối thì cũng cần phải chỉ rõ đường nguồn và đất trong bản vẽ. Như thế người kỹ sư layout sẽ biết là cần phải tạo đường nguồn và đất riêng cho khối đó.
– Một số tín hiệu quan trọng và nhậy cảm cũng nên được chỉ ra rõ ràng là cần được shield ở mức độ nào. Mức độ cao nhất là tạo “một ống kim loại” bao bọc đường dây tín hiệu đó.
– Các cell/block cần đặt cạnh nhau, đặt cạnh PAD vì lý do timing hoặc tín hiệu không được vắt ngang nhau, tạo kết nối hồi tiếp không mong muốn thì cũng phải nói rõ để anh chị em layout biết (cái này sẽ được đề cập ở bài viết floor-plan riêng)Yêu cầu với bộ phận concept, product test
Bộ phận layout nhất thiết phải nhận được sự đồng ý từ bộ phận concept, product test về bản floorplan của mình trước khi tiến hành các bước kế tiếp, nếu không sẽ phải trả một giá rất đắt sau này. (Giá cho probe card tính theo đơn vị ngàn USD). Thông tin về vị trí pad, số lượng pad, kích thước pad và bonding là rất quan trọng.
Thông thường, bộ phận marketing, application và concept sẽ quyết định lựa chọn loại package nào sẽ được dùng sau khi gặp gỡ khách hàng ( Cần bao nhiêu chân để có thể thực hiện tất cả các chức năng khách hàng yêu cầu; yêu cầu mức tiêu tán công suất trên package là bao nhiêu? (thiết kế nhiệt cho package)
Do bộ phận marketing và application cung cấp thông tin về kích thước chip, số lượng chân, số lượng pad. Nhưng số lượng pad thật sự thường lớn hơn số lương pin vì có thể có yêu cầu thêm test pad từ bộ phận test, …Vì vậy bộ phận assembly cần gửi ra thông tin các quy định thiết kế assembly, bao gồm các kích thước giới hạn của bond pad, chiều dài giới hạn dây nối (bond wire), đường kính giới hạn dây nối, góc giới hạn nối dây, vật liệu dây nối dây, … để đội layout biết trước khi tiến hành làm floorplan.
Mình tạm dừng bài viết này ở đây, hẹn các bạn ở bài viết kế tiếp về floor-plan và matching.- Phản hồi này đã được điều chỉnh 3 years, 3 months trước bởi Nguyễn Thanh Yên.
-
Tháng Tám 1, 2021 vào lúc 2:25 Chiều #459::
Bài số 4: Floor planning trong thiết kế layout vi mạch tương tự.
Floor-planning là giải bài toán xác lập vị trí các khối chức năng cấu thành lên mạch điện cuối cùng của một chip, định vị tốt thì các bước sau đó sẽ khá thuận lợi. Thông thường khi vị trí các pad đã được cố định tương đối thì có thể bắt đầu thiết kế floorplan.
Để bắt đầu thiết kế floorplan nhất thiết người thiết kế phải cần biết vị trí cạnh, góc và trung tâm của chip sẽ chịu những điều kiện stress như thế nào. Tấm silicon nhìn thế thôi nhưng rất mong manh dễ vỡ vì nó được cấu thành như những lát cắt và được mài, tác động vật lý rất nhiều (máy sản xuất đắt một phần là vì thế)
Thông thường, áp lực lên các cạnh và góc của chip sẽ lớn hơn ở vị trí trung tâm của chip. Do vậy các khối chức năng “nhạy cảm” nhất của chíp như khối điện áp tham chiếu và khối dao động sẽ được bố trí ở vị trí trung tâm của chip. Điều này cũng tương đối, nghĩa là xét theo một phạm vi diện tích nhỏ thì sẽ như vậy. Khi đến level SoC thì người ta lại cố gắng để các khối hardmacro (nhiều khi là rất nhạy cảm) ở rìa chip, mạch digial thường ở trung tâm chip, tạo thành hình thế “lake view”. Nhưng dứt khoát khối như ADC hay Bandgap phải cách cạnh chip tầm 200um. Khoảng 200um đấy có thể để PAD, ESD, ring cho crack detection (automotive hay dùng món này để phát hiện khi cắt wafer, die có bị crack ở rìa không)
Dưới đây là một số lưu ý khi thiết kế floorplan mà mình góp nhặt được
[1] Đặt các khối nhạy cảm ở vị trí trung tâm và xa nguồn phát nhiệt nhất có thể (đặc biệt lưu ý ảnh hưởng nhiệt với khối dao động). Tốt nhất là khối phát ra nguồn nhiệt nên được đặt ở vị trí rìa.
[2] Ở vị trí góc sẽ chịu nhiều stress hơn là so với các cạnh, do vậy không nên đặt các phần tử “active” ở vị trí góc. Thường ở các vị trí góc này chỉ nên đặt dây kim loại (corner cell) Bí quá thì cũng có thể đặt nhưng cần review thật kỹ. Trên SoC kỹ sư digital sẽ để analog hardmacro ra rìa (aka lake view) do đó mình có thể take note là không được xoay, không được mirror theo X hoặc Y, để đảm bảo các device nhạy cảm không nằm ở rìa hoặc góc.
[3] Với thiết kế full-custom, thuật ngữ giới hạn pad (pad-limited) không hay gặp nhưng với thiết kế ASIC thì thuật ngữ này hay được dùng. Giới hạn pad có nghĩa là các pad sẽ xác định kích thước trục X và trục Y của chip và do đó số lượng PAD sẽ cố định kích thước chip ngay từ đầu. Tiếp đó, sẽ đặt các khối có kết nối tới pad gần pad. Nếu không thể đặt gần pad được, thì phải cố gắng làm ngắn nhất khoảng cách từ pad tới các khối, hay nói cách khác yêu cầu kết nối từ pad tới khối chức năng là ngắn nhất có thể. Và nên có thêm layout guideline để khi đồng nghiệp tích hợp khối của mình trên top biết cần chú ý gì.Ví dụ các bond pad nhất thiết phải được nối với ESD bằng đường kim loại dày và rộng nhất, để tín hiệu tới các khối chức năng sẽ phải đi qua ESD đầu tiên.
[4] Đối với các khối tiêu thụ dòng lớn switching, … thì các khối này sẽ tạo ra dòng substrate và để dòng này không ảnh hưởng tới các khối bên cạnh thì các khối này nên được đặt ở cạnh của chip và sau đó đặt các guard ring dày bao quanh cả khối đó. Các khối này cũng sinh nhiệt nên cũng cần đặt xa các khối nhạy cảm ra.
[5] Nếu chip không có điều kiện đặt nhiều P/G quanh chip thì power plan nên có đường power to (rộng) đi ngang qua chip từ nguồn để đảm bảo có đường ngắn nhất mang power từ nguồn phát tới cạnh xa nhất của chip. Sau đó cố kéo, bố trí các khối ăn nhiều dòng tới gần nguồn phát (beach view)
[6] Khi làm floor-plan cho IP, mình cần hiểu trên top chip level họ sẽ bố trí IP của mình như thế nào để từ đó định vị điểm tiếp nguồn và pin I/O cho hợp lý. IP ngon là kiểu hình vuông đối xứng, nguồn ở 4 góc, trên top xoay kiểu nào cũng chiều được nhưng món này khá khó, nếu đạt tới cảnh giới này thì thành nghệ nhân luôn.
-
Tháng Tám 1, 2021 vào lúc 2:26 Chiều #460::
Bài số 5: Matching trong thiết kế layout vi mạch tương tự.
Matching trong mạch điện tương tự là để đảm bảo identical giữa các linh kiện. Với mạch số việc matching này ít được đề cập vì tín hiệu số thường không quan tâm lắm nếu hai đường tín hiệu lệch nhau vài mV, nhầm 1 thành 0 hoặc ngược lại mới đáng lo. Mạch tương tự, mặc dù thiết kế hai linh kiện giống hệt nhau rồi nhưng khi layout vị trí hai lĩnh kiện và sai số do sản xuất nên hai linh kiện đó là không giống nhau hoàn toàn.
Để mô tả về matching, chắc mô tả về mismatch sẽ dễ hình dung hơn. Giả sử có hai linh kiện transistor design giống hệt nhau, nhưng khi đo Vbe thực tế, chúng ta thu được hai giá trị 0.7V và 0.705V, vậy mismatch sẽ là 0.005V. Mismatch này được đóng góp bởi (1) mismatch có tính hệ thống (systematic mismatch) và (2) mismatch có tính ngẫu nhiên (random mismatch). Và chúng được tính dựa vào số liệu đo thực tế từ N mẫu thông qua hai công thức độ lệch trung bình (mean deviartion) cho mismatch có tính hệ thống và độ lệch tiêu chuẩn mẫu (standard deviation) cho mismatch có tính ngẫu nhiên. (Các bạn tham khảo thêm ông bạn thân google). Diễn nôm thì nó là thế này: độ lệch có tính hệ thống tức là độ lệch được gây ra bởi một cơ chế mà có ảnh hưởng tới tất cả các mẫu theo cùng một cách thức; còn độ lệch tiêu chuẩn mẫu là độ lệch gây bởi những tác động có tính thống kê (ngẫu nhiên) trong quá trình sản xuất hoặc gây ra do phẩm chất của vật liệu không đồng đều.
Trong layout, mismatch có tính hệ thống bắt nguồn từ những yếu tố như sự tương tác qua lại trong quá trình khuếch tán, các ảnh hưởng cơ khí, hướng nhiệt (cùng là current mirror nhưng device ở gần nguồn phát nhiệt sẽ khác với device đặt xa nguồn phát nhiệt,) …Mismatch có tính ngẫu nhiên bắt nguồn từ những sự thay đổi rất nhỏ trong kích thước, nồng độ pha tạp, chiều dày oxide, … những thông số này là không thể tránh khỏi, nhưng kỹ sư design có thể làm làm giảm ảnh hưởng của chúng bằng việc lựa chọn giá trị và kích thước của các linh kiện.
Kỹ thuật matching trong layout là kỹ thuật sắp xếp các linh kiện sao cho chúng ít nhạy cảm nhất với những nguồn gây mismatch như:
– biến đổi nồng độ pha tạp (ảnh hướng tới điện trở vuông, …)- bề mặt hình răng cưa, mấp mô của các lớp vật liệu.
– sai số quá trình quang khắc bao gồm sai số mask, cảm quang, … (ảnh hưởng tới giá trị bề rộng linh kiện, chiều dài hiệu dụng, …)
– sai số quá trình ăn mònMột số nguyên tắc matching cơ bản trong layout
– Khoảng cách giữa các linh kiện nhỏ (giảm ảnh hưởng gradient)
– kích thước linh kiện lớn (giảm ảnh hưởng random)
– chia nhỏ device thành các đơn vị tiêu chuẩn (ví dụ layout mạch gương dòng tỷ lệ 1:2, thì thay vì layout một mosfet có W = 10um đặt cạnh một mosfet có W=5u, ta đặt hai mosfet có W=5um nối song song với nhau cạnh mosfet có W = 5um.)
– không sử dụng những hình dạng “kỳ quái” (ví dụ một cái hình chữ I đặt cạnh một cái hinh chữ L, mặc dù đảm bảo cùng chiều dài)
– chú ý đến chiều đặt linh kiện, tuyệt đối không xoay 90o hai linh kiện với nhau. Ví dụ cùng một dòng chảy vào hai linh kiện, thì một cái sẽ có sai khác deltaX một cái sẽ có sai khác deltaY do sai số quang khắc và ăn mòn theo chiều X và Y là khác nhau.
– dùng các linh kiện có vài trò dummy (hình nộm) Ví dụ một dãy gương dòng điện thì linh kiện đầu hàng và cuối hàng sẽ không giống như các linh kiện ở giữa hàng, do đó nên đặt hai linh kiện dummy ở cả hai đầu để đảm bảo tất cả các linh kiện đều là “trong hàng” cả, không phân biệt đầu hàng và cuối hàng.Thực tế không có cách nào có thể đảm bảo yêu cầu match cho tất cả các linh kiện, tuy nhiên một số mạch điện điển hình dưới đây, matching là rất cần thiết:
[1] Gương dòng điện: mạch này rất hay được dùng, và gương có “tốt” hay không là được quyết định bởi sự giống nhau của các đặc tính điện của thành phần tạo gương. Tùy vào yêu cầu cần gương tốt hay gương vừa vừa mà ta sẽ có kiểu match phù hợp.
Thông thường mạch gương dòng điện được “bias” bằng một dòng điện tham chiếu chuẩn do vậy dòng điện ở đầu ra phụ thuộc vào điện áp Vov=Vgs-Vt. Vì Vt thay đổi ít khi diện tích linh kiện thay đổi, do vậy trong gương dòng điện được “bias” bằng dòng điện chuẩn thì yếu tố diện tích ít tác động tới mismatch của dòng Id. Yếu tố tác động chính ở đây là Vov.
nMOS có hệ số mobility lớn hơn pMOS do vậy để có cùng một dòng điện Id thì pMOS cần Vov lớn hơn nMOS kết quả là dùng pMOS sẽ cải thiện được vấn đề mismatch và matching dòng điện phụ thuộc vào matching L hơn là W.
Tuy nhiên với linh kiện có W lớn và L nhỏ thì ta dùng kỹ thuật phân chia nhỏ W và mắc các linh kiện song song với nhau. Làm như vậy vì mỗi linh kiện nhỏ sẽ chỉ tác động một phần nhỏ tới Id. Nhưng điều này là không có ý nghĩa nhiều khi gương dòng điện có tỷ lệ khác 1 vì matching của tỷ lệ 1:n là khác matching của tỷ lệ n:1.[2] Cặp vi sai: mạch này cực kỳ quan trọng với vi mạch tương tự và phẩm chất của các mạch khuếch đại phụ thuộc chủ yếu vào sự giống nhau của hai transistor tạo thành cặp vi sai. Do đó, cặp vi sai luôn luôn đòi hỏi matching tốt nhất có thể.
Khuyếch đại vi sai hoạt động dựa trên sự cân bằng của hai thành phần đầu vào, Lý thuyết thì bất cứ một sai khác điện áp đầu vào deltaVin nào cũng sẽ gây ra một sai khác dòng điện đầu ra deltaIout. Nhân deltaIout này với trở kháng ra ta có deltaVout. Và gain của mạch vi sai là deltaVout/deltaVin. Lý thuyết thì mạch vi sai có gain vô cùng lớn. Nhưng do mismatch của cặp visai mà deltaVin to lắm rồi mà deltaIout chả đáng bao nhiêu. Cái khoảng deltaVin mà deltaIout bằng 0 là offset. Vì vậy điện áp offset là một thông số quan trọng của mạch.
Yếu tố matching của hai thành phần cân bằng đầu vào ảnh hưởng chủ yếu đến thông số offset của mạch qua đó tác động trực tiếp tới phẩm chất mạch. Nhiều khi anh em design và layout không hiểu nhau chỗ này. Design cứ bảo layout ko tốt, còn layout thì bảo design không tốt. Mà không biết rằng chip ra không tốt thì cả team toi. Nên cứ ngồi với nhau giảng giải hết cho nhau nghe khó khăn để cùng tháo gỡ.[3] Điện trở trong các mạch tạo điện áp tham chiếu, hồi tiếp: trong các mạch loại này, giá trị điện trở có thể thay đổi nhưng tỷ lệ giữa chúng cần phải giữ không đổi vì nó sẽ ảnh hưởng tới giá trị của điện áp tham chiếu. Do đó, điện trở cho các mạch điện loại này cũng cần được ưu tiên matching cao nhất có thể.
Ngoài ra, để tìm hiểu kỹ hơn các bạn có thể tìm đọc:
– The art of analog layout (Alan Hastings)
– IC Layout Basics: A practical guide; IC Mask Design: Essential Layout Techniques (Christopher Saint) -
Tháng Tám 1, 2021 vào lúc 2:29 Chiều #461::
Bài số 6: Mạch điện áp tham chiếu và dòng điện tham chiếu.
Phi lộ. Suy cho cùng các phần tử trong IC là cuộc dạo chơi tung hứng giữa dòng điện và điện áp. Càng biết nhiều các chiêu trò tung hứng chúng ta sẽ càng làm chủ được cuộc chơi. Và đặc biệt với IC tương tự các chiêu trò này rất đa dạng, phong phú, kể cả khi chúng ta chắc chắn lắm rồi thì vẫn còn những trường hợp thực sự bất ngờ. Đa phần IC lỗi là đến từ sự bất ngờ này.
Các mạch điện tương tự chính là tác giả trò tung hứng này. Và để có thể tung hứng biến đổi hai đại lượng này thì nhất định chúng cần điểm tựa. Điểm tựa này chính là các dòng điện tham chiếu (bias current) và điện áp tham chiếu (voltage reference)
Hai mạch điện tạo ra bias current (Ibias) và voltage reference (Vref) là không thể thiếu trong mỗi IC. Mặc dù nó rất quen thuộc và xưa lắm rồi nhưng nó vẫn có những điểm cuốn hút riêng và hàng năm vẫn còn những paper đề cập tới nó. Bài viết này sẽ đề cập một chút tới hai mạch điện cơ bản này.
1. Mạch tạo dòng tham chiếu:
– Có rất nhiều bài viết tuy nhiên bài viết của tác giả Afshin Haft-Baradaran ở đại học Toronto, tựa đề: “Basic and advanced current references” là tài liệu yêu thích của mình mỗi khi phải thiết kế mạch Ibias, các bạn có thể tham khảo. Theo mình, trong tài liệu này tổng hợp các mạch điện tạo dòng tham chiếu đang được dùng phổ biến hiện nay. P/S: Các bạn có tài liệu hay chia sẻ nhé.
– Một vấn đề hay gặp phải là tạo ra dòng tham chiếu có giá trị nhỏ ví dụ cỡ nA thì giá trị điện trở cần hàng trăm MOhm, giá trị điện trở sẽ rất lớn làm lãng phí tài nguyên layout nên tạo dòng tham chiếu chỉ dùng mosfet là lựa chọn hay được dùng. Nhưng độ chính xác của Ibias tạo ra so với biến đổi PVT (Process, voltage, temperature); và mạch kick start cho mạch điện cần được chú ý đặc biệt)Do đó khi mô phỏng nhớ dùng Monte-carlo cho yên tâm. (Gần như là bắt buộc.) Phân tích worst case là chưa đủ.2. Mạch tạo điện áp tham chiếu
Cũng giống như mạch tạo dòng tham chiếu, mình giới thiệu tài liệu “A Simple Three-Terminal IC Bandgap Reference” của “A. PAUL BROKAW” trên tạp chí IEEE JOURNAL OF SOLID-STATECIRCUITS,VOL.SC-9,NO. 6, DECEMBER 1974.
Mặc dù lâu lắm rồi, nhưng bandgap BROKAW là một thương hiệu các bạn rất nên đọc.
Mạch bandgap là cảm hứng sáng tác của rất nhiều sinh viên của các trường Châu Á, ví dụ
National Tsing Hua, Đài Loan hay Hokkaido, Nhật Bản. Các bạn cũng có thể tìm đọc.Ngày nay thiết kế bandgap cho công nghệ thấp, điện áp đầu vào thấp, lượng tiêu thụ dòng điện thấp, chống nhiễu tốt vẫn là bài toán đau đầu cho các kỹ sư thiết kế mạch tương tự.Trong đó mô phỏng noise, tạo noise model, inject vào chỗ nào vẫn là những đề tài thú vị.
Thú vị hơn nữa là auto calibration cho bandgap. Do sự tác động của quá trình sản xuất, đóng gói làm cho Vref không đúng như thiết kế, để đảm bảo có Vref đúng spec người kỹ sư thường dùng kỹ thuật trimming để đưa Vref về giá trị mong muốn (calibration) việc này cũng tốn time.Ý tưởng về auto-calibration (ví dụ dựa trên nhiệt độ auto trimming cho mạch band-gap) là có thể làm được nhưng để giải pháp thực sự chiếm ưu thế hơn giải pháp trimming truyền thống sẽ là một sáng tạo để đời. Chúng ta cố lên!
-
Tháng Tám 1, 2021 vào lúc 2:30 Chiều #462::
Bài số 7: Mạch OPAMP
Có lẽ OPAMP là mạch cơ bản của cơ bản của các kỹ sư thiết kế vi mạch tương tự. Và chắc anh em kỹ sư vi mạch tương tự đều đã đọc
“MOS Operational Amplifier Design – A Tutorial Overview,” được trích từ IEEE Journal of Solid-State Circuits, VOL.SC-17, No.6; pp.969-982, December 1982.Tài liệu được viết bởi hai thế ngoại cao nhân trong ngành là PAUL R.GRAY và ROBERT G.MEYERL.
Những công thức, phân tích dùng cho các thông số thiết kế cơ bản của một OP AMP cùng với các topology cơ bản được đề cập rất chi tiết. Phạm vi bài viết này mình muốn chia sẻ một số vấn đề cần lưu ý khi mô phỏng mạch opamp, nắm được các bạn sẽ không bị tẩu hoả nhập ma khi phải simulate tất cả các tổ hợp PVT và điện áp inputs.[1] Điện áp tối thiểu: là điện áp nguồn bé nhất mà mạch opamp vẫn hoạt động bình thường trong mọi điều kiện, do đó để tìm điện áp tối thiểu ta cần phân tích, mô phỏng mạch điện hoạt động ở trường hợp xấu nhất ví dụ: Vt lớn nhất –> slow case; mobility bé nhất–> nhiệt cao nhất; điện áp input maximum trong dải cho phép, . . .
[2] Input Offset: mô phỏng chỉ tìm ra offset hệ thống (systemic offset) còn random offset ta cần công thức thực nghiệm cho mỗi process để ước lượng. Thông thường để thu được offset chính xác ta cần đặt điện áp một đầu với tốc độ ramp-up chậm (ví dụ 1V/1ms) để giảm ảnh hưởng của delay tới kết quả đo được.
[3] DC loop gain và độ dự trữ pha (phase margin): Mô phỏng DC loop gain ta cần mở vòng hồi tiếp, đặt điện áp ac =1 ở đầu vào và đo điện áp ac đầu ra ( dùng .ac để mô phỏng trong miền tần số và vdb(out) để đo gain output). Để không ảnh hưởng tới hoat động DC của mạch ta cần giữ nguyên hồi tiếp DC và ngăn hồi tiếp AC, do vậy ta có thể dùng cuộn cảm L=1GH để nối giữa đầu ra và đầu vào. Tương tự để nguồn AC không ảnh hưởng tới DC của đầu vào ta dùng tụ điện C=1GF để nối giữa nguồn AC và đầu vào.
Để đảm bảo trong mọi điều kiện mạch không có dao động ta cần mô phỏng tất cả các trường hợp như biến đổi công nghệ (slow/fast), nhiệt độ . . .. Thông thường thời gian mô phỏng ac tính bằng đơn vị giây nên ta có thể làm được điều này mà không tốn quá nhiều thời gian và không cần tốn thời gian để phân tích worst case bằng tay. Hiện giờ tool cung cấp test component rất tiện nhưng chúng ta nên hiểu bản chất để đánh giá chính xác.[4] Vấn đề tiếp theo là mô phỏng back-annotation (post layout simulation.) Các mạch nhạy cảm với thông số ký sinh gây ra bởi quá trình layout thường được yêu cầu mô phỏng back-annotation. Nhưng mức độ phức tạp của netlist post layout sẽ làm tăng thời gian mô phỏng rất nhiều. Do đó các bạn cần lưu ý application của mạch opamp mà chọn option mô phỏng cho thích hợp. Có thể bỏ qua trở ký sinh chỉ mô phỏng với tụ điện ký sinh có giá trị đủ gây tác động đáng kể tới mạch (tụ từ net tới nguồn hoặc tụ điện giữa các net với nhau)
Với thiết kế có cả mạch số thì thông thường công cụ layout sẽ cho ra một file .spef (standard parasitic exchange format) sau đó công cụ chạy bước STA (Static Timing Analysis) sẽ đọc file .spef này và cho ra file .sdf (standard delay format). File .sdf chính là kết quả delay tính toán được từ dữ liệu trong file .spef và sẽ được dùng trong mô phỏng back-annotation cho mạch số.[5] Cuối cùng là các bạn cũng nên để ý file model. Model này thông thường do các hãng sản xuất (fab) cung cấp và đã được kiểm tra trên silicon. Nhưng có thể có thông số không được characterize mà dùng số mô phỏng TCAD đưa vào. Mình cần clarify với fab về file model đó.
Ngoài vấn đề mô phỏng, offset, noise và speed có lẽ là những chủ đề tốn rất nhiều giấy mực của anh chị em. Một kỹ thuật hay được dùng hiện nay để triệt tiêu dc offset là chopper. Bản chất của kỹ thuật này là băm (chop) tín hiệu vào bởi tần số chopper sau đó đưa lần lượt vào hai cổng IN+ và IN-. Diễn nôm: tín hiệu x nửa chu kỳ đầu đi vào device A, nửa chu kỳ sau đi vào device B của mạch khuyếch đại vi sai. Trong bài matching mình có đề cập dù cho thiết kế A và B giống nhau đến mấy thì nó vẫn có sai khác do chế tạo. Sai khác này là nguồn cơn của offset. Với mạch chopper, mặc kệ hai device có sự sai khác, tín hiệu đi qua cả hai device đấy nên offset do sự sai khác được triệt tiêu.
-
Tháng Tám 1, 2021 vào lúc 2:31 Chiều #463::
Bài số 8: Phân tích và thiết kế P-type Power Mosfer LDO
Phi lộ. LDO là chip đầu tiên mình được làm khi bập vào lĩnh vực vi mạch. Hồi đó (2004) tài liệu tham khảo chưa phổ biến như hiện nay, chủ yếu chỉ có các datasheet để đọc hiểu nguyên lý, các topology mạch LDO không có nhiều. Chắc vì thế mà giờ nhắm mắt mình cũng có thể vẽ lại được mạch điện đầu tiên đó. Mạch LDO rất đơn giản chỉ một tờ A4 nhưng mạch LDO mang trong mình khá nhiều kiến thức nền tảng. Cũng vì nó đơn giản nên nó low risk và giá rẻ, do đó LDO vẫn được dùng khá phổ biến hiện nay.
Khoảng chục năm trước, lấy cảm hứng từ cuộc thi “Analog IC design” do trung tâm ICDREC tổ chức (tối ưu hóa thiết kế mạch LDO.) Mình đã tìm và lược bớt một tài liệu khá chi tiết trong khoá học ECEN 607 (ESS) của trường Texas A&M University.
https://drive.google.com/file/d/1R-51I8cDemDvx1MWYsBctEPbUfOmvj7f/view?usp=sharing
Các bạn có thể tham khảo để hình dung việc thiết kế một mạch nó sẽ như thế nào, cần chuẩn bị gì và trình tự làm. Tài liệu gồm hai phần chính như sau:
[1] Phân tích: phần này dùng mô hình tín hiệu nhỏ để phân tích hoạt động của LDO. Mô hình tín hiệu nhỏ thực chất là sau khi mạch điện xác định được “điểm tựa” ổn định (stable DC voltage cho các node) thì nếu giả sử có biến động do tải, do điện áp đầu vào, do nhiễu (nhiệt, EM inject) ở đâu đó tác động thì mô hình tín hiệu nhỏ sẽ giải thích mạch LDO sẽ react trong khuôn khổ như thế nào.
Mục đích là để chúng ta hiểu khi mô phỏng các thông số cơ bản, chúng ta sẽ biết được là cần phải tối ưu phần nào, có thể là nâng hệ số khuyếch đại, bù pha để tăng ổn định với dải rộng của tải hay biến đổi theo nhiệt độ và công nghệ, hoặc nâng cao hệ số PSRR, . . .
[2] Ví dụ thiết kế PMOS LDO: phần này bao gồm:
– yêu cầu bài toán thiết kế và cấu trúc PMOS LDO. Thực tế spec các bạn nhận được cũng đại loại như thế.
– trình tự các bước (flow) mà người kỹ sư sẽ làm khi gặp bài toán này.
– tính toán nháp các thông số quan trọng (hand calculation). Thông số cơ bản của LDO cần thiết kế là: điện áp dropout, line regulation, load regulation, và vấn đề ổn định của vòng hồi tiếp âm.
– xây dựng mô hình mathlab/simulink cho hệ thống. Phần này các bạn tham khảo, các bạn dùng systemC cũng OK. Quan trọng mình muốn giới thiệu chúng ta hoàn toàn có thể mô hình hoá được LDO để kiểm tra mức lý thuyết các quyết định thiết kế của mình. Ngày xưa mình không biết món này nên nhiều khi bí, mò mẫm và thiếu tự tin.
– tính toán điểm cực và điểm không
– kết quả mô phỏng.
– các tài liệu tham khảo.- Phản hồi này đã được điều chỉnh 3 years, 3 months trước bởi Nguyễn Thanh Yên.
-
Tháng Tám 13, 2021 vào lúc 9:17 Chiều #550
-
Tháng Tám 14, 2021 vào lúc 10:32 Sáng #551::
Em thử lại xem nhé:
https://drive.google.com/file/d/1R-51I8cDemDvx1MWYsBctEPbUfOmvj7f/view?usp=sharing
Thân mến
-
-
Người viếtBài viết
- Bạn cần đăng nhập để phản hồi chủ đề này.