Xilinx Multiplier V7.0 vraag

O

osbourne

Guest
Hallo, ik ben met de "Multiplier Generator V7.0" IP Core om de kwadraat grootte van een complex getal berekenen a + jb, dat wil zeggen bereken ik een ^ 2 + b ^ 2. Voor het berekenen van een ^ 2 en b ^ 2 gebruik ik twee van de genoemde multiplier kernen. Wanneer ik een gedrags-simulatie is alles OK. Toen ik de geplaatste en gerouteerd model te simuleren, het resultaat is ook in orde, maar kort voor de juiste een ^ 2 of b ^ 2 stabiel is, zijn er snelle veranderingen in de waarden van een ^ 2 en b ^ 2. Wat is het probleem? Groeten, Osbourne
 
De standaard Coregen instellingen zijn geregistreerd in-en uitvoer geregistreerd. Hebt u de uitvoer naar niet-geregistreerd? Dat zou combinatorische wiebelen voor een paar nanoseconden. Dat is normaal, want je kijkt naar de uitgang van de vermenigvuldiging logica. Ik meestal niet de moeite met die kern. Ik heb simpel gezegd een * a en b * b en enkele registers in mijn HDL.
 
Hoi, ja, ik heb geregistreerd, de multiplier-uitgang. Maar ik heb nog steeds de genoemde probleem. Heeft u ook zien dit probleem als u de Core multiplier? Het IP-Core maakt gebruik van een 18x18 hardware multiplier van de Virtex II. Met behulp van een * a en b * b bouwt een combinatorische multiplier, nietwaar? Bedankt weer uw hulp, Osbourne [size = 2] [color = # 999999] Toegevoegd na 11 minuten: [/color] [/size] By the way, zou je me klein voorbeeld op welke manier je registreert genereren aan de ingang en de uitgang van een component als een multiplier? Ik ben niet zo ervaren. Bedankt
 
Ik gebruik Virtex II ook. Ik gebruik ISE 6.3i SP3 en ModelSim SE 6.0c. Ja, een * is een combinatorische. Als u snel wilt gaan, voeg wat pijplijn registreert zoals in mijn Verilog voorbeeld hieronder. PAR zegt dat het zal 171 MHz te gaan in een 2V80-4. Ik kon het duw hem iets sneller met behulp van geavanceerde plaatsing beperkingen.
Code:
 module top (clk, y); ingang CLK / / synthese attribuut periode clk "6.0ns", reg ondertekend [17:0] een = 1; reg ondertekend [35:0] p; uitgang reg ondertekend [35 : 0] y; altijd @ (posedge clk) beginnen een
 
Hi, bedankt, je bent erg behulpzaam. Dus, "posedge clk" genereert het register? Ik gebruik VHDL en ik denk dat ik kan "rising_edge (clk)" te gebruiken om een geklokt registreren genereren, toch?
 
Ik guys Ik gebruik Xilinx 7.1, en ik kan niet gevonden coregenerator. Is er een gratis versie, ik heb het dringend. wachten op uw antwoord Thanx
 
Nou, ratten. Ik kan het niet controleren van de Coregen multiplier-uitgang, omdat ISE omgedoopt tot de kern van de uitgang van de bus naar gekke namen en mengden ze met ongeveer 500 andere gekke namen. Ik kan niet zeggen wat wat is. Ik heb zelden post-route simulatie omdat het zo rommelig. Hoe lang is het interval van de "snelle veranderingen"? Als het een of twee nanoseconden, dan is het waarschijnlijk gewoon de normale route skew van de 36 bit bus. Als u de bus over de chip, kan de skew te verhogen met een paar ns. Ik weet niet VHDL. In Verilog het "altijd posedge clk" blok definieert een deel van geklokt logica. Mijn voorbeeld heeft drie gewone geklokt registers: een, p, en y. Let op dat de ISE soms registreert verplaatsen combinatorische logica. Bijvoorbeeld, als je meerdere pipeline registreert op de uitgang van de vermenigvuldiger, kan ISE verplaatsen van een of twee van hen naar de ingang kant om de prestaties verbeterd. Soms ISE verhuist registers kwetsen prestaties. ISE is niet perfect. wwahib2 - Ik denk dat ISE altijd coregen omvat. Probeer te zoeken op uw harde schijf voor coregen.exe. De folder moet in je pad.
 
Het interval van "snelle veranderingen" is ongeveer 0,55 ns terwijl de klok periode is ongeveer 10,9 ns. Zou dit geen probleem (hopelijk) worden? Ja ik weet het, er zijn duizenden signalen, toen ik een placeed en gerouteerd model te simuleren en ik heb ook vaak niet kan vinden degene die ik ben geïnteresseerd in By the way, ik ook waargenomen de "snelle veranderingen" wanneer u uw manier van de uitvoering van de multiplier, dat wil zeggen door het schrijven van een * a. Zie je dit ook?
 
Slechts 0,55 ns? Dat klinkt als een relatief kleine vertraging schuin onder de bus signalen. Uw signalen waarschijnlijk niet erg ver reizen. Elke bit duurt een iets ander pad. U kunt gebruik maken FPGA-editor om de routes en timing te geven. Het is educatief, een beetje leuk, en af en toe teleurstellend. In de "Lijst" venster, selecteer "Routed Nets ', markeert u de signalen in uw bus, en klik op Extra -> Vertraging. Dat zal invullen van de "Max Pin Delay" kolom met het pad vertragingen. Beats me waarom het heet "pin vertraging". U kunt de lijst ook sorteren op kolom - soms zeer nuttig zijn. Ja, zie ik de tijd variaties in mijn a * een aanpak. Ziet er normaal.
 
Ik ontdekte iets (wat ik niet begrijp: Wanneer ik de simulatie van de geplaatste en gerouteerd ontwerp te beginnen binnen de ISE, krijg ik de genoemde 'snelle veranderingen "Maar toen ik de simulatie einde en start het opnieuw op in ModelSim de" snelle veranderingen "zijn. gegaan ??!?? HAA Kan ik vertrouw ModelSim / ISE [size = 2] [color = # 999999] Toegevoegd na 17 minuten:??. [/color] [/size] FPGA-editor lijkt een leuke tool is er een handleiding beschikbaar over deze tool. Ik wil graag meer over te leren.
 
Ik maak geen gebruik Project Manager, dus ik kan niet raden wat er gebeurt met uw ModelSim opnieuw opgestart. Het klinkt niet als een ModelSim bug wel. Meer als iets dat het verzenden van de verkeerde bestanden te ModelSim. Dat is precies waarom ik geen gebruik maken van Project Manager - te veel verborgen activiteit. Ik heb niet gezien een FPGA-editor tutorial. Net het spul onder "Help".
 

Welcome to EDABoard.com

Sponsor

Back
Top