Bộ chuyển song song thành nối tiếp 13 6-

Một phần của tài liệu Ngôn ngữ mô tả phần cứng với VHDL (Trang 137 - 138)

Bộ chuyển song song thành nối tiếp là một loại ứng dụng của thanh ghi dịch. Bộ chuyển đổi này sẽ thực hiện việc gửi đi một khối dữ liệu nối tiếp. Việc sử dụng bộ chuyển đổi này là rất cần thiết ví dụ: Trong các con chip ASIC, khi không có đủ các chân dư để cho ra đồng thời tất cả các bit dữ liệu. Khi đó chúng ta cần thiết phải sử dụng bộ chuyển đổi song song thành nối tiếp.

Sơ đồ khối của bộ chuyển đổi song song thánh nối tiếp được trình bày trong hình 9.15.

Hình 9.15.B chuyn song song thành ni tiếp

Trong đó:

+ d(7:0) là vector dữ liệu để gửi đi + dout là đầu ra thực tế.

+ clk: Đầu vào của xung clock + load: Đầu vào xác nhận

Vector d được lưu trữ đồng bộ trong thanh ghi dịch reg. Khi load ở

trạng thái cao thì dữ liệu được nạp vào thanh ghi dịch theo thư tự bit MSB là bít gần đầu ra nhất, và đầu ra là d(7). Mỗi khi load trả lại “0” thì bit tiếp theo

được xuất hiện tại đầu ra của mỗi sườn dương của xung đồng hồ. Sau khi tất cả

8 bit được gửi đi, đầu ra trở lại mức thấp cho đến lần chuyển đổi tiếp theo. Mã thiết kế như sau:

LIBRARY ieee;

USE ieee.std_logic_1164.all;

--- ENTITY Bo_chuyen_dl_ss_nt IS

PORT ( d: IN STD_LOGIC_VECTOR (7 DOWNTO 0); clk, load: IN STD_LOGIC;

dout: OUT STD_LOGIC); END Bo_chuyen_dl_ss_nt;

---

ARCHITECTURE Bo_chuyen_dl_ss_nt OF Bo_chuyen_dl_ss_nt IS SIGNAL reg: STD_LOGIC_VECTOR (7 DOWNTO 0);

BEGIN

PROCESS (clk) BEGIN

IF (clk'EVENT AND clk='1') THEN IF (load='1') THEN reg <= d;

ELSE reg <= reg(6 DOWNTO 0) & '0'; END IF; END IF; END PROCESS; dout <= reg(7); END Bo_chuyen_dl_ss_nt; --- Kết quả mô phỏng:

Hình 9.16. Kết qu mô phng cho b chuyn song song thành ni tiếp

Một phần của tài liệu Ngôn ngữ mô tả phần cứng với VHDL (Trang 137 - 138)

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

(150 trang)