END IF; WHEN YY =>

Một phần của tài liệu Thiết kế vi mạch bằng VHDL (Trang 107 - 110)

Chương 8: Mỏy trạng thỏ

END IF; WHEN YY =>

WHEN YY => r1<='0';r2<='0';y1<='1'; y2<='1'; g1<='0'; g2<='0'; nx_state <= RY; END CASE; END PROCESS; END state_machine_be; ---

Như ta thấy, số lượng Flip-flop đó dựng để thực hiện mạch là 15 cỏi: 3 cỏi cho lưu trữ trạng thỏi hiện tại, 12 cỏi cũn lại cho bộ đếm.

Để cú thể dễ dàng thấy kết quả mụ phỏng, ở đõy ta thực hiện giảm thời gian thực tế đi 100 lần.

Kết quả mụ phỏng được chỉ ra trong hỡnh dưới đõy: + Ở chế độ hoạt động bỡnh thường (stby = 0, test = 0):

Hỡnh 8.11.a. Kết quả mụ phỏng TLC ở chế độ hd bỡnh thường

+ Ở chế độ kiểm tra:

Hỡnh 8.11.b. Kết quả mụ phỏng TLC ở chế độ kiểm tra

Vớ dụ 8.6: Bộ phỏt tớn hiệu:

Chỳng ta muốn thiết kế một mạch mà từ tớn hiệu clock clk đưa ra tớn hiệu như trong hỡnh dưới đõy:

Hỡnh 8.12.Dạng tớn hiệu cần tạo.

Mó chương trỡnh:

---

ENTITY Bo_phat_tin_hieu IS PORT ( clk: IN BIT;

outp: OUT BIT); END Bo_phat_tin_hieu;

---

ARCHITECTURE state_machine OF Bo_phat_tin_hieu IS TYPE state IS (one, two, three);

SIGNAL pr_state1, nx_state1: state; SIGNAL pr_state2, nx_state2: state; SIGNAL out1, out2: BIT;

BEGIN

--- Phan mach day cua may 1: --- PROCESS(clk)

BEGIN

IF (clk'EVENT AND clk='1') THEN pr_state1 <= nx_state1;

END IF;END PROCESS; END PROCESS;

--- Phan mach day cua may 2: --- PROCESS(clk)

BEGIN

IF (clk'EVENT AND clk='0') THEN pr_state2 <= nx_state2; END IF;

END PROCESS;

---- Phan mach to hop cua may 1: --- PROCESS (pr_state1) BEGIN CASE pr_state1 IS WHEN one => out1 <= '0'; nx_state1 <= two; WHEN two => out1 <= '1'; nx_state1 <= three; WHEN three => out1 <= '1'; nx_state1 <= one; END CASE; END PROCESS;

---- Phan macôpt hop cua may 2: --- PROCESS (pr_state2) BEGIN CASE pr_state2 IS WHEN one => out2 <= '1'; nx_state2 <= two; WHEN two => out2 <= '0'; nx_state2 <= three; WHEN three =>

out2 <= '1'; nx_state2 <= one; END CASE;

END PROCESS;

outp <= out1 AND out2; END state_machine; (adsbygoogle = window.adsbygoogle || []).push({});

---

Kết quả mụ phỏng:

Hỡnh 8.13.Kết quả mụ phỏng cho vớ dụ 8.6

Một phần của tài liệu Thiết kế vi mạch bằng VHDL (Trang 107 - 110)