Potek načrtovanja sistemov. Načrtovanje digitalnih el. sistemov. Hierarhična zgradba sistema. Določanje zgradbe sistema.

Similar documents
Nartovanje digitalnih el. sistemov. Potek nartovanja sistemov. Doloanje zgradbe sistema. Andrej Trost. Implementacija in verifikacija vezij

Model vezja. Digitalni Elektronski Sistemi. Računalniški model in realno vezje. Univerza v Ljubljani Fakulteta za elektrotehniko

Hierarhično načrtovanje. Načrtovanje digitalnih el. sistemov. Deklaracija komponent. Komponente

Načrtovanje integriranih vezij in digitalnih elektronskih sistemov

Hierarhično načrtovanje. Načrtovanje digitalnih el. sistemov. Deklaracija komponent. Komponente

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig

Metode logičnega snovanja Programabilne logične naprave in VHDL. Miha Moškon

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54

Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo

Metode logičnega snovanja FPGA logična vezja in Xilinx Spartan-3E. Miha Moškon

Field Programmable Gate Array

CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis. Register File: An Example. Register File: An Example (cont d) Aleksandar Milenkovic

Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije

Sistemske zahteve za SAOP

The Virtex FPGA and Introduction to design techniques

Digital Design Laboratory Lecture 2

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js)

VHDLPrimeri Poglavlje3.doc. end process seq; Slika 3.1: Anatomija osnovne definicije test bench-a

HDL Coding Style Xilinx, Inc. All Rights Reserved

Prirejanje in preverjanje tipov

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike

Preizkušanje elektronskih vezij

ECE 545 Lecture 17 RAM. George Mason University

Hardware Design with VHDL Design Example: BRAM ECE 443

A Generic Timing Receiver for Event-Driven Timing Systems

ECE 545: Lecture 11. Programmable Logic Memories

ECE 545: Lecture 11. Programmable Logic Memories. Recommended reading. Memory Types. Memory Types. Memory Types specific to Xilinx FPGAs

CDA 4253 FPGA System Design Op7miza7on Techniques. Hao Zheng Comp S ci & Eng Univ of South Florida

VHDLPrimeri Poglavlje5.doc

ECE 699: Lecture 9. Programmable Logic Memories

How-To User Guide: Working with PicoBlaze on an FPGA. By: Sean Farner Peter Frandina

Accelerate FPGA Prototyping with

Design Guidelines for Using DSP Blocks

Design of Custom Processors for the FPGA Devices

FPGA design with National Instuments

IP cores. V. Angelov

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1. Your name 2/13/2014

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF

TI C2000: Družina za vgrajene (embedded) aplikacije

SIMULATION OF COMMISSIONING IN WAREHOUSE SIMULACIJA KOMISIONIRANJA V SKLADIŠČU

In our case Dr. Johnson is setting the best practices

EITF35: Introduction to Structured VLSI Design

Razširitev in podpora serijskih komunikacijskih vmesnikov na Raspberry Pi platformi

Handout #1: The Xilinx ISE Project Navigator

Prometno načrtovanje xdsl

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK

An Adaptive-Parity Error-Resilient LZ'77 Compression Algorithm. Na napake odporen zgoščevalni algoritem LZ 77 s prilagodljivo pariteto

Intro to System Generator. Objectives. After completing this module, you will be able to:

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi

PMC DIGITAL SIGNALLING PROCESSOR UNIT

CDA 4253 FGPA System Design Xilinx FPGA Memories. Hao Zheng Comp Sci & Eng USF

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

VHDL in 1h. Martin Schöberl

CSE 260 Introduction to Digital Logic and Computer Design. Exam 1 Solutions

VHDL/Verilog Simulation. Testbench Design

Programski jezik Java

Quartus Counter Example. Last updated 9/6/18

FPGA.

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

Mx381/382 komunikacijski vmesnik P1

Programmable Logic. Simple Programmable Logic Devices

CS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory

MicroBlaze Tutorial on EDK 10.1 using Sparatan III E Behavioural Simulation of MicroBlaze System

FPGA briefing Part II FPGA development DMW: FPGA development DMW:

E R S Š G L J U B L J A N A Š O L S K O L E T O

Tutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy

Lab 4: Integrating a picoblaze processor in LabVIEW FPGA by use of CLIP node

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo

ECE 545 Lecture 12. FPGA Embedded Resources 12/8/11. Resources. Recommended reading. Use of Embedded FPGA Resources in SHA-3 Candidates

Core Facts. Documentation Design File Formats. Verification Instantiation Templates Reference Designs & Application Notes Additional Items

Design Guidelines for Using DSP Blocks

Design Recommendations User Guide

Vsebina. Od načrta do programa 3. del. Zgled urejevalnik. urejevalnik. urejevalnik

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Verilog Module Tutorial By TA Brian W. Stevens CMPE415 UMBC Spring 2015 Dr. Tinoosh Mohsenin

VHDL for Modeling - Module 10

Design and Verification of FPGA Applications

VHDL And Synthesis Review

Changes in timetable (changes in GREEN)

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to:

Hitra rast hranjenih podatkov

A Model-based Embedded Control Hardware/Software Co-design Approach for Optimized Sensor Selection of Industrial Systems

VHDL for Logic Synthesis

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Spartan-6 Libraries Guide for HDL Designs. UG615 (v 14.1) April 24, 2012

ECE 448 Lecture 13. FPGA Memories. George Mason University

EITF35: Introduction to Structured VLSI Design

Informacijski sistemi 2. faza Sistemska analiza. Franci Tajnik univ.dipl.ing.fizike, CISA, CISM

Sign here to give permission for your test to be returned in class, where others might see your score:

Timing in synchronous systems

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Transcription:

Laboratorij za načrtovanje integriranih vezij Fakulteta za elektrotehniko Univerza v Ljubljani Potek načrtovanja sistemov Andrej Trost Načrtovanje digitalnih el. sistemov Implementacija in verifikacija vezij specifikacija zgradba in vmesniki izdelava VHDL modelov preverjanja sintakse in obnašanja vezja sinteza vezja dokumentacija funkcijska http://lniv.fe.uni-lj.si/ndes.html tehnološka implementacija Določanje zgradbe sistema Hierarhična zgradba sistema LIN_Micro Proc Senz LIN_Kontr kcpsm3 prog_rom LIN_Master LIN_Receiver določamo strukturo, vmesnike in relacije med posameznimi bloki hirarhično načrtovanje omogoča ločeno izvedbo in testiranje manjših blokov omogoča uporabo pripravljenih komponent IP

Določanje velikosti blokov Uporaba vgrajenih procesorjev pri shematskem načrtovanju so končni bloki zelo majhni > register, števec, primerjalnik sistem je zelo razdrobljen in ga je težko popravljati v visokonivojskem jeziku so bloki zaključeni moduli > sprejemnik, FIFO, kotrolna enota koda naj ne obsega več kot nekaj strani posamezen blok naj bo primeren za testiranje namesto obsežnih avtomatov raje uporabimo vgrajen mikrosekvenčnik ali mikroprocesor Prednosti vgrajenih procesorjev procesor uporabimo za krmiljenje, obdelavo podatkov pa naredimo z logiko spremembo funkcionalnosti naredimo le s spremembo algoritma pri vgrajenih procesorjih ni težav z dobavljivostjo oz. zastaranjem komponent 8-bitni procesorji zasedejo zelo malo prostora (Picoblaze: 5% XC3S200 ali 0,5% XC3S5000) Izdelava modelov vezij določitev funkcionalnosti algoritmični diagram poteka specifikacija dogodkov (registri in vodila) kodiranje v strojno-opisnem jeziku VHDL ali Verilog algoritemski zapis v obliki primerni za RTL sintezo enote opišemo s procesi in jih povežemo z vmesnimi signali ali stanji sinhrono vezje bi lahko opisali le z enim procesom, vendar bi bil opis precej nepregleden

Priporočila za kodiranje VHDL koda je del dokumentacije! Upoštevaj priporočila sinhronega načrtovanja! razmisli o skupni rabi gradnikov (npr. števcev) izogibaj se globokemu gnezdenju if-elsif-else stavkov uporabi sklepne modele za večjo prenosljivost (npr. ROM) ter knjižnične instance za posebne gradnike (npr. Block RAM) Uporaba komentarjev kratek opis posameznega modula kratek opis posameznih blokov (process) npr. namen procesa, vhodi in izhodi opis signalov ob deklaraciji ali na instanci pojasnilo vejitev in konstant -- delilnik za generiranje vzorcevalnih impulzov -- input: clk = 100kHz -- output: ce = 12.5kHz (LIN_Master), ce4 = 50kHz (LIN_Receiver) P_timing: process(clk) begin if rising_edge(clk) then if n=7 then -- delitev vhodne ure z 8 Poimenovanje signalov in konstant sestavljena imena signalov opisujejo njihov namen, npr: bit_cnt: števec bitov (cnt) a_reg: register (reg) wr_i: vhodni signal wr (i) dat_o: izhodni signal dat (o) konstante pišemo z velikimi črkami, npr: HRES, VRES Sklepni modeli (inference) program za sintezo sklepa o tem, kateri gradnik želimo uporabiti: števec je vezje, ki ob uri in določenih pogojih prišteva oz. odšteva ROM opišemo z zbirko konstant, ki jih beremo z naslavljanjem (indeksi) type rom is array (0 to 511) of std_logic_vector(7 downto 0); constant r : rom := ( "00111100", "01100110",... );... rom_data <= r( conv_integer(adr) );

Knjižnične instance vezja FPGA vsebujejo vgrajene Block RAM enote, ki jih vključimo kot instance library UNISIM; -- library used when instantiating Xilinx primitives use UNISIM.VComponents.all; VRAM : RAMB16_S4_S4 generic map ( INIT_A => X"0", -- Value of output registers on Port A at startup... ) port map ( DOA => open, -- Port A 4-bit Data Output DOB => DataB, -- Port B 4-bit Data Output ADDRA => adra, -- Port A 12-bit Address Input... ) Generator instanc IP Xilinx Core Generator ponuja bloke IP: osnovni: registri, števci, pomnilniki, primerjalniki komunikacijski: (de)kodirniki, korekcije napak, modulatorji DSP: filtri, modulatorji, transformi, sintetizatorji tehnološki gradniki: DCM, Rocket-IO matematični: osnovne op., množenje in deljenje, koreni, trigonometrične funkcije, floating-point pomnilni: CAM, FIFO, RAM, ROM Simulacija vezij Priprava simulacije obnašanja VHDL opis stimulatorji v obliki časovnega diagrama (waveform) potrebno preverjanje in optimizacija cilj funkcijska časovna strojna verifikacija sinteza vezja tehnološka implementacija konfiguracija FPGA primerni so za preproste simulac. scenarije vnesemo jih grafično ali v obliki makrojev izdelava testnih struktur (testbench) omogočajo obsežne simulacije z različnimi scenariji opisane so v istem jeziku kot testirano vezje, z vsemi konstrukti ki jih jezik omogoča dobro napisane testne strukture so uporabne za vse vrste simulacij (funkcijsko, časovno)

Priprava načrta za sintezo Sinteza sistem mora biti v celoti opisan uporabljati smemo le konstrukte jezika in način opisa, ki je primeren za sintezo izbrati moramo ciljno družino in vezje FPGA določimo optimizacije in časovne omejitve frekvenco vhodne ure zakasnitve na vhodih in izhodih RTL načrtovanje Matlab bloki C, C++ koda VHDL ali Verilog RTL RTL registri in enačbe tehnološko neodvisno vezje opis sistema in generiranje kode logična sinteza teh. specifično vezje Matlab System Generator za DSP v okolju Matlab/Simulink naredimo model sistema iz vnaprej pripravljenih blokov osnovni: števci, zakasnitve pretvorba podatkov (fiksna vejica, rezanje) DSP: Filter Design Tool, FFT, FIR množilnik, akumulator, inverter opis krmilne logike (MCode) pomnilniki System Generator naredi tehnološke gradnike VHDL kodo za sintezo v Xilinx ISE okolju Priprava za implementacijo avtomatizirana izvedba (tool driven) nastavljamo uporabniške zahteve in parametre (design constraints) frekvenca ure lokacija zunanjih priključkov stopnja optimizacije floorplaning: določanje postavitve blokov določimo območje v matriki za posamezen blok izberemo vgrajene komponente za dol. bloke