Thông báo

Collapse
No announcement yet.

Analog IC design

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

  • hithere123
    replied
    Nguyên văn bởi Rommel.de Xem bài viết
    Các kỹ sư của Intel nhận thấy rằng rất nhiều thời gian các pipeline phải chờ do dữ liệu chưa tới. Vì vậy họ đưa ra kiến trúc hypethreading. Kiến trúc hyperthreading này cho phép chạy 2 thread trên cùng một phần cứng. Khi một lệnh của thread thứ nhất phải chờ thì phần cứng sẽ chuyển sang chạy lệnh của thread kia. Điều này rõ rằng làm tăng hiệu quả của phần cứng lên. Tuy nhiên cái giá phải trả cũng không rẻ chút nào. Kiến trúc pentium 4 có tần số đồng hồ rất cao nên chạy rất nóng tốn rất nhiều điện. Khi sử dụng kiến trúc hyperthreading thì chip lại nhiều điện và nóng hơn nữa. Các chip máy chủ khi sử dụng kiến trúc này đã nóng đến mức nhiều khi hoạt động không còn ổn định. Và kết quả là kiến trúc pentium 4 đã bị loại bỏ.
    Bạn Rommel.de đã chia sẻ một ví dụ rất hay. Hiện nay, theo mình các kỹ thuật thiết kế lowpower (power gating) đang rất "hot". Ở tầng cao (lập trình) đôi khi kỹ sư phải dùng assembly code để tối ưu hóa hiệu năng của CPU. Ở tầng thấp (thiết kế IC), mấy ông đầu bạc đang rất đau đầu để làm sao chip chạy nhanh mà lại không tốn power. Trước đây thì có clock gating; high/medium/low threshold voltage devices để tùy từng nhiệm vụ của block mà synthesis sao cho giảm thiểu leakage nhất, tiếp theo đó là trong cùng một chip mà có đến mấy mức điện áp khác nhau. Bây giờ thì power gating, tức là khi nào block nào cần hoạt động thì mới cấp điện áp, nếu không là tắt luôn cho đỡ tốn điện. Các bạn mà có ý tưởng thiết kế sao cho tiết kiệm điện năng nhất sẽ rất có giá trị. Mơ mộng một tí, có thể các công ty to sẽ về Việt Nam mở văn phòng để cho các bạn thực hiện ý tưởng đó cũng không biết chừng.

    Mình đồng ý với bạn Rommel.de là chúng ta không nên nghĩ những cái gì mà nó vượt quá tầm của mình, làm vi xử lý chạy nhanh hơn thì cửa để mình thành công là rất hẹp. Muốn cải tiến thì các bạn sẽ phải đọc và hiểu những gì họ đã làm được để từ đó tìm ra cái để cải tiến, nhưng trong thời gian các bạn đọc và hiểu đó thì họ đã nghĩ ra cái gì đó hay hơn rồi (đi sau thì luôn luôn là như vậy). Thay vì nghĩ cách để CPU nhanh hơn các bạn thử nghĩ cách để cpu chạy tốn ít power hơn xem thế nào.

    Leave a comment:


  • dvietd207
    replied
    Chào các anh và các bạn!

    Hiện tại có khá nhiều online courses miễn phí mà chất lượng từ các trường nổi tiếng, mọi người tham khảo nhé:
    Thông tin tổng hợp các courses có tại:
    Class Central • A complete list of free online courses offered by Stanford's Coursera, MIT's MITx, and Udacity

    Chi tiết các courses đó có thể xem tại:
    https://www.coursera.org/
    https://6002x.mitx.mit.edu/
    edX - Home

    Riêng em/mình đang take courses: circuits and electronics tại MITx, machine learning, CS101, intro to logic và Computer vision tại coursera.org và nhận thấy rằng các courses này khá thú vị. Chỉ tiếc là thời gian không có nhiều nên không thể học thêm một số courses khác.
    P/S: Sắp tới họ cũng open thêm course "Computer Architecture" nữa.
    Hi vọng các courses này (miễn phí) sẽ là một kênh thông tin nữa mang đến nhiều điều mới mẻ cho các bạn sinh viên Việt Nam chúng ta.

    Leave a comment:


  • Rommel.de
    replied
    Chào bạn Ngoclinh_xl,

    Pipeline chỉ là một trong rất nhiều kỹ thuật được sử dụng cho việc thiết kế vi xử lý mà thôi. Những thứ này người ta đã áp dụng từ cách đây cả mấy thập kỷ rồi. Điều tớ cố gằng muốn nói với bạn đó là phải biết trade-off. Làm thiết kế về một mặt nào đó cũng chẳng khác gì một anh đầu bếp nấu các món ăn cả. Tùy theo khẩu vị từng người, tùy theo món ăn mà ta phải nêm nếm thế nào cho đậm đà ngon lành nhất mà cũng phải rẻ nhất để bán được lời. Đó là cả một nghệ thuật đó bạn. Cố gắng tăng pipeline cũng khác gì cho thật nhiều bột ngọt vào món ăn, đâu phải lúc nào cũng là tốt. Các kỹ thuật sử dụng trong thiết kế vi xử lý đã được trình bày quá nhiều trong các sách báo nên dù có muốn tớ cũng chẳng thể nào liệt kê ra ở đây cho hết được.

    Tớ không rõ ở trường, bạn đã được học về kiến trúc máy tính hay chưa nhưng nếu như các giáo sư đã dạy bạn rồi thì kiến thức hiện nay của bạn về kiến trúc máy tính rất tệ. 2 quyển sách "Computer architecture a quantitative approach" và "Computer organization design hardware software interface" là 2 quyển bible trong lĩnh vực này. Nếu như bạn đã học tốt 2 quyển này rồi thì kiến thức của bạn có thể nói là đã qua mức cơ bản của người trong ngành. Nếu bạn muốn làm về lĩnh vực kiến trúc máy tính thì cố gắng nghiên cứu chuyên sâu thêm vài năm, đọc nhiều bài báo trong lĩnh vực rồi đi làm từ 5 đến 10 năm là sẽ thành chuyên gia thôi. Mặc dù đúng như bạn nói VN cũng có rất nhiều nhân tài. Tuy nhiên đáng tiếc là nhân tài mà không học thì cũng mù chữ. Ở VN nhân tài tuy nhiều nhưng chẳng có môi trường để phát huy tài năng của mọi người. Giống như một hạt giống tốt mà bị bỏ vào sa mạc thì cách gì phát triển nên cây cho được. Ngược lại người VN ra nước ngoài thành công rất lớn. Nếu có điều kiện thì bạn cố gắng sang Stanford làm PhD rồi làm việc 10 năm cho Qualcomm hay Intel là thành chuyên gia thôi.

    Còn chuyện tớ hơi thực dụng có lẽ tại tớ xa rời đảng và chính phủ ở lâu ngày với bọn lợn tư bẩn nên mấy thói xấu của bọn lợn tư bản nó nhiễm vào máu của tớ mất rồi. Đối với tớ làm gì (kể cả học tập nghiên cứu khoa học...) cũng chỉ nhằm một mục đích cuối cùng làm kiếm tiền. Nghiên cứu mà không ra tiền thì đừng có làm. Trên đời này thiếu gì thứ để làm sao không chọn những thứ làm ra tiền thay vì làm những thứ chỉ để chém gió. Lúc tớ còn trẻ như bạn cũng hơi thực dụng nhưng cũng vẫn mơ mộng lắm. Đến lúc bạn như tớ thì cũng sẽ chỉ quan tâm đến việc đi làm kiếm tiền về nuôi gia đình thôi. Nhưng mà mơ mộng một chút lúc trẻ cũng thú vị.

    Leave a comment:


  • ngoclinh_xl
    replied
    Chào bác Romel.de. Chắc lẽ bác vẫn chưa đọc kỹ comment của em rồi, em đoán là bác giật mình với những dòng cuối cùng trong comment trên của em.! Vâng! nó quá xa vời ! Nhưng em đã nói trên là những nhận định thiên kiến của em. Em cũng có ý kiến như sau:

    Nguyên văn bởi Rommel.de Xem bài viết
    Tớ phải công nhận bạn đúng là thần gió. Bạn chém kinh quá nhưng mà thật ra bạn không có kiến thức gì về thiết kế vi xử lý cả. Tớ xin lỗi khi nói như vậy nhưng đây là sự thật bạn nên tự xem lại thì mới có thể tiếp thu các kiến thức về thiết kế vi xử lý được.

    Chúng ta là những người làm kỹ thuật nên cái gì cũng phải rõ rằng chính xác không nên chém gió thành thần như mấy vị làm chính trị. Nghe lời mấy vị đó thì tư bản lẽ ra phải dãy chết từ lâu còn VN đã phải trở thành thiên đường cộng sản chủ nghĩa rồi.
    Một sinh viên năm 4 có chút ít kiến thức cách thức gia tăng tốc độ xử lý của cpu. những kiến thức đó được liệt kê ở trên để các bác nhận định xem có đúng không, rồi bủ sung, đưa ra nhận đinh mới. nhận định trong những dòng cuối comment của em là để khơi mào mọi người trong này cùng trao đổi kiến thức. Em nghĩ muốn thực hiện một dự định nào đó cần có ý tưởng và khơi mào ý tưởng đó để thảo luận chung trao đổi kiến thức. và cần nhất là thời gian. Bác nói em thần gió e hơi quá nhỉ , nhưng mà ko lo, có thần núi chặn gió rồi hề hề

    Tớ lấy ra đây cho bạn một ví dụ để bạn thấy suy nghĩ của bạn rất sai lầm nhé
    Em chưa hiểu là mình sai làm chỗ nào. Nếu bác nói tăng pipeline để tăng tốc độ xử lý của cpu là sai lầm, điều này em chưa hiểu. tất nhiên tăng pipeline đến giới hạn nò đó thôi. nhưng nhìn chung tăng pipeline thì tăng tốc độ xử lý cpu còn gì?

    Chip Pentium 4 của Intel là một thiết kế không hợp lý và sau nay đã bị loại bỏ và thay thế bằng kiến trúc centrino. Với kiến trúc pentium 4 người thiết kế muốn tăng tần số đồng hồ lên cao nhất (gần 4GHz) nên sử dụng rất nhiều đường pipeline (khoảng 32 stage). Mặc dù tần số hoạt động của chip pentium 4 tăng cao (cao hơn hẳn so với chip của AMD vào lúc đó) nhưng cái giá phải trả cho các đường pipeline là độ trễ trên các đường này tăng lên do việc chèn thêm flipflop. Khi độ trễ tăng lên thì trong một số trường hợp liên quan đến sự phụ thuộc của dữ liệu các đường chạy phải chờ. Ví dụ như bạn tính 2 phép như sau: A=B+C; D=A*2; Như vậy bạn phải chờ cho A tính xong giá trị mới tính tiếp được. Do độ trễ trên các đường này tăng lên nên hiệu suất hoạt động của vi xử lý giảm xuống. Để khắc phục việc phụ thuộc dữ liệu các kỹ sư của Intel đã làm rất nhiều thiết kế đặc biệt cho việc prediction tuy nhiên hiệu suất của các vi xử của Intel vẫn không vượt trội được các chip của AMD vào lúc đó. Các kỹ sư của Intel nhận thấy rằng rất nhiều thời gian các pipeline phải chờ do dữ liệu chưa tới. Vì vậy họ đưa ra kiến trúc hypethreading. Kiến trúc hyperthreading này cho phép chạy 2 thread trên cùng một phần cứng. Khi một lệnh của thread thứ nhất phải chờ thì phần cứng sẽ chuyển sang chạy lệnh của thread kia. Điều này rõ rằng làm tăng hiệu quả của phần cứng lên. Tuy nhiên cái giá phải trả cũng không rẻ chút nào. Kiến trúc pentium 4 có tần số đồng hồ rất cao nên chạy rất nóng tốn rất nhiều điện. Khi sử dụng kiến trúc hyperthreading thì chip lại nhiều điện và nóng hơn nữa. Các chip máy chủ khi sử dụng kiến trúc này đã nóng đến mức nhiều khi hoạt động không còn ổn định. Và kết quả là kiến trúc pentium 4 đã bị loại bỏ.
    Những người thiết kế vi xử lý họ thường có một phần mềm mô hình vi xử lý mà họ đang làm việc. Phần mềm này thường viết bằng C++. 2 phần mềm open source khá thông dụng trong giới học thuật là simperscalar và smtsim. Vì đây là loại open source nên các bạn có thể sửa lại code để mô phỏng cho phù hợp hơn với thiết kế của riêng mình. Tớ lấy ví dụ bạn thay đổi kiểu cache bên trong vi xử lý. Sau khi đã có được một mô hình tốt rồi, người ta mới cho chạy mô phỏng với các phần mềm benchmark để tính toán IPC (Instruction Per Clock cycle). Hiệu chính các thông số sao cho thiết kế là một trade-off tối ưu nhất.
    đây là những kiến thức quý báu mà chúng em cần. Đó là những tổng hợp khái quát về kết quả của những công trình của họ, ưu và nhược của kết quả đó. từ đó có được những kinh nghiệm và hướng đi mới. Thank bác rất nhiều

    Làm vi xử lý không phải là một ý tưởng hay đối với VN đâu bạn ạ. Các hãng nước ngoài đã phát triển vi xử lý trong một thời gian rất lâu và tích lũy được rất nhiều kinh nghiệm. Bạn có bao nhiêu khả năng cạnh tranh với những hãng lớn đây. Ngoài ra đây đã là một thị trường bão hòa nên nhiều khi người dùng quan tâm đến giá thành nhiều hơn nên lợi nhận rất kém. Tớ lấy ví dụ như bạn dùng một máy tính của Intel rất tốt, xem phim, chơi game vô tư, vậy bạn có ý định bỏ ra số tiền gấp đôi để mua một vi xử lý khác mà người ta nói rằng chạy nhanh hơn nhưng cũng chỉ để xem phim, chơi game hay không? Bạn có biết là 2 hãng lớn làm về RAM là Qimonda và Elpida đã bị phá sản hay không. Nói về nhân tài vật lực thì chắc chắn cả 2 hãng đều rất khủng. Tuy nhiên thị trường RAM thường là cạnh tranh về giá. Và vì thế khi thị trường bão hòa thì số lời nhỏ nhoi có thể sớm chuyển thành việc bị lỗ. Tớ luôn cho rằng VN nêu muốn tiến vào ngành thiết kế ASIC thì phải tìm ra một niche market nơi hiệu suất sinh lời cực cao, nhưng lại không phải đối đầu với những hãng lớn trên thế giới.
    Tư bản là đây. Vẫn biết lợi nhuận rất quan trọng. một hướng đi như em trình bày ở những dòng cuối của comment chỉ là một hướng đi, ko biết kết quả, mà bác đã đề cập đến vấn đề lợi nhuận. À rằng những kỹ sư đó rất giỏi , nhiều kinh nghiệm. Nhưng trí thức vn đâu thua kém đâu, điều này rõ trên các cuộc thi quốc tế. Cứ cho là VN sản xuất dc chip với công nghệ của mình, VN sẽ không cạnh tranh được với các hãng đó. Nhưng " à mấy anh tây ơi, tụi tôi có những công nghệ mới này, công nghệ mới giúp cho cpu của các anh hiệu năng hơn, chúng ta thỏa thuận làm ăn, các ăn sản xuất còn chúng tôi cung cấp công nghệ đó. " lợi nhuận đôi đường. mà vấn đề em quan tâm là làm sao để có được cpu hiệu năng nhất có thể thôi. chứ làm sao mà bàn tính lợi nhuận trong khi chưa có gì.

    Nếu hỏi tớ về việc thiết kế CPU ở mấy trường đại học Sài Gòn thì tớ luôn cho rằng chỉ là đùa cho vui. Làm ra chỉ để chứng minh là tôi cũng làm được như ai.
    Bác nói như vậy là không được . rõ ràng làm thiết kế phải đi từ dễ đến khó, cơ bản đến phức tạp. đúng là các sản phảm đó không có tính cạnh tranh nhưng là nền tảng. nói như bác muốn có được kiến thức về cpu hiện đại ngày nay như core5, core7 là phải mổ xẻ trực tiếp mấy dòng core đó ra sao. rồi mày mò tìm hiểu luôn mà không qua các nền tảng cơ bản.
    Thứ nhất tớ phải nói là "No free lunch". Bạn đừng mong đạt được một cái gì đó mà không phải trả giá. Vấn đề là bạn có thể trả giá được hay không? Chúng ta là những người làm kỹ sư. Khi chúng ta thiết kế một vi xử lý (tớ lấy ví dụ như vậy) thì chúng ta phải biết chúng ta cần cái gì và có thể trả giá được cái gì. Làm sao để chúng ta đạt được mục tiêu mà phải trả giá ít nhất. Cái đó gọi là trade-off. Vì thế chẳng có một thiết kế nào là tuyệt đối hay, mà vấn đề là làm thế nào để trade-off tốt nhất. Ngoài ra còn thêm một điều nữa tớ có thể nói thêm với bạn đó là cố gắng trả giá những cái hiện nay mình kém nhất. Cái mà hiện nay mình kém nhất thì thường có giá phải trả là rẻ nhất, nhưng lại đạt hiệu quả cao nhất. Ngược lại những gì mà hiện nay mình đã tốt rồi muốn tốt hơn nữa rất khó khăn, trả giá rất cao nhưng hiệu quả thường không được như mong đợi.
    đây là bài học rất thiết thực cho sự hình thành nhân cách. cảm ơn bác đã thẳng thắn.
    Last edited by ngoclinh_xl; 03-04-2012, 02:49.

    Leave a comment:


  • Rommel.de
    replied
    Tớ phải công nhận bạn đúng là thần gió. Bạn chém kinh quá nhưng mà thật ra bạn không có kiến thức gì về thiết kế vi xử lý cả. Tớ xin lỗi khi nói như vậy nhưng đây là sự thật bạn nên tự xem lại thì mới có thể tiếp thu các kiến thức về thiết kế vi xử lý được.

    Thứ nhất tớ phải nói là "No free lunch". Bạn đừng mong đạt được một cái gì đó mà không phải trả giá. Vấn đề là bạn có thể trả giá được hay không? Chúng ta là những người làm kỹ sư. Khi chúng ta thiết kế một vi xử lý (tớ lấy ví dụ như vậy) thì chúng ta phải biết chúng ta cần cái gì và có thể trả giá được cái gì. Làm sao để chúng ta đạt được mục tiêu mà phải trả giá ít nhất. Cái đó gọi là trade-off. Vì thế chẳng có một thiết kế nào là tuyệt đối hay, mà vấn đề là làm thế nào để trade-off tốt nhất. Ngoài ra còn thêm một điều nữa tớ có thể nói thêm với bạn đó là cố gắng trả giá những cái hiện nay mình kém nhất. Cái mà hiện nay mình kém nhất thì thường có giá phải trả là rẻ nhất, nhưng lại đạt hiệu quả cao nhất. Ngược lại những gì mà hiện nay mình đã tốt rồi muốn tốt hơn nữa rất khó khăn, trả giá rất cao nhưng hiệu quả thường không được như mong đợi.

    Tớ lấy ra đây cho bạn một ví dụ để bạn thấy suy nghĩ của bạn rất sai lầm nhé. Chip Pentium 4 của Intel là một thiết kế không hợp lý và sau nay đã bị loại bỏ và thay thế bằng kiến trúc centrino. Với kiến trúc pentium 4 người thiết kế muốn tăng tần số đồng hồ lên cao nhất (gần 4GHz) nên sử dụng rất nhiều đường pipeline (khoảng 32 stage). Mặc dù tần số hoạt động của chip pentium 4 tăng cao (cao hơn hẳn so với chip của AMD vào lúc đó) nhưng cái giá phải trả cho các đường pipeline là độ trễ trên các đường này tăng lên do việc chèn thêm flipflop. Khi độ trễ tăng lên thì trong một số trường hợp liên quan đến sự phụ thuộc của dữ liệu các đường chạy phải chờ. Ví dụ như bạn tính 2 phép như sau: A=B+C; D=A*2; Như vậy bạn phải chờ cho A tính xong giá trị mới tính tiếp được. Do độ trễ trên các đường này tăng lên nên hiệu suất hoạt động của vi xử lý giảm xuống. Để khắc phục việc phụ thuộc dữ liệu các kỹ sư của Intel đã làm rất nhiều thiết kế đặc biệt cho việc prediction tuy nhiên hiệu suất của các vi xử của Intel vẫn không vượt trội được các chip của AMD vào lúc đó. Các kỹ sư của Intel nhận thấy rằng rất nhiều thời gian các pipeline phải chờ do dữ liệu chưa tới. Vì vậy họ đưa ra kiến trúc hypethreading. Kiến trúc hyperthreading này cho phép chạy 2 thread trên cùng một phần cứng. Khi một lệnh của thread thứ nhất phải chờ thì phần cứng sẽ chuyển sang chạy lệnh của thread kia. Điều này rõ rằng làm tăng hiệu quả của phần cứng lên. Tuy nhiên cái giá phải trả cũng không rẻ chút nào. Kiến trúc pentium 4 có tần số đồng hồ rất cao nên chạy rất nóng tốn rất nhiều điện. Khi sử dụng kiến trúc hyperthreading thì chip lại nhiều điện và nóng hơn nữa. Các chip máy chủ khi sử dụng kiến trúc này đã nóng đến mức nhiều khi hoạt động không còn ổn định. Và kết quả là kiến trúc pentium 4 đã bị loại bỏ.

    Chúng ta là những người làm kỹ thuật nên cái gì cũng phải rõ rằng chính xác không nên chém gió thành thần như mấy vị làm chính trị. Nghe lời mấy vị đó thì tư bản lẽ ra phải dãy chết từ lâu còn VN đã phải trở thành thiên đường cộng sản chủ nghĩa rồi. Khi bạn thiết kế vi xử lý cũng vậy, bạn phải làm rất chính xác. Những người thiết kế vi xử lý họ thường có một phần mềm mô hình vi xử lý mà họ đang làm việc. Phần mềm này thường viết bằng C++. 2 phần mềm open source khá thông dụng trong giới học thuật là simperscalar và smtsim. Vì đây là loại open source nên các bạn có thể sửa lại code để mô phỏng cho phù hợp hơn với thiết kế của riêng mình. Tớ lấy ví dụ bạn thay đổi kiểu cache bên trong vi xử lý. Sau khi đã có được một mô hình tốt rồi, người ta mới cho chạy mô phỏng với các phần mềm benchmark để tính toán IPC (Instruction Per Clock cycle). Hiệu chính các thông số sao cho thiết kế là một trade-off tối ưu nhất.

    Làm vi xử lý không phải là một ý tưởng hay đối với VN đâu bạn ạ. Các hãng nước ngoài đã phát triển vi xử lý trong một thời gian rất lâu và tích lũy được rất nhiều kinh nghiệm. Bạn có bao nhiêu khả năng cạnh tranh với những hãng lớn đây. Ngoài ra đây đã là một thị trường bão hòa nên nhiều khi người dùng quan tâm đến giá thành nhiều hơn nên lợi nhận rất kém. Tớ lấy ví dụ như bạn dùng một máy tính của Intel rất tốt, xem phim, chơi game vô tư, vậy bạn có ý định bỏ ra số tiền gấp đôi để mua một vi xử lý khác mà người ta nói rằng chạy nhanh hơn nhưng cũng chỉ để xem phim, chơi game hay không? Bạn có biết là 2 hãng lớn làm về RAM là Qimonda và Elpida đã bị phá sản hay không. Nói về nhân tài vật lực thì chắc chắn cả 2 hãng đều rất khủng. Tuy nhiên thị trường RAM thường là cạnh tranh về giá. Và vì thế khi thị trường bão hòa thì số lời nhỏ nhoi có thể sớm chuyển thành việc bị lỗ. Tớ luôn cho rằng VN nêu muốn tiến vào ngành thiết kế ASIC thì phải tìm ra một niche market nơi hiệu suất sinh lời cực cao, nhưng lại không phải đối đầu với những hãng lớn trên thế giới. Nếu hỏi tớ về việc thiết kế CPU ở mấy trường đại học Sài Gòn thì tớ luôn cho rằng chỉ là đùa cho vui. Làm ra chỉ để chứng minh là tôi cũng làm được như ai. Những thiết kế đó chẳng có nổi 1% cơ hội cạnh tranh trên thị trường.

    Nguyên văn bởi ngoclinh_xl Xem bài viết
    vâng thank bác hithere123!
    qua tìm hiểu một số tài liệu! điển hình là cuốn "computer organization and design 4th ed d. a. patterson and j. l. hennessy" em có những nhận định như sau:
    - Sơ qua về cpu em đang design:
    cpu em đang thiết kế là single-cycle 32bit( sau đó mới chuyển qua thiết kế pipeline). Các khối chính là alu, registerfile, control...cả bộ nhớ lệnh và bộ nhớ dữ liệu cũng được thiết kế( trên quartus) đi kèm để nạp lệnh và mô phỏng trên model sim.
    - không biết có bác nào trong này chuyên sâu về mảng này không. Cpu tụi em thiết kế có tốc độ xử lý khoảng
    1/(8000*e12)=0.125GH. ( #8000 là chu kì xung clock )
    với cpu single-cycle thì mỗi chu kỳ xung clock cpu thực hiện xong một lệnh.
    + Nhận định của em( ko biết đúng không ) : Tại sao cpu single-cycle lại có tốc độ xử lý chậm như vậy?
    Rõ ràng nếu ta tăng tần số của xung clock thì tốc độ xử lý sẽ tăng. Đến đây em đã tang tần số lên thì ôi thôi rồi : độ trễ của chuỗi các công logic tổng cộng là khá lớn khiến lệnh này chưa kịp thực hiện xong thì lệnh khác đã ào tới khiến không lệnh nào thực thi được.
    => Cuối cùng tốc độ xử lý của cpu single cycle thấp là do dộ trễ của chuỗi các cổng logic. Nó giới hạn tần số của xung clock đưa vào.
    - pipeline là giải pháp cho trường hợp này . pipeline chia chuỗi công logic của cpu thành các tầng( thường là 4-5 tầng gì đấy )
    khi phân chia tâng cho cpu, thì dộ trễ mỗi cổng là thấp hơn, kết hợp với sự phối hợp của các khối điều khiển xung clock luan phiên cho các tầng nên tốc độ xử lý lệnh sẽ tăng lên.
    + nhân định thấy khi số tầng càng nhiều thì tốc độ xử lý sẽ nhanh hơn một cách tỉ lệ. Ví dụ với pipeline 5 tầng thì tốc độ sẽ tăng lên 5 lần so với cpu single-cycle( tất nhiên phải cấp xung clock 5 lân clock ban đầu).

    => cuối cùng : làm thế nào để tăng tốc cpu hơn nữa trong tương lai:

    thứ nhất : Hiển nhiên là thiết kế cpu tương đương càng ít cổng logic càng tốt , khi đó độ trễ của chuỗi cổng logic sẽ giảm nên tăng f của clock, tăng tốc độ xử lý của cpu.

    thứ 2 : tâng số tầng cpu (hồi trước em nhớ đọc số liệu của con card màn hình rời của em thấy gpu của nó 12 tầng. vãi đạn) . Vì tăng số tầng thì tốc độ tăng tỉ lệ.

    thứ 3 : cách gián tiếp : tăng độ dài lệnh lên nhiều bit hơn nữa. ví dụ lên 64 bit, 128 bit. khi đó tập lệnh sẽ là nhiều lệnh nhất có thể.
    ( ví dụ bạn thực hiện chương trình nào đó cần tới 5 lệnh 32 bit, thì trên 64 bit còn 2 lệnh, hoặc trên 128 bit chỉ còn 1 lệnh, do đó chương trình thực thi nhanh hơn )
    thứ 4 : Phát triển một ngôn ngữ mới ( improve từ MIPS chẳng hạn ) mà ngôn ngữ đó cho ra kiến trúc cpu tương đương đơn giản hơn, thực thi nhanh hơn. (cái này phải thánh à nha hì hì)

    thứ 5 : gián tiếp của gián tiếp : tăng dung lượng cache, ... ram, thay hdd bằng ssd...v.v


    trên là những nhận định của em, chút chia sẽ. ko biết cpu mới nhất hiện nay có mấy tầng pipeline nhỉ ?
    Em biết có một số bác chuyên sâu về mảng này? mong các bác chia sẽ những kiến thức của các cpu mới nhất hiện nay.
    Bên ICDREC có design thành công lần đầu tiên tại việt nam của người việt nam một chú vi điều khiển microprocessor "32-bit RISC VN1632"
    hàng đây: ICDREC website
    Em muốn cập nhật những công nghệ mới nhất của các vi xử lý hiện nay dùng công nghệ gì ? làm sao họ gia tăng được tốc độ xử lý của cpu nhiều đến thế? rồi khái niệm 2 nhân, 4 nhân, 6 nhân là sao? .....
    Thành thật khai với các bác là em muốn phát triển hướng đi mới để gia tăng tốc độ xử lý của cpu. từ đó xậy dựng kiến trúc cpu mới để đánh đấu với bọn tây các bác ạ. hì hì .

    Em maĩ chém gió quá các bác nhỉ hề hề

    Leave a comment:


  • ngoclinh_xl
    replied
    Nguyên văn bởi hithere123 Xem bài viết
    Chào bạn ngoclinh_xl,

    Tuy topic này ghi là analog nhưng từ trước đến nay mọi người cũng đề cập tới nhiều khía cạnh của thiết kế IC nói chung. Sẽ rất vui nếu bạn tiếp tục chia sẽ một chút về thiết kế của bạn.

    Chúc bạn thành công!
    Thân mến,
    vâng thank bác hithere123!
    qua tìm hiểu một số tài liệu! điển hình là cuốn "computer organization and design 4th ed d. a. patterson and j. l. hennessy" em có những nhận định như sau:
    - Sơ qua về cpu em đang design:
    cpu em đang thiết kế là single-cycle 32bit( sau đó mới chuyển qua thiết kế pipeline). Các khối chính là alu, registerfile, control...cả bộ nhớ lệnh và bộ nhớ dữ liệu cũng được thiết kế( trên quartus) đi kèm để nạp lệnh và mô phỏng trên model sim.
    - không biết có bác nào trong này chuyên sâu về mảng này không. Cpu tụi em thiết kế có tốc độ xử lý khoảng
    1/(8000*e12)=0.125GH. ( #8000 là chu kì xung clock )
    với cpu single-cycle thì mỗi chu kỳ xung clock cpu thực hiện xong một lệnh.
    + Nhận định của em( ko biết đúng không ) : Tại sao cpu single-cycle lại có tốc độ xử lý chậm như vậy?
    Rõ ràng nếu ta tăng tần số của xung clock thì tốc độ xử lý sẽ tăng. Đến đây em đã tang tần số lên thì ôi thôi rồi : độ trễ của chuỗi các công logic tổng cộng là khá lớn khiến lệnh này chưa kịp thực hiện xong thì lệnh khác đã ào tới khiến không lệnh nào thực thi được.
    => Cuối cùng tốc độ xử lý của cpu single cycle thấp là do dộ trễ của chuỗi các cổng logic. Nó giới hạn tần số của xung clock đưa vào.
    - pipeline là giải pháp cho trường hợp này . pipeline chia chuỗi công logic của cpu thành các tầng( thường là 4-5 tầng gì đấy )
    khi phân chia tâng cho cpu, thì dộ trễ mỗi cổng là thấp hơn, kết hợp với sự phối hợp của các khối điều khiển xung clock luan phiên cho các tầng nên tốc độ xử lý lệnh sẽ tăng lên.
    + nhân định thấy khi số tầng càng nhiều thì tốc độ xử lý sẽ nhanh hơn một cách tỉ lệ. Ví dụ với pipeline 5 tầng thì tốc độ sẽ tăng lên 5 lần so với cpu single-cycle( tất nhiên phải cấp xung clock 5 lân clock ban đầu).

    => cuối cùng : làm thế nào để tăng tốc cpu hơn nữa trong tương lai:

    thứ nhất : Hiển nhiên là thiết kế cpu tương đương càng ít cổng logic càng tốt , khi đó độ trễ của chuỗi cổng logic sẽ giảm nên tăng f của clock, tăng tốc độ xử lý của cpu.

    thứ 2 : tâng số tầng cpu (hồi trước em nhớ đọc số liệu của con card màn hình rời của em thấy gpu của nó 12 tầng. vãi đạn) . Vì tăng số tầng thì tốc độ tăng tỉ lệ.

    thứ 3 : cách gián tiếp : tăng độ dài lệnh lên nhiều bit hơn nữa. ví dụ lên 64 bit, 128 bit. khi đó tập lệnh sẽ là nhiều lệnh nhất có thể.
    ( ví dụ bạn thực hiện chương trình nào đó cần tới 5 lệnh 32 bit, thì trên 64 bit còn 2 lệnh, hoặc trên 128 bit chỉ còn 1 lệnh, do đó chương trình thực thi nhanh hơn )
    thứ 4 : Phát triển một ngôn ngữ mới ( improve từ MIPS chẳng hạn ) mà ngôn ngữ đó cho ra kiến trúc cpu tương đương đơn giản hơn, thực thi nhanh hơn. (cái này phải thánh à nha hì hì)

    thứ 5 : gián tiếp của gián tiếp : tăng dung lượng cache, ... ram, thay hdd bằng ssd...v.v


    trên là những nhận định của em, chút chia sẽ. ko biết cpu mới nhất hiện nay có mấy tầng pipeline nhỉ ?
    Em biết có một số bác chuyên sâu về mảng này? mong các bác chia sẽ những kiến thức của các cpu mới nhất hiện nay.
    Bên ICDREC có design thành công lần đầu tiên tại việt nam của người việt nam một chú vi điều khiển microprocessor "32-bit RISC VN1632"
    hàng đây: ICDREC website
    Em muốn cập nhật những công nghệ mới nhất của các vi xử lý hiện nay dùng công nghệ gì ? làm sao họ gia tăng được tốc độ xử lý của cpu nhiều đến thế? rồi khái niệm 2 nhân, 4 nhân, 6 nhân là sao? .....
    Thành thật khai với các bác là em muốn phát triển hướng đi mới để gia tăng tốc độ xử lý của cpu. từ đó xậy dựng kiến trúc cpu mới để đánh đấu với bọn tây các bác ạ. hì hì .

    Em maĩ chém gió quá các bác nhỉ hề hề

    Leave a comment:


  • ngvanbinh200
    replied
    Hello!
    Thesis-10-Bit 50MHz Pipeline AD Converter 20040108.pdf
    Understand data converter-TI.pdf

    Leave a comment:


  • hithere123
    replied
    Chào bạn ngoclinh_xl,

    Tuy topic này ghi là analog nhưng từ trước đến nay mọi người cũng đề cập tới nhiều khía cạnh của thiết kế IC nói chung. Sẽ rất vui nếu bạn tiếp tục chia sẽ một chút về thiết kế của bạn.

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

    Leave a comment:


  • ngoclinh_xl
    replied
    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..
    Chào việt đức! lâu rồi tớ mới vào forum! xuýt nữa tớ nghĩ học di làm rồi hì hì. Chán lên lớp lắm rồi. nay đang làm đồ án design cpu 32 bit(MISP) . Lại đụng đến mảng ic design này nên máu lắm. thức khuê coment đây. hề hề

    Leave a comment:


  • hithere123
    replied
    Chào bạn ngvanbinh200,

    Mạch buffer thường có gain bằng 1, tức là gain phải ở khoảng 0dB, nhưng kết quả mô phỏng của bạn là ~15dB. Có vẻ đây là open loop gain??? Nếu đúng là open loop gain thì ở DC, gain của bạn thấp quá, và close loop gain chỉ bằng 1/(1+1/A) ~ 0.85 (sai 15%).

    Ngoài ra bạn Rommel.de có chỉ ra một điểm bạn cần chú ý là mạch của bạn có đầu vào từ 0V, vậy bạn cần chọn đầu tầng thứ nhất là PMOS nhưng để đảm bảo đầu ra cũng là 0V thì không được đâu. Điện áp thấp nhất ở đầu ra sẽ bằng Vds của NMOS và điện áp này khoảng 100mV. Bạn sẽ không bao giờ đệm được 0V đầu vào.

    Thân mến,

    Leave a comment:


  • ngvanbinh200
    replied

    Mình chỉ up một hình test thử.con chuột bị hư nên tối về sẽ làm.
    Last edited by ngvanbinh200; 29-02-2012, 10:46.

    Leave a comment:


  • ngvanbinh200
    replied
    Nguyên văn bởi hithere123 Xem bài viết
    Chào ban ngvanbinh200,

    Không biết bạn đã phân tích các yêu cầu cần thiết trước khi bạn bắt tay vào thiết kế mạch opamp chưa. Nếu chưa thì mình nghĩ bạn nên làm điều này trước tiên.

    Theo như bạn mô tả thì bạn cần có một mạch có chức năng làm bộ đệm (buffer), tín hiệu vào của bạn từ 0 tới 1V, tần số lên tới 4MHz. Vậy giả sử sai số của bộ đệm là 1/1000 chẳng hạn thì bạn cần mô phỏng ac xem mạch buffer của bạn có đảm bảo gain ~ 0.999 tới 1.0001 trong khoảng tần số từ DC tới 5MHz không? Nếu kết quả mô phỏng chỉ đúng trong khoảng DC tới 1MHz thôi chẳng hạn thì thông tin bạn đưa lên (lệch 50mV) không phải là do offset mà do mạch opamp bạn thiết kế không đạt yêu cầu về gain-bandwidth. Mình nghĩ mạch của bạn rất nhiều khả năng rơi vào trường hợp này vì mô phỏng sẽ không ra được random offset, mà chỉ ra được systematic offset. Và thông thường system offset sẽ vào khoảng vài mV.

    Nếu giả thiết trên kia của mình không đúng thì bạn thử tăng L của linh kiện trong mạch gương dòng điện lên, chẳng hạn 5.4um hoặc 6.3um. rồi mô phỏng lại xem độ lệch của bạn có được cải thiện không. Nếu bạn chọn L = 0.18um thì lệch 50mV là có thể xảy ra, và nguyên nhân chủ yếu ở đây là độ chính xác của gương dòng điện rất kém.

    Hy vọng sẽ nhận được phản hồi tiếp theo của bạn về mạch opamp này vì thiết kế opamp là một thiết kế không bao giờ cũ, nó sẽ theo người kỹ sư trong suốt quá trình làm thiết kế vi mạch.

    Thân mến,

    P/S: Nếu bạn quét transient với tín hiệu vào với chu kỳ 20ns rồi đo tín hiệu ra so với tín hiệu vào thì có thể độ lệch ở đây là có đóng góp của delay nữa chứ không hẳn chỉ là offset. Để đo offset chính xác bạn cần cho tín hiệu vào thay đổi rất chậm ví dụ chân P = 0.5V cố định, chân N = 0 tới 1V trong khoảng 10ms, sau đó đo độ lệch giữa P và N tại thời điểm output chuyển từ vdd xuống gnd. Đây là cách đo systematic dc offset cho opamp.
    Cám ơn bạn.
    Mình sẽ mô phỏng mạch và gởi bạn các kết quả.
    Đúng nư bạn nói mình không có chuẩn để đánh giá đúng mạch thiết kế. Chỉ là tìm một toplogy rồi mò mẩm để đựoc kết quả thui.Mình sẽ up mạch và các kết quả mô phỏng. Nhờ bạn chỉ điểm nhiều hơn.

    Leave a comment:


  • Rommel.de
    replied
    Nguyên văn bởi ngvanbinh200 Xem bài viết
    Chào bạn Rommel.de!
    Đây là nguyên tên đề tài của mình:ERROR COMPENSATION TECHNIQUES FOR PIPELINE AD CONVERTERS
    Vởi các yêu cầu từ như sau:
    •Design a pipeline ADC 10 bit with following requests:
    Sampling rate: 50 MS/s
    Input max frequency: 4MHz
    Input range voltage:0-1V
    Number of resolution bits: 10
    Supply voltage: 1.8 V
    Process: CMOS TSMC 180nm
    •Apply one error compensation technique on pipeline ADC 10 bit and do simulation.
    •Do layout, simulate the whole design in two cases with and without using error compensation technique and write report.
    Mình hiện tại là làm backend-end cho thiết kế số (phần place and route dùng Astro). Đang chuẩn bị chuyển qua ICC.
    Cho nên phần thiết kế analog mình cũng ko có nhiều kinh nghiệm lắm. Phải nói analog làm lâu mới có nhiều kinh nghiệm.
    Mình cũng tham khảo nhiều tài liệu, nhiều bài báo và khá nhiều luận văn về đề tài này. Nhưng có những chổ đọc không hiểu. Đặc biệt là họ dùng OMAP nguồn đôi, phức tạp và thường hơn 2 tầng. Nhiều lần mình cố bắt chước nhưng mô phỏng không ra. Sách về analog thì nhiều nhưng mình cũng hơi lười nên đọc ko bao giờ xong. Chỉ dùng tool (Cadence5141) rồi quét các thông số W (L giữ nguyên) để phân cực,phân tích dc, ac. mình thấy OPAM là phần thiết kế quan trọng nhất. OPAM trong thiết kế của mình đóng vai trò là buffer. Hơn nữa vấn đề bị vướng của mình trong thiết kế này là mạch MDAC(Vout=2*vin-v(dac)), V(dac)=0, 0.5v, 1v tùy theo vin < 0.375V, 0.375v<vin<0.625V,1v> vin> 0.625v. Điện áp ngõ ra của tầng đầu tiên đã có sai số khá lớn 10mv->50mv. Mặc dù cuối cùng có mạch digital corection nhưng số bit resolution chỉ co 5 hoặc 6 trên 10. (với tín hiệu đầu vào là mức dc được quét từ 0,0.1,0.2...1v). Theo bạn thì mạch OPAM 2 tầng (dạng PMOS) phù hợp không? lúc mình học thì thầy chỉ tính toán các thông số OPAM ở công nghệ 0.6um nhưng khi làm công nghệ 0.18u thì ko có đủ thông số để tính nên mình ít tính toán. Bạn có thể chia sẽ cách tính cũng như ướt lượng thông số trong mạch analog ở công nghệ thấp này ko? một vấn đề nữa là mạch MDAC, mình dùng mạch charge-pump thì bị sai số lớn nhưng tín hiệu qua các tầng thì trong giới hạn biên độ điện áp. Còn khi dùng dạng mạch điện trở+OPAM thì sai số tại một tầng thấp nhưng tín hiệu qua các tầng thì sai sô vượt quá biên độ điện áp. Còn dùng dạng mạch switch-capacitor thì không chạy (cái này các bài báo hay dùng+ OPAM nguồn đôi). Bạn có thể chỉ mình loại mạch nào phù hợp trong thiết kế này ko? thanks
    Chào bạn Ngvanbinh200,

    Tớ không làm về ADC nên có nhiều cái tớ không rành lắm nhưng cũng đưa ra một số ý kiến như thế này.

    Ở đây tớ có một quyển sách "CMOS integrated analog to digital and digital to analog converters" bên trong có trình bày về các mạch ADC với đầy đủ thiết kế chi tiết và cả những mạch calibration. Bạn có thể tham khảo ở đây.

    cmos_integrated_analog-to-digital_and_digital_to_analog_converters__plassche .pdf

    Điểm thứ 2 tớ nghĩ rằng có lẽ bạn đang làm project trong trường đại học. Với những project trong trường đại học thì bạn nghiên cứu kỹ về các prior work (related work) và chứng minh được tính ưu việt của thiết kế mới do bạn hoặc thầy bạn đưa ra so với những thiết kế cũ này trên một số mặt nào đó. Tớ đọc các bài viết của bạn thì có lẽ bạn chưa nghiên cứu tốt về prior work. Trên thực tế việc calibrate lại cho ADC đã được làm từ rất lâu với rất rất nhiều thiết kế ưu việt. Tớ nghĩ rằng bạn nên nghiên cứu lại những prior work trước đây và sau đó phải chứng minh được thiết kế của bạn tốt hơn. Điều này không phải là dễ đâu vì người ta đã làm rất nhiều và rất tốt rồi.

    Điểm thứ 3 tớ muốn lưu ý bạn là bạn cho rằng offset của opam là quan trọng nhưng thực ra thiết kế ADC hay DAC sai số của điện trở hoặc tụ điện mới là vấn đề chính. Việc sử dụng điện trở hay tụ điện cũng tùy thuộc vào từng thiết kế. Ngoài ra tụ điện và điện trở còn thay đổi giá trị theo nhiệt độ. Bạn cũng phải lưu ý đến sai số do nhiễu. Mạch calibration của bạn chỉ có thể giúp bạn giảm sai số hệ thống nhưng không thể giúp bạn loại bỏ sai số ngẫu nhiên. Nhiễu tạo ra sai số ngẫu nhiên nên đây là vấn đề đặc biệt quan trọng. Nhiễu có nhiễu từ nguồn, nhiễu từ substract, nhiễu từ tín hiệu số...

    Một điểm nữa là bạn sử dụng mạch opam 2 tầng làm buffer cho tín hiệu lấy mẫu 50 MHz là quá cao. Mạch opam 2 tầng hiếm khi được đưa lên làm việc ở tần số này. Tớ cho rằng bạn nên sử dụng mạch folded cascode dùng làm tầng khuếch đại thì tốt hơn vì mạch cascode có ưu điểm là có thể làm việc với tín hiệu ở tần số trung bình nhưng vẫn có hệ số khuếch đại lớn. Nếu cần bạn mới đưa thêm một tầng buffer vào sau mạch cascode.

    Điểm cuối cùng tớ muốn lưu ý bạn là tín hiệu vào của bạn là từ 0V tức là nếu bạn dùng nguồn đơn thì không thể đưa trực tiếp tín hiệu này vào được. Bạn có thể cộng thêm một điện áp bias để tăng mức đầu vào tuy nhiên việc này cũng làm tăng sai số. Thứ nhất điện áp bias của bạn có thể không chuẩn, thứ 2 có thể mạch cộng thêm bias của bạn không chuẩn. Ngoài ra bạn có thể sử dụng charge pump để tạo nguồn điện áp âm giúp cho việc đưa trực tiếp tín hiệu 0V vào nhưng cái này làm tăng độ phức tạp của thiết kế.

    Leave a comment:


  • hithere123
    replied
    Chào ban ngvanbinh200,

    Không biết bạn đã phân tích các yêu cầu cần thiết trước khi bạn bắt tay vào thiết kế mạch opamp chưa. Nếu chưa thì mình nghĩ bạn nên làm điều này trước tiên.

    Theo như bạn mô tả thì bạn cần có một mạch có chức năng làm bộ đệm (buffer), tín hiệu vào của bạn từ 0 tới 1V, tần số lên tới 4MHz. Vậy giả sử sai số của bộ đệm là 1/1000 chẳng hạn thì bạn cần mô phỏng ac xem mạch buffer của bạn có đảm bảo gain ~ 0.999 tới 1.0001 trong khoảng tần số từ DC tới 5MHz không? Nếu kết quả mô phỏng chỉ đúng trong khoảng DC tới 1MHz thôi chẳng hạn thì thông tin bạn đưa lên (lệch 50mV) không phải là do offset mà do mạch opamp bạn thiết kế không đạt yêu cầu về gain-bandwidth. Mình nghĩ mạch của bạn rất nhiều khả năng rơi vào trường hợp này vì mô phỏng sẽ không ra được random offset, mà chỉ ra được systematic offset. Và thông thường system offset sẽ vào khoảng vài mV.

    Nếu giả thiết trên kia của mình không đúng thì bạn thử tăng L của linh kiện trong mạch gương dòng điện lên, chẳng hạn 5.4um hoặc 6.3um. rồi mô phỏng lại xem độ lệch của bạn có được cải thiện không. Nếu bạn chọn L = 0.18um thì lệch 50mV là có thể xảy ra, và nguyên nhân chủ yếu ở đây là độ chính xác của gương dòng điện rất kém.

    Hy vọng sẽ nhận được phản hồi tiếp theo của bạn về mạch opamp này vì thiết kế opamp là một thiết kế không bao giờ cũ, nó sẽ theo người kỹ sư trong suốt quá trình làm thiết kế vi mạch.

    Thân mến,

    P/S: Nếu bạn quét transient với tín hiệu vào với chu kỳ 20ns rồi đo tín hiệu ra so với tín hiệu vào thì có thể độ lệch ở đây là có đóng góp của delay nữa chứ không hẳn chỉ là offset. Để đo offset chính xác bạn cần cho tín hiệu vào thay đổi rất chậm ví dụ chân P = 0.5V cố định, chân N = 0 tới 1V trong khoảng 10ms, sau đó đo độ lệch giữa P và N tại thời điểm output chuyển từ vdd xuống gnd. Đây là cách đo systematic dc offset cho opamp.
    Last edited by hithere123; 29-02-2012, 03:32. Lý do: thêm ps

    Leave a comment:


  • ngvanbinh200
    replied
    Nguyên văn bởi dvietd207 Xem bài viết
    Chào bạn ngvanbinh200,

    Mình chưa làm mạch pipeline bao giờ, và cũng chưa nghiên cứu về nó, nhưng mình đang làm flash ADC, có thể kĩ thuật tính toán và reduce offset hơi khác nhau, nhưng mình viết ra để cùng chia sẻ và biết đâu những kiến thức ấy giúp bạn được phần nào.
    Offset của mạch flash ADc liên quan trực tiếp đến tầng preamplifier, nên mình tập trung vào việc tính toán đến gain của phần này...(tất nhiên là trong các bài báo có đề cập đến rất nhiều technique khác mình cũng chưa hiểu nên chưa thử áp dụng ), ví dụ 1LSB = 8mV, target for 0.5LSB accuracy, comparator: latch: 5mV/sqrt(W*L) nhé:
    => bắt đầu với requirement cho comparator input-referred offset: 3*sigma(offset) < 0.5LSB = 4mV
    => cộng thêm với preamplifier, gain với latch offset, ta có:
    3*sqrt{sigma(preamp)^2 + sigma(latch)^2/(G^2)} < 0.5LSB
    Như vậy với 3*sigma(latch) ~ 50mV (cái này mình define) và các parameters như trên, thì bạn sẽ tính được G > ~12
    => để giảm size của cặp vi sai tầng preamp, bạn tăng G lên chút, ví dụ 16-20, rồi quay lại công thức trên bạn sẽ tính được sigma(preamp) = 5mV/sqrt(W*L) < ~ hằng số.
    => Bạn sẽ tính toán được thông số quan trọng nhất của tầng này là W và L.

    Mình là sinh viên, nên chưa có kinh nghiệm nhiều nên dùng hand-calculation để ước lượng là chính.
    Mong các anh/các bạn có kinh nghiệm trao đổi thêm!
    Chao bạn Dvietd207!
    Cám ơn sự chia sẽ của bạn.
    Do mình ko co thời gian thiết kế trong linh vực này . Mình lại làm lĩnh vực khác nên các công thức tính mình cũng ít để ý. CHỉ dùng tool là chính.
    Để mình dành ít thời gian đọc lại sách về các công thức tính sẽ rút ngắn dc nhìu thời gian hơn.

    Leave a 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