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

Bài giảng Thiết kế logic số: Lecture 3.2 - TS. Hoàng Văn Phúc

42 67 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

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 1,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Thiết kế logic số: Lecture 3.2 trình bày về Cấu trúc FPGA. Nội dung cụ thể của chương này gồm có: Nhắc lại bài trước: Cấu trúc FPGA, qui trình thiết kế hệ thống số trên FPGA, các ví dụ thiết kế.

Trang 1

TS Hoàng Văn Phúc

Bộ môn KT Xung Số-Vi xử lý

11/2014

Thiết kế logic số (VLSI design)

https://sites.google.com/site/phucvlsi/teaching

Trang 2

Nội dung

 Qui trình thiết kế hệ thống số trên FPGA

 Các ví dụ thiết kế

 Thời lượng: 06 tiết

Trang 3

Nhắc lại về FPGA: Cấu trúc cơ bản

3

LOGIC BLOCK LOGIC BLOCK ……… LOGIC BLOCK

LOGIC BLOCK LOGIC BLOCK ……… LOGIC BLOCK

LOGIC BLOCK LOGIC BLOCK ……… LOGIC BLOCK

Interconnect wires

Trang 4

Tái cấu hình cho FPGA

SRAM-based:

Trang 5

Hoạt động của FPGA

Người dùng ghi giá trị vào bộ nhớ cấu hình (configuration memory)

để định chức năng hệ thống:

Kết nối giữa CLBs và I/O cells

Mạch logic cần thực thi trên CLBs

Các khối I/O

• Thay đổi nội dung bộ nhớ cấu hình  Thay đổi chức năng hệ thống

Việc thay đổi có thể thực hiện khi mạch đang chạy (run-time

configuration)  Tính toán tái cấu hình (RC: reconfigurable computing)

5

Trang 6

Kiến trúc của Configurable Logic Blocks (CLBs)

Mỗi CLB bao gồm:

Trang 7

Hệ thống nhúng (embedded system) trên FPGA

Source: Internet 7

System on board

System on chip

(SoC)

Trang 8

ASIC (Application Specific Integrated Circuit) và

FPGA (Field Programmable Gate Array)

Chức năng cố định Người dùng có thể định lại

cấu hình cho thiết kế Thời gian thiết kế dài và

Trang 9

Qui trình thiết kế với FPGA và ASIC

9

Trang 10

 Tốc độ (speed): thông qua tốc độ clock tối đa hoặc

độ trễ dài nhất của mạch tổ hợp (critical path)

cần cho thiết kế

trong một đơn vị thời gian

Đánh giá một thiết kế trên FPGA

Trang 11

Qui trình thiết kế trên FPGA (Tổng quan)

Trang 12

Qui trình thiết kế trên FPGA (chi tiết)

Design and implement a simple

unit permitting to speed up

encryption with RC5-similar cipher

with fixed key set on 8031

microcontroller Unlike in the

experiment 5, this time your unit

has to be able to perform an

encryption algorithm by itself,

executing 32 rounds…

Library IEEE;

use ieee.std_logic_1164 all ;

use ieee.std_logic_unsigned all ;

entity RC5_core is

port (

clock, reset, encr_decr: in std_logic;

data_input: in std_logic_vector( 31 downto 0 );

data_output: out std_logic_vector( 31 downto 0 );

out_full: in std_logic;

key_input: in std_logic_vector( 31 downto 0 );

key_read: out std_logic;

);

end RC5_core;

Specification (Mô tả bài toán)

Mô tả VHDL (Source Files) hoặc sơ đồ mạch logic

Functional simulation(Mô phỏng chức năng)

Post-synthesis simulation(Mô phỏng sau tổng hợp)Synthesis

(Tổng hợp)

Trang 13

On board testing(Kiểm tra trên mạch)

Qui trình thiết kế trên FPGA (chi tiết)

13

Trang 14

Technology mapping (Ánh xạ công nghệ)

cứng cụ thể của FPGA

Trang 15

Technology mapping (tiếp)

15

Trang 16

Phần mềm thiết kế trên FPGA của Xilinx

Phân cấp thiết kế Design/Files/Libraries Source files/Summary …

Trang 17

Các thành phần chính của Xilinx ISE Suite

tự modelsim)

C++

17

Trang 18

VHDL vs Schematic

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity compare_module is

port (value : in std_logic_vector(3 downto 0);

res : out std_logic);

end compare_module;

architecture Behavioral of compare_module is

signal std : std_logic_vector (4 downto 0);

begin val <= '0' & value;

process (val, std) begin

sub <= val - std;

res <= sub(4);

end process;

Trang 19

model) (optional)

Create Technology schematic (optional)

Create RTL schematic(optional)

Netlist: Bản mô tả thiết kế mạch dưới dạng text

Trang 20

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity compare_module is Port

value: in std_logic_vector (3 downto 0);

res : out std_logic);

end compare_module;

architecture Behavioral of compare_module is

signal std : std_logic_vector (4 downto 0);

begin

val <= '0' & value;

process (val, std) begin

sub <= val - std;

res <= sub(4);

UNISIM Library

Trang 21

LED1 : out STD_LOGIC;

LED2 : out STD_LOGIC;

);

end sp3_led;

architecture Structure of sp3_led is

signal SW8_IBUF_31 : STD_LOGIC;

Trang 22

Synthesis – RTL Schematic

Trang 23

Synthesis – Technology Schematic

23

Trang 24

Synthesis – UCF file (user constraint file):

Thể hiện các ràng buộc thiết kế của mạch

# IO location defination

NET "HIGH_voltage" LOC = P102;

NET "LOW_voltage" LOC = P100;

NET "voltage[0]" LOC = P160;

NET "voltage[1]" LOC = P161;

NET "voltage[2]" LOC = P162;

NET "voltage[3]" LOC = P163;

# Timing constraint

INST "LOW_voltage" TNM = "OUT_REG";

INST "HIGH_voltage" TNM = "OUT_REG";

NET "voltage[0]" OFFSET = IN 2 ns VALID 0.5 ns BEFORE "CLK" TIMEGRP

"OUT_REG" RISING;

NET "voltage[1]" OFFSET = IN 2 ns VALID 0.5 ns BEFORE "CLK" TIMEGRP

"OUT_REG" RISING;

Trang 25

Mapping(Ánh xạ)

Post-map simulation modelPost-map static Timing

Trang 26

Translate (Dịch)

Translation

UCF EDIF NCF

Trang 27

Mapping (Ánh xạ)

Ánh xạ các khối sơ đồ logic vào các khối cơ sở của

FPGA  file ncd

27

Trang 28

Place & Route: Đặt vào ví trí cụ thể trên FPGA

Trang 29

FPGA Verification (Kiểm tra thiết kế trên FPGA)

Verification

Function

(Chức năng)

Timing (Thời gian, tốc độ)

On-circuit testing (trên mạch)

29

Trang 30

Tái cấu hình động trên FPGA

Trang 31

Giao thức truyền tin nối tiếp

IDLE START DATA PARITY STOP IDLE

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 15

14 13

SAMPLE RX

Tbraud

31 31

Trang 32

Máy trạng thái khối thu UART

IDLE

START FRAME DETECTOR

RECEIVE

DATA

CNT16 = 8 and RX = 1

RX = 0, Rx_Reg = 1 (Fall_edge) CNT_BIT = 8

Trang 33

Sơ đồ khối nhận UART

CNT RESET ENABLE

CNT RESET ENABLE

Trang 34

Kết quả mô phỏng trên modelsim

Trang 35

Khối giao tiếp VGA

35

Trang 36

Tín hiệu quét VGA

Trang 37

Sơ đồ khối VGA

HORIZONTAL COUNTER

VERTICAL COUNTER

DCM_BLOCK (optional)

CHARACTER_

ROM (optional)

DATA_RAM (optional)

RGB GENERATOR

HS

VS

R G B

DCM_CLK CLK_IN

37

Trang 38

Khối NCO

 NCO (Numerically Controler Osillator): khối tổng hợp

dao động, có khả năng tổng tạo ra dao động với tần

số mong muốn một các trực tiếp bằng một vi mạch số tích hợp

Trang 39

Cơ sở toán học

39

Trang 40

Sơ đồ khối

Trang 41

Phase quantization

Trang 42

Simulation wave-form

Ngày đăng: 12/02/2020, 16:59

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm