------------------------------------------------------------------------------
                       PROGRAM bistgenr.exe - manual
==============================================================================

Program bistgenr.exe generuje, pro obvod zadaný ve formátu .bench, 
syntetizovatelný VHDL kód reprezentující funkční obvod se začleněným BISTem.

------------------------------------------------------------------------------


1. Programy a soubory nutné mit v adresáři s tímto programem pro jeho správnou 
funkčnost (program bistgen je použivá/volá střídavě za běhu)

atalanta-M.exe - generování testovacích vektorů pro nepokryté poruchy 
cygwin1.dll - nutný pro chod programu hope a atalanta
hope.exe - testování pokrytí poruch a generování seznamu nepokrytých poruch
lfsr.exe - simuluje beh lfsr po reseedu, vybírá nejlepší seed
lfsrbegin.exe - simuluje počáteční běh lfsr do prvního reseedu
parameters.txt - soubor se vstupnimy parametry
vhdlgen_r_si.exe - generování VHDL testeru, pro metodu test-per-clock
vhdlgen_r_sc.exe - generování VHDL testeru, pro metodu test-per-scan
<obvod>.bench - bench soubor kombinačního obvodu, pro který chceme 
		generovat VHDL


2. Spouštění programu

předpis: bistgenr.exe obvod metoda (prepínač)

argumenty - povinné:

obvod   název obvodu, pro který chceme generovat VHDL - pouze název obvodu, 
	nikoliv název zdrojového souboru, který se však musí jmenovat stejně
	(max string délka 20)
metoda  -tpc  pro volbu metody test-per-clock
	-tps  pro volbu metody test-per-scan

argument - nepovinný:

přepínač -m  pokud chceme načíst seedy ze souboru parametres.txt


příklad: bistgenr.exe c432 -tps -m
     - vygeneruje VHDL CUT+BIST pro obvod c432, metodou test-per-scan, 
	parametry jsou načteny ze souboru parameters.txt


3. Vstupy a výstupy

vstupy:  <obvod>.bench
	 - soubor s popisem obvodu pomocí netlistu
	 - pro správný běh programu je nutná koncovka .bench

	 parameters.txt
	 - soubor obsahující vstupni parametry testeru
	 - každý údaj se požaduje být uvozen dvojtečkou

	 delka LFSR(pocet bitu) - počet bitu generujícího LFSR
	 polynom pro zpetnou vazbu LFSR - polynom pro zpetnou vazbu LFSR, 
		zadán binárně, kde jednička značí zapojení do zpětné vazby, 
		nejvyšší bit x na n je nejvíce vpravo, člen x na 0 čili +1 
		není zahrnut a je započítán automaticky
		př :100011  ==  x6+x5+x1+1
	 počet počátečních taktů LFSR - počet taktů, po který TPG poběží, než 
		dojde k prvnímu reseedu (max 5000)
	 počet reseedů - počet reseedů obvodu (max 100)
	 počet taktů po každém reseedu - počet taktů, po který TPG poběží, po 
		každém reseedu(max 5000)
	 přiznak pro srovnání a vyhodnocení testu (8b) -příznak očekávaný na 
		konci testu pro srovnání s obsahem kompresoru odezev po 
		ukončení testu
	 reseedy(nacteny, pokud je aktivni prepinac -m) - seedy pro manuální
		zadání, binárně

	
	 pro správné načtení parametrů se požaduje aby byl uvozen dvojtečkou
	 příklad obsahu souboru parametres.txt:

	 delka LFSR(pocet bitu)
	 :6 

	 polynom pro zpetnou vazbu LFSR
	 :100001

 	 pocet pocatecnich taktu LFSR
	 :20

	 pocet reseedu
	 :5

	 pocet taktu po kazdem reseedu
	 (0 - bude aplikovan pouze seed)
	 :0

	 priznak pro srovnani a vyhodnoceni testu (8 bitu)
	 :10101001

	 reseedy(nacteny, pokud je aktivni prepinac -m)
	 :000000000000000111111111
	 :000000000000000011111111
	 :000000000001111111111111
	 :000011111110000000001111
	 :111100000000000000001111




výstupy: VHDL soubory <obvod><část obvodu>.vhd
	 (např. c432Tester.vhd)
	 soubor <obvod>CUT_Top.vhd je top vhdl soubor celé struktury
	 -> jeho vstupy : primary_in - primarní vstupy CUT
			  clk, reset - hodiny, reset
			  bist_now - signál pro spuštění testu
         -> jeho výstupy : primary_out - primarní výstupy CUT
			   bist_fail - logická '1' značí shodu příznaku s 
				       očekávanou hodnotou
			   bist_done - logická '1' dokončený test

informační výstupní soubory:
	 <obvod>.lgc - hope logfile, informace o dosaženém okrytí poruch
	 vektors.vec - použité testovací vektory
	 reseeds.vec - použité reseed vektory
	 <obvod>.uf1 - nepokryté poruchy





