Các thanh ghi (Registers):

Một phần của tài liệu Bài giảng VHDL (Trang 88 - 90)

Khi chúng ta muốn lưu trữ 1 byte dữ liệu chúng ta phải kết hợp 8 flip-flop lại với nhau và chúng làm việc như 1 thành phần. Một thanh ghi chỉ là một mạch với 2 hay nhiều D flip- flop kết hợp lại với nhau bằng cách này tất cả chúng cùng làm việc chính xác với nhau và đồng bộ với 1 xung clock. Chỉ có 1 khác biệt là mỗi flip-flop trong nhóm được dùng để lưu trữ 1 bit khác nhau của dữ liệu.

Hình 2.45 chỉ ra 1 thanh ghi 4 bit với mức xóa không đồng bộ. Bốn flip-flop D tích cực mức thấp và dùng mức xóa không đồng bộ. Chú ý trong mạch các ngõ vào điều khiển Clk , WE‟, và Clear‟ được nối chung sao cho khi ngõ vào riêng biệt được tích cực, thì tất cả các flip-flop sẽ chạy chính xác với nhau. 4 Bit dữ liệu ngõ vào được kết nối từ d0 đến d3, trong khi đó 4 bit q0 đến q3 xem như 4 bit ngõ ra của thanh ghi. Khi chân cho phép ghi WE‟(write enable) tích cực mức thấp được tích cực. Ví dụ WE‟=0, dữ liệu tương đương trên chân d được lưu trữ vào thanh ghi (4 flip-flop) khi có cạnh xuống của xung clock tiếp theo. Khi WE‟ không tích cực, nội dung trong thanh ghi vẫn không đổi. Thanh ghi có thể được xóa không đồng bộ bằng cách tích cực chân Clear. Nội dung của thanh ghi luôn có trên các chân q, vì vậy không cần chân điều khiển đọc dữ liệu từ thanh ghi.

Hình 2. 45 : Thanh ghi 4 bit với mức xóa không đồng bộ.

Hình 2.46 chỉ ra ký hiệu logic của thanh ghi. Chân với số 4 trên tín hiệu d và q cho biết nó có độ rộng 4 bit vì vậy gọi là thanh ghi 4 bit.

Hình 2. 46 : Ký hiệu logic của thanh ghi.

Đoạn mã VHDL cho thanh ghi 4 bit. Chú ý mã này cũng giống cho D flip-flop đơn. Điểm khác biệt chính là dữ liệu ngõ vào và ra là 4 bit.

LIBRARY ieee;

USE ieee.std_logic_1164.all; ENTITY reg4 IS

PORT ( Clock, Clear, WE‟ : IN STD_LOGIC;

d : IN STD_LOGIC_VECTOR(3 DOWNTO 0); q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END reg4;

ARCHITECTURE Behavior OF reg4 IS BEGIN

PROCESS(Clock, Clear) BEGIN

IF Clear = '0' THEN

q <= (others => '0'); -- same as “0000” ELSIF Clock'EVENT AND Clock = '1' THEN

Chương 2 : Dùng ngôn ngữ VHDL mô tả các mạch số cơ bản q<=d; END IF; END IF; END PROCESS; END Behavior;

Tín hiệu mô phỏng cho thanh ghi chỉ ở hình 2.47. Chú ý trong giản đồ sóng khi WE‟ tích cực 200ns, ngõ ra q không đổi tức khắc khi ngõ vào có giá trị 5. Sự thay đổi xuất hiện ở cạnh lên tiếp theo của xung clock tại 300ns. Mặt khác khi Clear tích cực tại 600ns, q đựơc reset xuống 0 ngay.

Hình 2. 47 : Giãn đồ mô phỏng cho thanh ghi 4 bit.

Một phần của tài liệu Bài giảng VHDL (Trang 88 - 90)

Tải bản đầy đủ (PDF)

(137 trang)