IV. GIỚI THIỆU VỀ MƠ HÌNH HÀNH
a. Delay quán tính:
Delay qn tính là mặc nhiên trong VHDL. Nếu khơng có kiểu delay được chỉ định thì delay qn tính được sử dụng. Delay quán tính là delay mặc nhiên bởi vì trong hầu hết các trường hợp thì nó thực hiện giống như thiết bị thực.
Giá trị của delay quán tính bằng với delay trong thiết bị.
Nếu bất kỳ xung tín hiệu có chu kỳ với thời gian của tín hiệu ngắn hơn thời gian delay của thiết bị thì giá trị tín hiệu ngõ ra khơng thay đổi.
Nếu thời gian của tín hiệu được duy trì ở một giá trị đặc biệt dài hơn thời gian delay của thiết bị thì delay qn tính sẽ được khắc phục và thiết bị sẽ thay đổi sang trạng thái mới.
Hình 2-4 là một ví dụ về kí hiệu bộ đệm rất đơn giản – có 1 ngõ vào A và một ngõ ra B, dạng sóng được trình bày cho tín hiệu ngõ vào A và ngõ ra B.
Tín hiệu A thay đổi từ ‘0’ sang ‘1’ tại mốc thời gian 10ns và từ ‘1’ sang ‘0’ tại mốc thời gian
20ns. Với các khoảng thời gian này cho phép xây dựng một xung hoặc xung nhọn có thời gian nhỏ
hơn 10ns. Cho bộ đệm có thời gian trể là 20ns.
Chuyển trạng thái từ ‘0’ sang ‘1’ trên tín hiệu A làm cho mơ hình bộ đệm được thực hiện và theo dự kiến thì giá trị ‘1’ xuất hiện ở ngõ ra B tại mốc thời gian 30ns.
Ở mốc thời gian 20ns, sự kiện tiếp theo trên tín hiệu A xảy ra (tín hiệu a xuống mức ‘0’) thì mơ hình bộ đệm dự kiến một sự kiện mới sẽ xảy ra trên ngõ ra B có giá trị 0 tại mốc thời gian
40ns. Trong khi đó sự kiện đã dự kiến ở ngõ ra B cho mốc thời gian 30ns vẫn chưa xảy ra. Sự kiện
mới được dự đốn bởi mơ hình bộ đệm xung đột với sự kiện trước và trình mơ phỏng ưu tiên cho sự kiện có mốc thời gian 30ns.
Kết quả của việc ưu tiên là xung bị nuốt (mất). Lý do xung bị nuốt là tuỳ thuộc vào mơ hình delay qn tính, sự kiện thứ nhất tại mốc thời gian 30ns chưa có đủ thời gian để hồn thành delay quán tính của tín hiệu ngõ ra.
Mơ hình thời gian delay qn tính thường được sử dụng trong tất cả các trình mơ phỏng. Trong hầu hết các trường hợp mơ hình delay qn tính đủ chính xác cho các yêu cầu của người thiết kế. Một trong những lý do cho việc mở rộng sử dụng thời gian delay qn tính là nó ngăn chặn thời gian trì hỗn của xung xun qua thiết bị.
Hình 2-4. Dạng sóng có delay qn tính của bộ đệm. b. Delay truyền tín hiệu
Delay truyền tín hiệu khơng phải là delay mặc nhiên của VHDL mà phải được chỉ định. Delay truyền tượng trưng cho delay dây dẫn, bất kỳ xung nào được truyền đến ngõ ra đều được delay với một giá trị delay theo chỉ định. Delay truyền rất có ích để xây dựng mơ hình thiết bị có trể trên đường dây, trên dây dẫn của bo mạch.
Nếu chúng ta xem mạch đệm đã được trình bày ở hình 2-4 nhưng thay thế các dạng sóng delay qn tính bằng các dạng sóng delay truyền thì chúng ta có kết quả như hình 2-5. Cùng dạng sóng của ngõ vào nhưng dạng sóng ngõ ra B thì hồn tồn khác. Với delay truyền thì các xung nhọn sẽ xuất hiện nhưng các sự kiện xếp theo thứ tự trước khi truyền đi.
Tại mốc thời gian 10ns, mơ hình bộ đệm được thực hiện và dự kiến một sự kiện ngõ ra sẽ lên mức ‘1’ tại mốc thời gian 30ns. Tại mốc thời gian 20ns mơ hình bộ đệm bị kích và dự đốn một giá trị mới sẽ xuất hiện ở ngõ ra tại mốc thời gian 40ns. Với thuật tốn delay truyền thì các sự kiện được đặt theo thứ tự. Sự kiện cho mốc thời gian 40ns được đặt trong danh sách các sự kiện nằm sau sự kiện của mốc thời gian 30ns. Xung không bị nuốt nhưng được truyền nguyên vẹn sau thời gian delay của thiết bị.
Hình 2-5. Dạng sóng có delay truyền của bộ đệm. c. Mơ hình Delay qn tính
Mơ hình tiếp theo trình bày cách viết một mơ hình delay qn tính. Giống như những mơ hình khác mà chúng ta đã khảo sát, delay mặc nhiên là delay qn tính do đó khơng cần thiết phải chỉ định kiểu delay là delay quán tính:
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
ENTITY buf IS
PORT (a: IN STD_LOGIC;
b: OUT STD_LOGIC);
END buf;
ARCHITECTURE buf OF buf IS
BEGIN
b <= a AFTER 20 ns ;
END buf;