Một thanh ghi dịch có bao nhiều loại tín hiệu vào ra

Thanh ghi dịch là một khối quan trọng phôt biến trong FPGA . Chúng được tạo ra bằng cách xếp tầng các Flip-Flop [Register] thành một chuỗi. Tất cả thanh ghi phải sử dụng cùng một clock và đầu ra của một thanh ghi phải được kết nối với đầu vào của thanh ghi tiếp theo trong chuỗi đó. Thanh ghi dịch chủ yếu được sử dụng để thực hiện một trong ba nhiệm vụ:

  1. Trì hoãn dữ liệu theo một số chu kỳ đồng hồ [tạo delay];
  2. Chuyển đổi dữ liệu nối tiếp thành dữ liệu song song;
  3. Chuyển đổi dữ liệu song song thành dữ liệu nối tiếp.

Tạo delay:

Tạo Delay trong một FPGA là việc sử dụng phổ biến nhất của thanh ghi dịch. Độ trễ thường được sử dụng để căn chỉnh dữ liệu đúng lúc. Hình dưới đây cho thấy kiểu thanh ghi dịch đơn giản này. Số lượng Flip-Flops trong chuỗi trì hoãn quyết định số lượng chu kỳ đồng hồ mà nó sẽ lấy cho dữ liệu trên đầu vào để truyền cho dữ liệu trên đầu ra. Vì vậy, trong hình dưới đây, nó sẽ mất bốn chu kỳ đồng hồ cho một đầu vào trên D trên Flip-Flop đầu tiên được nhìn thấy trên đầu ra Q của Flip-Flop cuối cùng. Đọc về các Processes trong VHDL hoặc Always Blocks trong Verilog để có hướng dẫn về cách tạo một thanh ghi thay đổi trong HDL của bạn.

Thanh ghi dịch- Từ D Flip-Flops

1

2

3

4

5

6

7

8

9

10

11

-- VHDL Example of Shift Register for Delay:

signal r_Shift : std_logic_vector[3 downto 0];

process [i_clock]

begin

  if rising_edge[i_clock] then

    r_Shift[3 downto 1]

Chủ Đề