4.3 Phương pháp phần tử trình tự tĩnh
4.3.4 Đặc trưng độ trễ của phần tử tuần tự
Các phần trước đã rút ra hiệu suất của phần tử trình tự về thời gian thiết lập và lưu giữ cũng như độ trễ lan truyền. Những sự chậm trễ này có liên quan lẫn nhau và được sử dụng cho mục đích lập ngân sách. Ví dụ: một flip-flop vẫn có thể nắm bắt thông tin đầu vào của nó một cách chính xác nếu dữ liệu thay đổi ít hơn một chút so với thời gian thiết lập trước cạnh xung đồng hồ. Tuy nhiên, độ trễ từ xung đồng hồ sang Q có thể khá lâu trong tình huống này. Cách tốt nhất để xác định các thông số thời gian này là giảm thiểu độ trễ D-to-Q tổng thể từ khi dữ liệu phải thiết lập cho đến khi đầu ra ổn định. Nếu chúng ta gọi tDC là thời gian mà dữ liệu thực sự thiết lập trước cạnh đồng hồ và tCQ là độ trễ thực tế từ đồng hồ đến Q, chúng ta có thể xác định tsetup là giá trị nhỏ nhất của tDC sao cho tCQ ≤ tpcq. Hơn nữa, chúng ta có thể chọn tpcq để giảm thiểu trễ thiết lập tsetup + tpcq. Trong phần này, chúng ta sẽ khám phá cách mô phỏng những sự chậm trễ này như thế nào.
Hình 4.28 cho thấy thời gian của một cú lật kích hoạt cạnh tĩnh thông thường từ hình 98-b.
Độ trễ được chuẩn hóa cho một biến tần FO4. Độ trễ thực tế clk-to-Q (tCQ) và D-to-Q (tDQ) đối với đầu vào tăng được vẽ biểu đồ dựa trên độ trễ D-to-clk (tDC), tức là dữ liệu đến được bao lâu trước khi đồng hồ tăng. Nếu dữ liệu đến rất lâu trước đồng hồ, tCQ là ngắn và về cơ bản độc lập với độ trễ tDC. tDQ = tDC + tCQ, vì vậy nó tăng tuyến tính khi dữ liệu đến sớm hơn vì dữ liệu bị chặn và chờ xung nhịp trước khi tiếp tục. Khi dữ liệu đến gần đồng hồ, tCQ bắt đầu tăng. Tuy nhiên, tDQ ban đầu giảm và đạt cực tiểu khi tCQ có hệ số góc -1 (lưu ý rằng các trục không được chia tỷ lệ).
Hình 0.109: Độ trễ của Flip-flop so với thời gian đến của dữ liệu
Do đó, chúng ta hãy xác định thời gian thiết lập tsetup là tDC mà tại đó tDQ tối thiểu này xảy ra và độ trễ lan truyền tpcq là tCQ tại thời điểm này. Độ trễ tccq là tCQ tối thiểu xảy ra khi đầu vào đến sớm. Thời gian giữ là độ trễ nhỏ nhất từ đồng hồ đến D thay đổi sao cho tCQ ≤ tpcq.
Nói chung, độ trễ sẽ khác nhau đối với đầu vào 0 và 1. Hình 4.29 biểu đồ tCQ so với tDC cho bốn kết hợp tăng và giảm D và Q. Thời gian thiết lập tsetup0 và tsetup1 là thời gian D phải giảm hoặc tăng tương ứng, trước xung đồng hồ để dữ liệu được bắt đúng cách với tDQ ít nhất có thể.
Quan sát rằng flip-flop này có thời gian thiết lập lâu hơn nhưng độ trễ truyền ngắn hơn đối với đầu vào thấp hơn so với đầu vào cao. Thời gian giữ thold0 và thold1 là thời gian mà D phải tăng hoặc giảm tương ứng sau đồng hồ để giá trị cũ của 0 hoặc 1 được thu nhận thay vì giá trị mới.
Quan sát rằng thời gian giữ thường là âm. Độ trễ tccq 0/1 một lần nữa là tCQ thấp nhất có thể và xảy ra khi đầu vào thay đổi tốt trước cạnh đồng hồ. Khi chỉ có một độ trễ được trích dẫn cho thông số thời gian flip-flop, thông thường nó là độ trễ tồi tệ nhất trong số các độ trễ 0 và 1.
Chiều rộng khẩu độ ta là chiều rộng của cửa sổ xung quanh cạnh đồng hồ trong đó dữ liệu không được chuyển đổi nếu flip-flop tạo ra đầu ra chính xác với độ trễ truyền nhỏ hơn tpcq. Thời gian khẩu độ cho các đầu vào tăng và giảm là:
tar = tsetup1 + thold0
taf = tsetup0 + thold1
Hình 0.110: Thời gian thiết lập và giữ flip-flop
Nếu dữ liệu chuyển tiếp trong khẩu độ, Q có thể trở nên di căn và mất một khoảng thời gian không giới hạn để giải quyết. Nếu D là một xung rất ngắn, flip-flop có thể không bắt được nó ngay cả khi D ổn định trong quá trình thiết lập và giữ thời gian xung quanh cạnh đồng hồ tăng. Tương tự, nếu xung đồng hồ quá ngắn, flip-flop có thể không thu được dữ liệu ổn định.
Các thư viện có đặc điểm tốt đôi khi chỉ định độ rộng xung tối thiểu cho đồng hồ và dữ liệu cũng như thời gian thiết lập và giữ.
Các chốt phân biệt mức có các hạn chế về thời gian hơi khác nhau vì đặc tính truyền đạt của chúng, như trong hình 4.30 đối với chốt tĩnh thông thường từ hình 4.12-g sử dụng độ rộng xung của độ trễ từ 4 bộ đảo FO4. Như với một flip-flop được kích hoạt, nếu dữ liệu đến trước khi đồng hồ tăng (tDCr > 0), nó phải đợi xung đồng hồ. Trong vùng này, độ trễ tCrQ của clock-to- Q gần như không đổi và tDQ tăng khi dữ liệu đến sớm hơn. Nếu dữ liệu đến sau khi xung đồng hồ tăng trong khi đảo, thì tDQ về cơ bản độc lập với thời gian đến. Dữ liệu phải được thiết lập trước khi cạnh xuống của đồng hồ xuất hiện. Nhãn thứ hai trên trục X cho biết thời gian rơi D- to-clk tDCf. Khi dữ liệu đến quá gần mép giảm, tDQ tăng lên. Bây giờ, để đạt được tDQ thấp, chúng tôi chọn thời gian thiết lập trước góc của đường cong, ví dụ: lớn hơn 5% so với giá trị tối thiểu của nó. Thời gian thiết lập được đo so với cạnh xuống của xung đồng hồ. Nếu dữ liệu thay đổi ít hơn thời gian giữ sau khi cạnh xuống của xung đồng hồ, Q có thể bị trục trặc trong
Hình 0.111: Độ trễ chốt so với thời gian đến dữ liệu
giây lát. Do đó, thời gian giữ cho một chốt được định nghĩa là -tDCf mà Q hiển thị trục trặc không đáng kể.
Các chốt xung có thời gian thiết lập và giữ được đo xung quanh mép cạnh xuống của xung đồng hồ. Tuy nhiên, các nhà thiết kế thường muốn coi các chốt xung như các flip-flop được kích hoạt cạnh từ góc độ phân tích thời gian. Do đó, chúng tôi có thể xác định thiết lập và lưu giữ "ảo" thời gian so với cạnh lên của xung đồng hồ. Ví dụ, chốt xung trong hình 4.30 có tsetup– virtual = tsetup - tpw = –2,4 FO4 nhưng tpcq – virtual = tpdq + (tpw - tsetup) = 4,06 FO4, do đó tổng trễ giải trình tự của tpdq = tsetup– virtual + tpcq–virtual không bị ảnh hưởng bởi sự thay đổi của tham chiếu hoặc độ rộng xung. Thời gian giữ ảo bây giờ là thold-virtual = thold + tpw = 2,6 FO4, là số dương như người ta mong đợi vì đầu vào phải giữ lâu sau cạnh tăng của đồng hồ.
Độ trễ thay đổi theo độ dốc đầu vào, điện áp và nhiệt độ. Độ trễ truyển đạt phải được đo trong môi trường có thời gian ngắn nhất trong khi thời gian thiết lập và giữ và độ trễ lan truyền phải được đo trong môi trường có thời gian dài nhất.
Nhà thiết kế có thể đánh đổi thời gian thiết lập, thời gian giữ và độ trễ lan truyền. Hình 101 cho thấy các tác động của việc thêm tbuf trễ vào các cực xung clock, D hoặc Q của một flip- flop. Nhớ lại rằng độ trễ giải trình tự phụ thuộc vào tổng thời gian thiết lập và độ trễ lan truyền trong khi độ trễ tối thiểu giữa các flip-flops phụ thuộc vào thời gian giữ trừ đi độ trễ truyền đạt. Việc thêm độ trễ trên đầu vào hoặc đầu ra sẽ giảm thiểu độ trễ tối thiểu. Nhiều thư viện cell tiêu chuẩn cố ý sử dụng flip-flops chậm để các nhà thiết kế logic không phải lo lắng về việc vi phạm thời gian lưu trữ. Thêm thời gian trễ trên xung đồng hồ chỉ đơn giản là thay đổi khi flop kích hoạt. Độ trễ giải trình tự không thay đổi, nhưng hệ thống có thể đáp ứng nhiều logic hơn trong chu kỳ trước và ít logic hơn trong chu kỳ tiếp theo. Điều này tương tự như việc mượn thời gian trong các hệ thống dựa trên chốt, nhưng phải được thực hiện có chủ đích bằng
Hình 0.112: Sự đánh đổi thời gian trễ
cách điều chỉnh xung đồng hồ thay vì cơ hội bằng cách tận dụng sự truyền đạt. Một số tác giả gọi việc trì hoãn xung đồng hồ là sự lệch xung đồng hồ có chủ ý.