thiết kế các khối mạch và tổ hợp thông dụng

57 578 0
thiết kế các khối mạch và tổ hợp thông dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LOGO “ Add your company slogan ” GIÁO VIÊN HƯỚNG DẪN:HOÀNG VÂN ĐÔNG NHÓM 8: PHẠM VĂN THÁI ĐỖ HỮU TUẤN ĐỀ TÀI THIẾT KẾ CÁC KHỐI MẠCH DÃY TỔ HỢP THÔNG DỤNG HÀ NỘI:Ngày 16 tháng 5 năm 2014 www.themegallery.com Khối chia số nguyên Khối nhân số nguyên Máy trạng thái hữu hạn Các khối nhớ Các khối cơ bản Các khối làm việc với số thực THIẾT KẾ KHỐI MẠCH DÃY TỔ HỢP THÔNG DỤNG www.themegallery.com I: Các khối cơ bản 1.1. Khối cộng đơn giản  Khối cộng đơn giản: thực hiện phép cộng giữa hai số được biểu diễn dưới dạng std_logic_vector hay bit_vector. Các cổng vào gồm hạng tử A, B, bit nhớ Cin, các cổng ra bao gồm tổng Sum, bit nhớ ra Cout: www.themegallery.com I: Các khối cơ bản  Code mô tả như sau : Bo cong don gian library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; useIEEE.STD_LOGIC_UNSIGNED.ALL; entity adder32 is port( Cin : in std_logic; A : in std_logic_vector(31 downto 0); B : in std_logic_vector(31 downto 0); SUM : out std_logic_vector(31 downto 0); Cout: out std_logic ); end adder32; architecture behavioral of adder32 is signal A_temp : std_logic_vector(32 downto 0); signal B_temp : std_logic_vector(32 downto 0); signal Sum_temp : std_logic_vector(32 downto 0); begin A_temp <= '0'& A; B_temp <= '0'& B; sum_temp <= a_temp + b_temp + Cin; SUM <= sum_temp(31 downto 0); Cout <= sum_temp(32); end behavioral; www.themegallery.com I: Các khối cơ bản 1.2. Khối trừ Xét ví dụ A = 10 = 1010, B = 5 = 0101 biểu diễn d ới dạng số có dấu 5- bit ta phải thêm bit dấu bằng 0 ƣ vào trước. A = 01010, Bù2(A) = not (A) + 1 = 10101 + 1 = 10110 B = 00101, Bù2(B) = not (B) + 1 = 11010 + 1 = 11011 Tính A – B: A 01010 01010 - = - = + B 00101 11011 1 00101 Loại bỏ bit nhớ ở kết quả cuối cùng ta đ ợc A – B = 00101 = 5. ƣ www.themegallery.com I: Các khối cơ bản Dựa trên tính chất trên của số bù hai ta chỉ cần thực hiện một thay đổi nhỏ trong cấu trúc của bộ cộng để nó có khả năng thực hiện cả phép cộng lẫn phép trừ mà không làm thay đổi lớn về tài nguyên logic cũng như độ trễ của mạch. Tại đầu vào sẽ bổ xung thêm tín hiệu SUB, tín hiệu này quyết định sẽ thực hiện phép cộng hay phép trừ. Khi SUB = 1 để lấy bù 2 của B sẽ lấy đảo B cho giá trị đầu vào Cin =1, để hiện thực trên mạch cấu trúc bộ cộng được bổ xung một khối MUX trước cổng B, khối này có hai đầu vào là B not B, nếu SUB= 0 thì B được chọn, nếu SUB = 1 thì not B được chọn. Đầu vào Cin được OR với SUB trước khi vào bộ cộng. Σ www.themegallery.com I: Các khối cơ bản Code mô tả bộ cộng trừ như sau : library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity adder_sub is port( SUB : in std_logic; Cin : in std_logic; A : in std_logic_vector(31 downto 0); B : in std_logic_vector(31 downto 0); SUM : out std_logic_vector(31 downto 0); Cout: out std_logic ); end adder_sub; architecture rtl of adder_sub is signal B_temp : std_logic_vector(31 downto 0); signal Cin_temp : std_logic; component adder32 is port ( Cin : in std_logic; A : in std_logic_vector(31 downto 0); B : in std_logic_vector(31 downto 0); SUM : out std_logic_vector(31 downto 0); Cout : out std_logic ); end component; www.themegallery.com I: Các khối cơ bản Code mô tả bộ cộng trừ như sau : begin Cin_temp <= SUB or Cin; MUX32: process (B, SUB) begin if SUB = '1' then B_temp <= not B; else B_temp <= B; end if; end process MUX32; add: component adder32 port map (Cin_temp, A, B_temp, SUM, Cout); end rtl; www.themegallery.com I: Các khối cơ bản 1.3. Khối cộng thấy nhớ trước  Độ trễ tổ hợp của khối cộng gây ra bởi chuỗi bit nhớ, bộ cộng nối tiếp có đặc điểm là độ trễ cao do đặc điểm của chuỗi bit nhớ là bit nhớ sau phải đợi bit nhớ trước nó. www.themegallery.com I: Các khối cơ bản  Như thấy trên hình vẽ thì thời gian trễ của chuỗi bit nhớ phải thông qua tối thiểu một cổng AND một cổng OR, nếu là bộ cộng 32-bit thì tổng thời gian trễ là thời gian trễ của 32 cổng AND 32 cổng OR.  Trên thực tế độ trễ của cổng AND, cổng OR gần tương đương nên để đơn giản ta xem độ trễ của một trong hai cổng này là một lớp trễ hay một ―level logic. Nh vậy bộ cộng nối tiếp có 32x2 = 64 lớp trễ. Phép cộng là một ‖ ƣ phép toán cơ bản sử dụng nhiều do vậy việc nghiên cứu, sử dụng các thuật toán tăng tốc bộ cộng đã đang đ ợc thực hiện rất nhiều. Trong phần này ta xem xét một thuật toán phổ biến nhằm rút ngắn thời gian thực hiện ƣ tính toán chuỗi bit nhớ là thuật toán Cộng thấy nhớ trước (Carry Look-Ahead Adder). Ý tưởng của phương pháp này là sử dụng sơ đồ có khả năng phát huy tối đa các phép toán song song để tính các đại lượng trung gian độc lập với nhau nhằm giảm thời gian đợi khi tính các bit nhớ. [...]...I: Các khối cơ bản www.themegallery.com I: Các khối cơ bản 1.4 Thanh ghi  Thanh ghi là chuỗi các phần tử nhớ được ghép với nhau là thành phần không thể thiếu của các thiết kế mạch dãy, đặc điểm quan trọng nhất để phân biệt thanh ghi với các khối tổ hợp là thanh ghi bao giờ cũng chịu sự điều khiển của xung nhịp đồng bộ, giá trị đầu ra là giá trị lƣu trong các ô nhớ của thanh ghi... www.themegallery.com II: Các khối nhớ 2.1 Bộ nhớ RAM RAM (Random Access Memory) là một phần tử rất hay được sử dụng trong thiết kế các hệ thống số RAM có thể phân loại theo số lượng cổng cách thức làm việc đồng bộ hay không đồng bộ của các thao tác đọc ghi www.themegallery.com II: Các khối nhớ  Single port RAM là RAM chỉ có một kênh đọc ghi, một đường vào địa chỉ, các động tác đọc ghi trên... www.themegallery.com II: Các khối nhớ 2.3 Bộ nhớ FIFO  FIFO (First-In-First-Out) là một khối nhớ đặc biệt, rất hay ứng dụng trong các hệ thống truyền dẫn số, dùng làm các khối đệm trong các thiết bị lƣu trữ… www.themegallery.com II: Các khối nhớ Khối xác định trạng thái FIFO (FIFO_STATE) tạo ra hai tín hiệu FIFO_FULL, FIFO_EMPTY để thông báo về tình trạng dầy hoặc rỗng t ƣơng ứng của bộ nhớ Để tạo ra các tín hiệu... đƣợc xác định thông qua giá trị của N, nếu N=0 thì LIFO_EMPTY = 1 nếu N = 2addr_width – 1 thì LIFO_FULL = 1 www.themegallery.com III: khối nhân số nguyên 4.1 Khối nhân số nguyên không dấu dùng phương pháp cộng dịch www.themegallery.com III: khối nhân số nguyên  Khối cộng có một hạng tử cố định K-bit là đầu vào tích riêng (opb), để tính các tích riêng sử dụng một khối chọn kênh MUX k-bit, khối này chọn... www.themegallery.com I: Các khối cơ bản 1.8 Thanh ghi dịch  Thanh ghi có thể làm việc ở hai chế độ, chế độ thứ nhất dữ liệu đầu vào đ ƣợc lấy từ đầu vào D, chế độ thứ hai là chế độ dịch, khi đó dữ liệu đầu vào của thanh ghi lấy từ khối dịch, đầu ra của thanh ghi được gán bằng đầu vào của khối dịch Ở chế độ này dữ liệu sẽ bị dịch mỗi xung nhịp một lần www.themegallery.com I: Các khối cơ bản Mã mô tả thanh... bộ, giá trị đầu ra là giá trị lƣu trong các ô nhớ của thanh ghi đ ƣợc gán bằng giá trị của đầu vào tại các thời điểm nhất định (sườn dương hoặc sườn âm) theo điều khiển xung nhịp đồng bộ, nếu so sánh với khối tổ hợp thì giá trị đầu ra của mạch tổ hợp thay đổi tức thì ngay sau khi có sự thay đổi của các đầu vào  Mô tả thanh ghi trên VHDL khá đơn giản như sau: library IEEE; use IEEE.STD_LOGIC_1164.ALL;... đếm cnt bị reset về 0 www.themegallery.com I: Các khối cơ bản 1.7 Bộ dịch  Bộ dịch là khối logic tổ hợp thực hiện động tác dịch chuỗi bít đầu vào, có tất cả 6 phép toán dịch gồm dịch trái logic, dịch trái số học, dịch phải logic, dịch phải số học, dịch tròn trái, dịch tròn phải www.themegallery.com I: Các khối cơ bản Ví dụ dưới đây là một bộ dịch với đầu vào 32-bit: library IEEE; use IEEE.STD_LOGIC_1164.ALL;... enable bằng 1 nếu cần ghi dữ liệu vào RAM Tín hiệu OE – output enable bằng 1 nếu là đọc dữ liệu từ RAM, với thiết kế như vậy thì WE OE không bao giờ đồng thời bằng 1 www.themegallery.com II: Các khối nhớ 2.2 Bộ nhớ ROM ROM (Read-only Memory) là cấu trúc nhớ chỉ đọc trong đó các giá trị ô nhớ được lưu cố định khi khởi tạo ROM không thay đổi trong quá trình sử dụng, thậm chí khi không có nguồn... (multiplicand) 0 phụ thuộc vào bit t ƣơng ứng của số nhân (multiplier) là 1 hay 0 Để đ ƣa lần lƣợt các bit của số nhân vào cổng điều khiển cho khối chọn này thì giá trị của số nhân được lưu trong một thanh ghi dịch sang phải mỗi xung nhịp 1 bit  Đầu vào thứ hai của bộ cộng lấy từ k bit cao của thanh ghi 2k-bit Thanh ghi này trong qua trình làm việc l ƣu trữ kết quả tích lũy của các tích riêng Đầu vào của... hiệu sườn dương của xung nhịp clk, một cách viết khác tương đương là if rising_edge(clk) then… www.themegallery.com I: Các khối cơ bản 1.5 Bộ cộng tích lũy Bộ cộng tích lũy là sự kết hợp giữa bộ cộng thanh ghi, cấu trúc của khối này thể hiện ở hình dưới đây: www.themegallery.com I: Các khối cơ bản  mô tả của bộ cộng tích lũy như sau: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; . TÀI THIẾT KẾ CÁC KHỐI MẠCH DÃY VÀ TỔ HỢP THÔNG DỤNG HÀ NỘI:Ngày 16 tháng 5 năm 2014 www.themegallery.com Khối chia số nguyên Khối nhân số nguyên Máy trạng thái hữu hạn Các khối nhớ Các khối. khối nhớ Các khối cơ bản Các khối làm việc với số thực THIẾT KẾ KHỐI MẠCH DÃY VÀ TỔ HỢP THÔNG DỤNG www.themegallery.com I: Các khối cơ bản 1.1. Khối cộng đơn giản  Khối cộng đơn giản: thực. bản www.themegallery.com I: Các khối cơ bản 1.4. Thanh ghi  Thanh ghi là chuỗi các phần tử nhớ được ghép với nhau và là thành phần không thể thiếu của các thiết kế mạch dãy, đặc điểm quan trọng

Ngày đăng: 02/06/2014, 01:03

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

  • I: Các khối cơ bản

Tài liệu cùng người dùng

Tài liệu liên quan