OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 17.06.2025, 03:37

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 113 ]  Přejít na stránku Předchozí  1 ... 4, 5, 6, 7, 8
Autor Zpráva
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 10.05.2025, 11:23 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2828
Has thanked: 159 times
Been thanked: 464 times
Tak uz jsem zacal delat prvni pripravy. Zatim jsem pod emulaci windows7 nainstaloval posledni ISE 14.7 co umi XC9500. Zkusil i neco ve Verilogu prelozit. A hned prvni docela velky problem. System poradne nechape verilog. Budu muset zjistit proc. Pomohlo ale kdyz jsem kod zapsal ve verilogu ale tak jak se kod pise ve VHDL. Pak system konecne pochopil ze chci flip-flop registr. Chtel bych nasledne jit jeste do rapidne starsi verzi ktera ma umet i prekladat "spartan" 5V, tak mam uz ted obavu jake probemy budu mit. Ten Spartan ma vyhodu ze to nikdo uz nekupuje, je to hodne out of date, zna to jen prehistoricky prekladac a nic moc to nemumi ale pro stare pocitace je to porad in.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 10.05.2025, 22:24 
Offline
Kecka

Registrován: 30.01.2015, 21:23
Příspěvky: 66
Has thanked: 1 time
Been thanked: 11 times
No mozna by mohli pomoct sablony: https://www.cs.ucr.edu/~windhs/lab1/xil ... intro.html (step 7) co jsou v ISE 14.7 jsou tam ruzne priklad jak psat jednotlive elementy (flip-flop, counter apod.) ve VHDL nebo Verilog.
Pripadne tady v PDF formatu: https://www.cs.columbia.edu/~sedwards/c ... 40/lib.pdf treba strana 509.

_________________
Amiga 600 + 2MB Handmade Chip Ram a Gotek, Macintosh Classic, Atari ST, Alpha Digital Personal Workstation a nejake vraky, ze kterych se snad stanou zase fukcni stroje


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 11.05.2025, 08:25 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2828
Has thanked: 159 times
Been thanked: 464 times
Kulich.bulich dik za odkazy. Zajimave.

Ukazi maly kod. To nastavovani Q1 je to co ocekavam. Prekladac spravne pochopil co chci. Ale dokud nedam do zdrojaku "if (clk == 1 )" tak tech dvou hornich latchu se nedockam. Zde mne prekladac nepochopil a nereaguje spravne na muj pozadavek "always @(posedge clk)".

module ver(
input set1,
input inp1,
output Q,

input a,
input b,
input clk,
input rst,
output c_out1,
output data1
);


reg data;
reg c_out;
reg Q1;

always @(posedge clk)
begin

if (clk == 1 )
if (rst == 1 )
assign {c_out, data } = 2'b0;
else
assign {c_out, data } = a + b;
end

assign data1= data;
assign c_out1= c_out;

always @ (posedge clk) begin
if (rst)
Q1 <= 0;
else if (set1)
Q1 <= 1;
else
Q1 <= inp1;
end

assign Q= Q1;

endmodule


Přílohy:
ukazka1.png
ukazka1.png [ 37.47 KiB | Zobrazeno 957 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 11.05.2025, 10:32 
Offline
Kecka

Registrován: 30.01.2015, 21:23
Příspěvky: 66
Has thanked: 1 time
Been thanked: 11 times
No nejsem Verilog pozitivni (pouzivam VHDL), ale neni cekal bych pro Latch neco takoveho (viz lib.pdf - strana 1222):

always @ (inp1 or set1) begin
if (set1)
Q1 <= inp1;
end

V tom prikladu co uvadis, mas jenom vzestupnou hranu hodin v sensitivity casti procesu a pak je to blize D-klopaku co reaguje na hranu hodin.

_________________
Amiga 600 + 2MB Handmade Chip Ram a Gotek, Macintosh Classic, Atari ST, Alpha Digital Personal Workstation a nejake vraky, ze kterych se snad stanou zase fukcni stroje


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 11.05.2025, 12:46 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2828
Has thanked: 159 times
Been thanked: 464 times
Mel jsem napsal ze chci flip-flop. Jinak pri "if (clk == 1 )" to reaguje na vzestupnou hranu. Pri "if (clk == 0 )" na sestupnou hranu. Da tam do cesty hodin invertor.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 11.05.2025, 14:55 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2828
Has thanked: 159 times
Been thanked: 464 times
Musel jsem si pohrat s definici blocking a nonblocking. Ted to dela co chci. Ale soucasne budu muset zjistit proc si projekt porad pamatoval signaly ktere jsem smazal. Porad mi je ukazoval v reportu. Nepomohlo vycisteni projektu. Pomohlo az vyzkoceni z ISE.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 11.05.2025, 19:33 
Offline
Kecka

Registrován: 30.01.2015, 21:23
Příspěvky: 66
Has thanked: 1 time
Been thanked: 11 times
suksoft píše:
Mel jsem napsal ze chci flip-flop. Jinak pri "if (clk == 1 )" to reaguje na vzestupnou hranu. Pri "if (clk == 0 )" na sestupnou hranu. Da tam do cesty hodin invertor.

Nechci byt za remcala :) (drzim palec s projektem) a pokud ty frekvence hodin budou male (asi do 20MHz) je vicemene jedno a ten invertor na hodinach byt muze, jinak bych doporucil se vyhnout ruznym upravam clock signalu v FPGA.

_________________
Amiga 600 + 2MB Handmade Chip Ram a Gotek, Macintosh Classic, Atari ST, Alpha Digital Personal Workstation a nejake vraky, ze kterych se snad stanou zase fukcni stroje


Nahoru
 Profil  
 
 Předmět příspěvku: Re: GDG replica inside old CPLD
PříspěvekNapsal: 18.05.2025, 12:19 
Offline
Pan Generální

Registrován: 19.07.2013, 15:54
Příspěvky: 2828
Has thanked: 159 times
Been thanked: 464 times
Udelel jsem si pekne nedelni dopoledne. Nejdrive jsem zkusil zda pomuze vice pameti v pocitaci a pak co udela zmena na dva procesory a v kazdem dve jadra. Oboji zrychlilo preklad. Ne ze by to bylo potreba ale jde videt ze nejaky cas to usetrilo :-) . Kazdopadne ted nejde cpu na 100% ale rozlozi se to na vice jader.

Pak jsem zkousel ruzne komparatory, scitacky a citace. Trosku jsem si hral i s optimalizaci ale asi pro mne je nechat vse v defaultnim stavu. ISE rozumne vse resi. Bohuzel uz mezivysledek je skoro necitelny a vysledek se pro bezneho smrtelnika necitelny (z casovych duvodu). Mezivysledek generuje pomoci vnitrnich sablon. Vi jak ma co resit a navrhne spravny kombinacni obvod. Na ten pak jeste provede optimilizaci, ktera je ale nutna a vysledek je zapojeni co nejlepe vyuziva zdroje cpld. Na vysledek se da pouzit veta "My mu nerozumíme, ale my mu věříme" z filmu Pekaruv cisar. Kazdopadne idelani je aby co nejvice veci bylo prepsano co bezny entit. Pak prekladac muze delat "zazraky".

Ted budu chtit overit jak vynechava zbytecne signaly. Logicky ocekavam ze presne jak je to mozne. Co jsem zatim zkusil to bylo ok.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 113 ]  Přejít na stránku Předchozí  1 ... 4, 5, 6, 7, 8

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz