Hur ändrar man stig- och falltider i LeonardoSpectrum?

Övriga diskussioner relaterade till komponenter. Exempelvis radiorör, A/D, kontaktdon eller sensorer.
Användarvisningsbild
zwitter
Inlägg: 111
Blev medlem: 25 november 2004, 18:03:34
Ort: Göteborg
Kontakt:

Hur ändrar man stig- och falltider i LeonardoSpectrum?

Inlägg av zwitter »

Hur ska jag göra för att ändra stig- och falltider på en port/pinne i LeonardoSpectrum? Det jag gör nu (vilket inte funkar) är att gå in på "advanced settings"->"constraints"->"output" och ändrar "Rise" och "Fall" till 5ns. Detta ger attributen:

pinne1 -name MAX_TRANS_FALL -value "5" -port
pinne1 -name MAX_TRANS_RISE -value "5" -port

Bra så långt. Men när jag sen kör detta i Figaro (place and route) så säjer den att alla andra portar/pinnar inte har någon "pad":
"Design Checker: **ERROR** - Net m_busy connected to the top level cell port m_busy has no pad"

Om jag går igenom alla portarna/pinnarna i LeonardoSpectrum och sätter dessa till ett värde på "Rise" och "Fall", klagar Figaro ändå på att den signalen som jag använder som klocka, clk, saknar pad.

Hur löser jag detta? Jag vill bara ändra stig- och falltider på vissa portar. FPGA:n som jag använder är en AT40K20 och ska ha tre olika lägen för ut/ingångar (slow, medium, fast). Jag har alla på "fast". FPGA:n körs i 40MHz, men jag kan inte få snabbare stig-/falltider än 25ns som det är nu.

Hur gör man :?:
Användarvisningsbild
zwitter
Inlägg: 111
Blev medlem: 25 november 2004, 18:03:34
Ort: Göteborg
Kontakt:

Inlägg av zwitter »

Detta var tydligen en svår fråga. Många som kollar in, men ingen som skriver något. Är det ingen som använder LeonardoSpectrum? Kanske har någon ett tips på ett bättre syntesprogram där det är enkelt att ändra stig- och falltider?
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

I de program jag använt (bara Alteras och Xilinx egna syntesverktyg) så har jag inte sett till någon möjlighet att sätta krav på just stig/falltid. Däremot kan man sätta "constraints" på "clock to output" t.ex. (vilket inkluderar stigtiden), samt att man kan ställa in diverse attribut direkt på IO-cellerna (slow/fast, IO-standard, drivstyrka...).

Man vill ju oftast ha längre stigtid om man kan, och i första hand minska andra fördröjningar.

Vet tyvärr heller inget om Atmels FPGAer, så jag vet inte vad deras IO-celler klarar av osv. 25ns låter extremt slött tycker jag iofs, var fick du den siffran?
Användarvisningsbild
babbage
Inlägg: 655
Blev medlem: 10 november 2004, 11:33:17
Ort: N-tälje

Inlägg av babbage »

Jag använder inte Leonardo. Men när du sätter "pinne1 -name MAX_TRANS_FALL -value "5" -port ", är det inte så att det är ett "constraint" för syntes och STA. Jag skulle tro att för att välja olika drivförmågor på utbufferten (om kretsen stödjer det) ska du sätta en speciell variabel, det blir nog till att läsa manualer och datablad.

Som cyr frågade, var får du 25 ns ifrån? Mycket förenklat är stig och falltiden ett linjärt beroende av lastkapacitansen. Olika drivförmåga för utbufferten är som att förändra lutningen i ekvationen för en rät linje. Du kan inte välja stig- och falltider godtyckligt i ett syntesprogram. Välj drivstyrka (grovinställning) och lastkapacitanse (fininställning med PCB-CAD)
Användarvisningsbild
zwitter
Inlägg: 111
Blev medlem: 25 november 2004, 18:03:34
Ort: Göteborg
Kontakt:

Inlägg av zwitter »

MAX_TRANS_FALL är en constraint, ja.

Stigtiden mätte jag med ett digital oscilloskop på x1. Ska ärligt erkänna att jag får ca halva stigtiden när jag sätter mätproben på x10. :wink:

Jag laddade hem Synplify, men det verkade svårt att få tag på en licens till de nyare versionerna. Leonardo gör säkert det den ska.

Snabba fall- och stigtider vill man väl ha? Klart att man vill köra i 190 :D
Det blir såklart problem...
Skriv svar