Hardwarová implementace Petriho sítí

11
Hardwarová Hardwarová implementace Petriho implementace Petriho sítí sítí Vlastní HW implementace a Vlastní HW implementace a syntéza syntéza

description

Hardwarová implementace Petriho sítí. Vlastní HW implementace a syntéza. Shrnutí minulého projektu. Implementace z matice propojení Nevhodné s ohledem na designCPN Umožňuje pouze jednobarevné sítě Neumožňuje násobné hrany Vlastní HW implementace nejde přeložit a tudíž ani implementovat. - PowerPoint PPT Presentation

Transcript of Hardwarová implementace Petriho sítí

Page 1: Hardwarová implementace Petriho sítí

Hardwarová implementace Hardwarová implementace Petriho sítíPetriho sítí

Vlastní HW implementace a syntézaVlastní HW implementace a syntéza

Page 2: Hardwarová implementace Petriho sítí

Shrnutí minulého projektuShrnutí minulého projektu

• Implementace z matice propojení• Nevhodné s ohledem na designCPN• Umožňuje pouze jednobarevné sítě• Neumožňuje násobné hrany• Vlastní HW implementace nejde přeložit a tudíž ani

implementovat

Page 3: Hardwarová implementace Petriho sítí

Naše koncepce HW Naše koncepce HW implementaceimplementace

• Implementovat každý blok Petriho sítě jako component a přeložit výstup designCPN

• Optimalizaci provede návrhový systém• Umožňuje implementovat barevné sítě, stačí podle

potřeb upravit přechody• Umožňuje libovolný počet násobných hran, vše je

navrženo obecně pomocí generic

Page 4: Hardwarová implementace Petriho sítí

in_width

out_width

clk

res

input_net output_net

output_wr

•Lze specifikovat šířky portů

•Plně synchronní

•Lze specifikovat maximální počet tokenů

•Počet tokenů = vstup – výstup

•Lze specifikovat počáteční hodnotu

Jeden stav Petriho sítě, blok pn_stateJeden stav Petriho sítě, blok pn_state

Page 5: Hardwarová implementace Petriho sítí

Přechod Petriho sítě, blok pn_exchangePřechod Petriho sítě, blok pn_exchange

input_net

input_wr

input_width

ready

fire

output_net

output_width

•Pokud jsou všechny vstupy aktivní, ready bude 1

•Tento součin lze velmi snadno vyměnit za jiné hradlo a tak změnit funkci sítě

•Pokud bude fire aktivní, pošle se 1 na všechny výstupy a tak dojde k přechodu

Page 6: Hardwarová implementace Petriho sítí

Výsledky syntézyVýsledky syntézy

Blok Func. Gen FG Func. Gen H DFF

exchange(2,2) 1 0 0

exchange(2,5) 1 1 0

state(2,2,4) 10 3 4

state(3,2,4) 11 2 4

state(4,2,4) 17 5 4

state(2,3,4) 10 2 4

•Použit nástroj Leonardo Spectrum

•Počet dff závisí na šířce registru uvnitř

Page 7: Hardwarová implementace Petriho sítí

Testovací síťTestovací síť

•Přesný přepis sítě pomocí component

•Postupné očíslování přechodů a stavů, propojovací vodiče označeny podle koncových prvků

•Nástroj Xillinx Foundation měl potíže se syntézou kvůli velkému počtu generic proměnných

Page 8: Hardwarová implementace Petriho sítí

Generátor náhodných číselGenerátor náhodných čísel•Náhodné číslo je generováno 16bitovým polynomem

•V okamžiku, kdy je potřeba nová volba se přenese hodnota do čítače, a ten provede „rozpočítání“ mezi aktivní vodiče

•Volba trvá proměnný počet taktů

•K dispozici je i behaviorální model, kde volba trvá jeden takt

•Mimo obvyklé porty obsahuje i port clk_en na zpoždění hodin

Page 9: Hardwarová implementace Petriho sítí

Top level návrh

fire[1:5]

clk_en

save_LED

set

=0

slow

ready[1:5]

test_pn

selector

LED_decoder

LED_ctrl[6:0]

•slow – zpomalující čítač

•selector – random generator

•LED-decoder – výstup na LED

•test_pn - vlastní síť

Page 10: Hardwarová implementace Petriho sítí

Průběh výpočtuPrůběh výpočtuclk

clk_en

save_LED

slow

Naplnění čítače

0 0

Výpočet je zpožděnVýpočet probíhá

Page 11: Hardwarová implementace Petriho sítí

ZávěrZávěr

• Vytvořili jsme funkční implementaci Petriho sítě vhodnou pro překlad

• Tuto síť jsme implementovali v pokusné aplikaci• Další předpokládaná práce je tvorba překladače