Tak v noci jsem se podival na cast co obsahuje paralelni/serial konvertor a pak nasleduji zpracovani ktere posilaji data na monitor.
Udelal jsem si rozbor kdy se meni jake signaly. Je mi jasne ze zde se neda nic "synchronne" nebo bezpecne udelat, protoze to jede na maximalni frekvenci GDG.
toto je mala ukazka kdy se co meni.
Kód:
00001111000011110000111100001111 pixel_clock - 4x zvetsene
D D D par2ser - vyda dalsi bit
L par2ser - serial_load_log1
D D D ulozi vystup par2ser do registru
U U U BLUE_out
Je jasne ze na dvou mistech se meni data. To neni problem, obe mista maji stejne hodiny. Problem je ale v kombinaci LOAD signal a "par2ser - vyda dalsi bit". Proste "par2ser - vyda dalsi bit" je umyslne v realnem GDG zpozden pres 7 bufferu. Asi se pocitalo 7x2ns=14 ns. Osobne jsem to vyresil v FPGA zpozdenim 3ns. Jinak bez toho to dela to, ze okraje znaku jsou nesmyslne. Proste to zabrazuje jine deformovane znaky. Je zde hazard.
Dnes jsem se podival na dalsi problem. Druhy zasek je v "external_CPU_in". Uz pri lusteni schematu jsem si rikal ze je divne ze signal se generuje uvnitr a pak jde "skoro" ven a vraci se opet zpet. Bez zpozdeni na tomto signalu nedochazi k zastaveni GDG pres Wait. Proste je tam hazard a obcas to funguje a obcas ne. Opet staci v FPGA to zpozdit o 3 ns a problem je vyresen.
Jinak jak ted testuji GDG ukazuji nasledujici radky. Upravuji primo mz800_rom.coe, coz je virtualni epromka. V miste kde uz je vse inicializovane a resi se stisk klavesy si odzkocim na cast kde je bezne obsluha QD. Zde mam testovaci prikazy co delaji smycku a tak pekne vidim co se deje. Ted mam nastaveno 8000 vzorku a tak muzu logovat cca 60% jednoho horizontalniho radku v rozliseni 3ns. Najednou ted loguji 64bitu abych videl hodne signalu soucasne. To je obrovska vyhoda Artix7 co mam. Ma relativne velkou vnitrni pamet.
ea6c zmena z cd 03 00 na 11 a3 11 cd 3 0 -> c3 b7 e9 - Label QBT: sluzby quick disku
puvodni 11 a3 11 cd 3 0
nove 11 a3 11 c3 b7 e9
Label QBT: sluzby quick disku
na e9b7 cd 13 eb 3e 2- muzu prepsat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2223 24 25 26 27 28 29 3031 32
CD 13 EB 3E 2 20 EC CD EC EE CD 27 EF 11 A7 ED 38 6B CD 59 EA 3E D 32 A3 11 CD 5F F2 3E 1 32
nove zadano:
1 2 3 4 5 6 7 8 9 0 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
3e 65 32 00 d8 3e 62 32 00 d8 3a d8 00 c3 b7 e9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00