help me keičiant šį MATLAB kodą verilog

  • Thread starter neha_agarwal2k3
  • Start date
N

neha_agarwal2k3

Guest
Turiu paversti šiuos MATLAB kodą verilog kodas, kaip mano projektinis darbas .. Kai viena PLZ help dalis manęs ....

/ * Ši funkcija atsižvelgiama į 500X500matrix kaip parametrą ir patikrinimus, kiekvienos iš nulinio elemento. Jei ne nulinė vertė dabar ji teigia, skaičių tokių verčių skaičius taip pat teigia, kad padėtis Sumavimo (eilučių ir stulpelių vertė)
visus tokius elementus * /

funkcija NPO = nposn (c)
c = Double (c);
c = c-1;
countx = 0;
Apygarda = 0;
countpos = 0;
for (i = 1:500)
for (j = 1:500)
if (c (i, j) ~ = 0)
countx = countx i-1;
Apygarda = apskrityje j-1;
countpos = countpos 1;
pabaiga
pabaiga
pabaiga
posx = countx / countpos;
puokštė = apskritis / countpos;
NPO = [posx puokštė];

 
Tikiuosi, kad jums nereikia sintetinti tai!Slankiojo kablelio, didelis masyvas, kvadratas ...

Kam keisti C dvigubai?Kokia ji buvo anksčiau?

Kodėl c = c-1?

Čia yra daugiau ar mažiau tiesiogiai vertimas (nepatikrintas).Tačiau Verilog modulis uostuose negalima reals ar matricos, todėl, jei norite savarankiškų modulių, turite surasti kitą būdą tai padaryti I / O, galbūt naudojant $ realtobits () ir $ bitstoreal ().
Kodas

modulis nposn;

nekilnojamojo C [1:500] [1:500], posx, puokštelė;

integer I, J, countx, apskrities, countpos;pradinis Pradžia

for (i = 1, i <= 500; i = i 1)

for (j = 1; j <= 500; j = j 1)

C [j] = C [j] - 1;

countx = 0;

Apygarda = 0;

countpos = 0;

for (i = 1, i <= 500; i = i 1) Pradžia

for (j = 1; j <= 500; j = j 1) prasideda

if (C [j]! = 0) prasideda

countx = countx i - 1;

Apygarda = apskrityje j - 1;

countpos = countpos 1;

pabaiga

pabaiga

pabaiga

posx = countx / countpos;

puokštė = apskritis / countpos;

pabaiga

endmodule
 
Turiu sintezuoja šį modelį ir peržiūrėti netlist ... kad turiu tikrai gausite 500x500 matrica su įvesties ir išvesties uostai turėtų turėti
Taip pat kodo negauna rengiami ... Im getting klaidas netinkamas Nekilnojamasis kintamasis.
Input C matricos turi savo vertybes Uint8 formato ... Kad tikslumo turiu konvertuoti jį dvigubai ... taigi žingsnis

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />

c = Double (c)), nėra privaloma

PLZ help me

 
Yra didelis skirtumas tarp Verilog ir synthesizeable Verilog.Nėra pasaulyje, kad mano pavyzdys gali būti susintetintas tikimybė.

Gerai, nereikia kablelio duomenų, kad sveikieji skaičiai yra bauda everwhere išskyrus gal tuos galutinis skyriai.Skyriaus ir slankiojo kablelio (Real) yra labai skausminga sintezė, todėl daugelis priemonių ar jų nepalaiko.Pabandykite pašalinti juos kažkaip.

Jūs * * turi rasti kitu būdu atstovauti savo įvestus duomenis.Jūs negalite perduoti matrica su Verilog modulis.Kur tai masyvas saugomas?Jis per didelis laikyti viduje labiausiai FPGA.Išoriniai RAM?Atvykimas realiu laiku per mažas indėlis uostą?Visa architektūra priklausys nuo to, kaip tai padaryti.

 

Welcome to EDABoard.com

Sponsor

Back
Top