32bit lisätoiminto vuonna XC95-sarja

B

bamdad

Guest
Hei kaikille;
Minun täytyy toteuttaa 32bit lisätoiminto vuonna XC95144, olen jo toteuttanut sitä EPM7128 ja ajoitus analyysi osoittaa, että sitä voidaan käyttää jopa 36MHz, ja olen sen käyttämistä 32MHz ilman ongelmia.mutta kun yritän samaa muotoilua XC95144 tai XC95288, Ise 7.1 ei sovi suunnittelua, tai joissakin tapauksissa sovi onnistuu mutta ajoitus analysaattorin osoittaa, että max kellon taajuus on noin 10MHz (olen asettanut ajoitus seuraava 30ns annetun vuorokauden aikana).Any ideas?

 
Riippumatta hankkeen nimeä, näin paljon ongelmia ISE7.1, jotta kokeilla suunnittelua ISE6.3

Onnea!

 
ISE7.1 on joukko vikoja muodostanut yhteyden XC9500.

Päivitä ISE7.1.02i ja katso jos se toimii paremmin.

 
Olen yrittänyt sitä ISE6.1, ei 6.3, mutta asentaja ei sovi.Se kun ei sovi suunnittelua, mutta jotenkin vaikuttaa siltä, että tulokset ovat asentaja ei reproducable, suurin kellot vaihtelevat sopii.näyttää siltä, että Ise yrittää jonkinlaista logiikkaa intensiivinen lisätoiminto, jos se voidaan pakottaa käyttämään pienempiä siivuja, se onnistuu, mutta en tiedä kuinka ...

 
Mikä virhesanoma ovat Saatko?Onko asentaja Raportti tarjoa mitään ehdotuksia?Voitko näyttää meille koodisi?

A 32-bit rinnakkain lisätoiminto todennäköisesti täyttävät useimmat että CPLD, varsinkin jos olet panos rekistereistä.I'll bet se menee hitaasti liian - sirulle ei ole nopeasti kuljettaa logiikkaa.

Kokeile puuhailemme kanssa kehittyneen asennusehdot vaihtoehtoja, kuten Logic optimointi (nopeus / tiheys), Kutistuvat Input Limit, ja Kutistuvat PTerm Limit.Se defaults suurnopeusaluksiin, joka todennäköisesti aiheuttaa vakavia congesion on 32-bittinen lisätoiminto_Olla varma, ymmärrät mitä siru pystyy saavuttamaan.(En ole hyvin perehtynyt CPLDs.)

Ise ei super viisas.Joskus on otettava sen käsi ja kävele sen eri kadulla.

 
hyvin, olen käyttäen hyvin yksinkertaisen koodin.jotain tällaista:

aina @ (posedge kello)
aloittaa
akku = akku valvonta;
loppu

Ise synthesizes yksi 32bit synkroninen add-osa tästä koodi nopeuden optimointi, ja alueella optimointiehdotuksen, joka 32bit ALU.

Olen myös yrittänyt toista menetelmää:

antaa akulla = tulos valvonta;

aina @ (posedge kello)
aloittaa
Tulos = akulla
end;

toinen koodi on jälleen varustettu 22ns vähintään vuorokauden ajan, mutta muissa tapauksissa se ei sovi, että suurin pterm raja ylittyy (kun yrittää XC95288) tai enintään logiikka solujen raja ylittyy (kun yrittää XC95144).ainoa mitä ihmettelen on se, että olen yrittänyt samaa koodia, jopa enemmän logiikan lastauksesta valvonnan rekisteriin 8 bittinen segmenteillä vuonna 7160 tehty @ ltera, ja jopa 7128 ...miksi se ei sovi jopa 95288?

 
Täydellinen koodi please!Tarvitsetko näe I / O ja rekisteri / lanka-ilmoituksista.

Yleinen sääntö: älä käytä = on synkroninen estää.Käytä <= sijaan.

Rakensin tämän Ise 7.1.03i käyttäen XC95144-7-PQ160 ja kaikki Projektipäällikkö asetukset default:
Code:

moduuli alkuun (CLK, a, b, y);

panos CLK;

input [31:0] a, b;

output reg [31:0] y = 0;aina @ (posedge CLK) alkaa

y <= a b;

loppu

endmodule
 
IO on jätetty Ise päättää missä paikka, olen asettanut mitään rajoituksia IO sijainti, mutta olen asettanut 25ns min kellon ajan rajoitus minun kellosignaalin.
ja noin täydellinen koodi:
Olen onnistuneesti sovi tämän yksi EPM7160 kanssa MaxPlusII 10.2 ja suunnittelu työskennellyt enintään 36MHz ajoituksessa analyysi:

moduuli Lisätoiminto-@ ltera
(Osoite-, valvonta-, Strobe, MasterClock, ChAddress, ChLatch, OutputEnable);
input [1:0] Osoite;
input [7:0] valvontavaliokunnalle;
panos Strobe;
panos MasterClock;
tuotos [12:0] ChAddress;
tuotos ChLatch;
panos OutputEnable;

reg [31:0] Accumulator;
reg [31:0] ChControlWord;
reg [23:0] TempInput;

antaa ChLatch = MasterClock;

antaa ChAddress = (OutputEnable == 1)? Accumulator [31:19]: 13'bZ;

aina @ (posedge MasterClock)
aloittaa
Accumulator = Accumulator ChControlWord;
loppu

aina @ (posedge Strobe)
aloittaa
tapauksessa (Address)
0: TempInput [7:0] = valvontavaliokunnalle;
1: TempInput [15:8] = valvontavaliokunnalle;
2: TempInput [23:16] = valvontavaliokunnalle;
3:
aloittaa
ChControlWord [23:0] = TempInput;
ChControlWord [31:24] = valvontavaliokunnalle;
loppu
endcase
loppu

endmoduleMutta tämä yksi ei sovi XC95144-7TQ100 ...Olen sekaisin kanssa asetuksissa, asentaja, ja kerran, ja vasta sen jälkeen, kun se sopii sirulle:

moduuli Lisätoiminto-Xilinx (valvontavaliokunnan Kello, osoite);
input [31:0] valvontavaliokunnalle;
panos Kello;
tuotos [12:0] Osoite;

reg [31:0] Accumulator;

antaa linkku = Kello;

antaa Osoite = Accumulator [31:19];

aina @ (posedge MasterClock)
aloittaa
Accumulator = Accumulator valvontavaliokunnalle;
loppu

endmodule

 
Esimerkki toimii @ ltera, kuten B ei toimi Xilinx - Mitä sinä verrataan?

Kaksi puuttuu-symboli virheet Toinen esimerkki.

Molemmat esimerkit sopivat sakon XC95144-7-TQ100.Pidän asennusehdot vaihtoehto "Logic optimointi" ja "Tiheys".

Ehkä sinun on uudempi Ise tai Service Pack-pakettiin.

Älä käytä = (esto tehtävän) vuonna peräkkäin osaan.

 
molemmat eivät mahdu @ ltera mikään ei sovi Xilinx ...mitä kello nopeus teit saavuttaa Xilinx?Tarvitsen vähintään 40MHz ...toinen kohta, toinen on yksinkertaisempaa, ja vaatii vähemmän logiikkaa, ja ajattelin, että se voisi sovi, mutta se ei ole, siitä puuttuu tunnuksia, ne ovat jonkinlainen kirjoittamalla virheitä puolellani, koska molemmat mallit voidaan koota olemassa ole synthax tai tunnus virheitä täällä, joka tapauksessa.
[/ list]

 
Miten teidän Toinen esimerkki työn salpa ja MasterClock undefined?

Kun asettaa optimoinnin "tiheys", molemmat esimerkkejä sopii hienosti, ja raportoi noin 6 MHz: n nopeudella.
Päästä 40 MHz, luultavasti tarvitse logiikka uudelleensuunnittelun (epävarma menestys) tai parempi siru kuin 95144.

Tämä on 21,5 MHz XC95144-7-PQ160 kanssa default vaihtoehtoja.
Code:

moduuli alkuun (CLK, a, y);

panos CLK;

input [31:0] a;

output reg [31:0] y = 0;aina @ (posedge CLK) alkaa

y <= y a;

loppu

endmodule
 
Pyydän!Toinen esimerkki, se on vain pelkkä erehdys ...mutta vaikka te määritellä nämä kaksi signaalia (jäljempänä linkku signaali voidaan jättää pois, koska se ei ole osa todellisista lisätoiminto design. ja päällikköä kello on vain osallistua lisätoiminto moduuli ...
ja minun on se, että malli ei ole edes sovi 95288 ...Logic optimointiehdotuksen asettaa tasapainoa ...
Luulen, että minun on siirrettävä malli jotain Spartan 3 ...jossa voin Pack enemmän logiikkaa ...jopa prosessorin ydin

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />BTW, että kohta on se, että MIKSI ensimmäinen koodi, joka on enemmän logiikkaa intensiivinen, sopii erittäin hyvin EPM7160, mutta toinen ei sovi 95288, jolla on enemmän logiikka?Onko mitään keinoa pakottaa Ise syntetisoimiseksi jonkinlainen parempi lisätoiminto?Uskon, että ongelma on siinä, että Ise ei syntetisoimiseksi yksi kuljettaa ennakoiva lisätoiminto mahdollisimman segmentin pituus ..

 
Ok, ei enää puuttuu symbolit, anteeksi!

Sinä yrität jossa asentaja Logic optimointi "tiheys"?Sinun on ensin otettava käyttöön "edistyneenä" tilassa, että vaihtoehto Project Navigator.Kun minä, että sekä sinun esimerkkejä sovi sakon 95144, mutta kellon nopeus on huono.Jos en määritä tätä vaihtoehtoa, minun on vähentää "kutistuvien panos raja" tai "kutistuvien pterm raja" saavuttamiseksi tarpeelliseksi.Nämä ovat molemmat lisäasetukset liikaa.Se antoi minulle hieman korkeampi kellon nopeus, mutta silti kaukana 40MHz.Oletko nähnyt tämän?
http://direct.xilinx.com/bvdocs/appnotes/xapp444.pdf

Ehkä kysyä Xilinx teknistä tukea, jos he tietävät, joitakin temppu puristaa lisää nopeutta, kun CPLD lisätoiminto, mutta olen epäillä sitä.N: o nopeasti kuljettaa logiikkaa, ja Ise todennäköisesti luo helppo ratkaisu eikä optimoitu ratkaisu.Toinen vihje, Xilinx tuote Valitsimen oppaita ei suosittele CPLD varten aritmeettinen sovelluksia,
enkä näe mitään ehdotuksia tässä:
http://direct.xilinx.com/bvdocs/appnotes/xapp143.pdf

En ole koskaan käyttänyt EPM7160.Se voisi olla parempi siru kuin 95144.Xilinx CPLDs ovat halpoja, jännityksetön.Xilinx FPGA kuten Spartan 3 ovat huomattavasti tehokkaampia.You'll like it!

 
Kyllä, karuja III on hämmästyttävää ...melko valoisa vuonna Xilinx tuotelinjan hinnan ja suorituskyvyn näkökohta.ainoa haittapuoli nämä uudet state-of-the-art tuoteryhmäkohtaisissa on, että yksi ei voi helposti interface ne 5V järjestelmien ja helposti tarkoitan "vain johdot".ja ikääntyneiden 5V yhteensopiva perheet ovat kalliimpia ja vähemmän featureful.mutta tämä ei ole niin paljon huolta.

Thanx apuanne ja aika.

 

Welcome to EDABoard.com

Sponsor

Back
Top