1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Tổng hợp luận lý vi mạch Chapter7 p2 dien van

46 0 0

Đ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

Logic Synthesis Rectangles and Rectangle Covering Võ Thị Khánh Vân Phan Văn Long Điền 5/25/2011 Rev 0.00 09070478 10070474 Rectangles and Rectangle Covering Content  Rectangle  Rectangle – Kernel  Kernel Intersection  PING-PONG Algorithm  Rectangle Algorithm 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Content  Rectangle  Rectangle – Kernel  Kernel Intersection  PING-PONG Algorithm  Rectangle Algorithm 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Definitions (1/6) • Rectangle: – Rectangle (R, C) ma trận B, Bij  {0,1,*}, tập hàng R tập cột C cho Bij  {1,*} với i  R j  C 4 1 1 0 * * 1 1 1 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Definitions (2/6) • Contain: – Rectangle (R1, C1) gọi chứa rectangle (R2, C2) (R2  R1 C2  C1) (R2  R1 C2  C1) 5 1 1 0 * * 1 1 1 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Definitions (3/6) • Prime rectangle: – Rectangle (R,C) ma trận B gọi prime rectangle khơng bị chứa rectangle B 1 1 0 * * 1 1 1 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Definitions (4/6) • Corectangle: – Corectangle rectangle (R, C) cặp (R, C’) C’ tập cột không thuộc C 1 1 0 * * 1 1 1 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Definitions (5/6) • Rectangle cover: – Tập rectangle ({RK, CK}) tạo thành rectangle cover ma trận B với i  RK j  CK  Bij = – Mỗi giá trị B phải bị phủ rectangle cover 1 1 0 * * 1 1 1 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Definitions (6/6) • Minimum weighted rectangle cover: – Mỗi rectangle (Rk, Ck) gán cho trọng số chi phí định nghĩa hàm w(Rk, Ck) Trọng số rectangle cover định nghĩa:  wR , C  k k k mà w(R,C) = |C| |R| = |C| + |R| |R| > – Minimum weighted rectangle cover ma trận rectangle cover có tổng trọng số rectangle nhỏ 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Content  Rectangle  Rectangle – Kernel  Kernel Intersection  PING-PONG Algorithm  Rectangle Algorithm 10 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering PING-PONG Algorithm (8/13) • Bước 4: Chọn hạt giống cột có giá trị lớn rectangle chọn bước 3 a b c d e f g a 0 2 2 b 0 2 2 c 2 0 2 d 2 0 2 e 2 0 0 f 2 0 g 0 0 Hạt giống : Rectangle: 32 ({1,2,5,6},{3}) 5/25/2011 Rev 0.00 V(R,C) = – – = -1 Rectangles and Rectangle Covering PING-PONG Algorithm (9/13) • Bước 5: Lặp lại bước hốn vị cột dịng  chọn rectangle tốt a b c d e f g a 0 2 2 b 0 2 2 c 2 0 2 d 2 0 2 e 2 0 0 f 2 0 g 0 0 Hạt giống : Rectangle: Thêm cột 4: Rectangle: 33 ({1,2,5,6},{3}) ({1,2,6},{3,4}) 5/25/2011 Rev 0.00 Note: Thêm cột hàng tập hàng R V(R,C) = – – = -1 V(R,C) = 12 – – = Rectangles and Rectangle Covering PING-PONG Algorithm (10/13) • Bước 5: Lặp lại bước hốn vị cột dịng  chọn rectangle tốt a b c d e f g a 0 2 2 b 0 2 2 c 2 0 2 d 2 0 2 e 2 0 0 f 2 0 g 0 0 Hạt giống : Rectangle: Thêm cột 4: Rectangle: Thêm cột 5: Rectangle: 34 ({1,2,5,6},{3}) ({1,2,6},{3,4}) ({1,2},{3,4,5}) 5/25/2011 Rev 0.00 Note: Thêm cột hàng tập hàng R V(R,C) = – – = -1 V(R,C) = 12 – – = V(R,C) = 12 – – = Rectangles and Rectangle Covering PING-PONG Algorithm (11/13) • Bước 5: Lặp lại bước hoán vị cột dòng  chọn rectangle tốt a b c d e f g a 0 2 2 b 0 2 2 c 2 0 2 d 2 0 2 e 2 0 0 f 2 0 g 0 0 Hạt giống : Thêm cột 4: Thêm cột 5: Thêm cột 7: 35 Rectangle: Rectangle: Rectangle: Rectangle: ({1,2,5,6},{3}) ({1,2,6},{3,4}) ({1,2},{3,4,5}) ({1},{3,4,5,7}) 5/25/2011 Rev 0.00 Note: Thêm cột hàng tập hàng R V(R,C) = – – = -1 V(R,C) = 12 – – = V(R,C) = 12 – – = V(R,C) = – – = Rectangles and Rectangle Covering PING-PONG Algorithm (12/13) • Bước 5: Lặp lại bước hốn vị cột dịng  chọn rectangle tốt a b c d e f g a 0 2 2 b 0 2 2 c 2 0 2 d 2 0 2 e 2 0 0 f 2 0 g 0 0 Hạt giống : Thêm cột 4: Thêm cột 5: Thêm cột 7: 36 Rectangle: Rectangle: Rectangle: Rectangle: ({1,2,5,6},{3}) ({1,2,6},{3,4}) ({1,2},{3,4,5}) ({1},{3,4,5,7}) 5/25/2011 Rev 0.00 V(R,C) = – – = -1 V(R,C) = 12 – – = V(R,C) = 12 – – =  chọn V(R,C) = – – = Rectangles and Rectangle Covering PING-PONG Algorithm (13/13) • Bước 6: Nếu rectangle chọn bước khác với bước lặp lại trình Ngược lại rectangle cần tìm a b c d e f g a 0 2 2 b 0 2 2 c 2 0 2 d 2 0 2 e 2 0 0 f 2 0 g 0 0 Note: Nếu lặp lại, chọn seed row hàng rectangle tốt  Kết thúc! Rectangle cần tìm: ({1,2},{3,4,5}) 37 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Content  Rectangle  Rectangle – Kernel  Kernel Intersection  PING-PONG Algorithm  Rectangle Algorithm 38 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Generating Prime Rectangle (1/2) GENERATE_RECTANGLES(M): { Tìm tất trivial rectangle lưu trữ lại; rect = new rectangle; RECTANGLE1(M, 0, rect); } • Mỗi prime rectangle tương ứng với cặp kernel – cokernel hàm ban đầu 39 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Generating Prime Rectangle (2/2) RECTANGLE1 ( M, index, rect ): { for ( cột c M ) { if ( c có ≥ phần tử c.index ≥ index ) { M1 = new matrix; for( phần tử p cột c ) copy hàng tương ứng với p M vào M1; rect1 = new rectangle; Cột rect1  cột rect; Hàng rect1 tương ứng với phần tử c M; if ( index tất cột toàn M1 ≥ c.index ) { Xố cột tồn M1 thêm vào rect1; Lưu rect1 vào tập prime rectangle; RECTANGLE1(M1, c.index, rect1); } } } } 40 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Rectangle Algorithm (1/4) F = a.b.c.d.g + a.b.c.d.h + a.b.c.e + a.b.c.f + a.b.i Ma trận cube-literal: 5 a 1 1 b 1 1 c 1 1 d 1 0 e 0 0 f 0 g 0 0 h 0 i 0 0 Gọi RECTANGLE1 (M, 0, rect) – Xét cột 1: với hàng (≥ 2) c.index ≥  tạo ma trận M1 gán M Tạo rectangle rect1 với giá trị khởi tạo ({1,2,3,4,5}, {1}) – Cột M1 có tất hàng  thêm vào rect1  prime rectangle ({1,2,3,4,5}, {1,2}) Kernel (cokernel) tương ứng: c.d.g + c.d.h + c.e + c.f + i (a.b) 41 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Rectangle Algorithm (2/4) F = a.b.c.d.g + a.b.c.d.h + a.b.c.e + a.b.c.f + a.b.i Gọi đệ quy RECTANGLE1 (M, c.index, rect) với M sau: 5 c 1 1 d 1 0 e 0 0 f 0 g 0 0 h 0 i 0 0 c.index = 1, rect = ({1,2,3,4,5},{1,2}) – Xét cột 3: với hàng (≥ 2) c.index ≥  tạo ma trận M1 gán M bỏ hàng Tạo rect1 gán giá trị ({1,2,3,4}, {1,2}) – Cột M1 có tất hàng  thêm vào rect1  prime rectangle ({1,2,3,4}, {1,2,3}) Kernel (cokernel) tương ứng: d.g + d.h + e + f (a.b.c) 42 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Rectangle Algorithm (3/4) F = a.b.c.d.g + a.b.c.d.h + a.b.c.e + a.b.c.f + a.b.i Gọi đệ quy RECTANGLE1 (M, c.index, rect) với M sau: 4 d 1 0 e 0 f 0 g 0 h 0 i 0 0 c.index = 3, rect = ({1,2,3,4},{1,2,3}) – Xét cột 4: với hàng (≥ 2) c.index ≥  tạo ma trận M1 gán M bỏ hàng Tạo rect1 gán giá trị ({1,2}, {1,2,3}) – Cột M1 có tất hàng  thêm vào rect1  prime rectangle ({1,2}, {1,2,3,4}) Kernel (cokernel) tương ứng: g + h (a.b.c.d) 43 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Rectangle Algorithm (4/4) Quay lại gọi đệ quy RECTANGLE1 cho cột thứ 2, số cột bắt đầu 0, M ma trận ban đầu 5 a 1 1 b 1 1 c 1 1 d 1 0 e 0 0 f 0 g 0 0 h 0 i 0 0 Gọi RECTANGLE1 (M, 0, rect) – Xét cột 2: tất hàng (≥ 2) c.index ≥  tạo ma trận M1 gán M Tạo rect1 gán giá trị ({1,2,3,4,5}, {2}) – Cột M1 có tất hàng 1, nhiên index < c.index (điều kiện dừng đệ quy)  dừng giải thuật 44 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering Thank you! References • Chapter 7, Logic Synthesis –Srinivas Devadas, Abhijit Ghosh, Kurt Keutzer 46 5/25/2011 Rev 0.00 Rectangles and Rectangle Covering

Ngày đăng: 12/04/2023, 20:49

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN