Xilinx restricció de temps: com especificar el nom de l'objecte?

B

buenos

Guest
hola Diguem que tinc un projecte com aquest: toplevel.vhd com superior amb el nom d'arxiu de l'entitat de major nivell inerface1.vhd té una entitat anomenada Interface1, i es crea una instància en topmodule com inst_interface1. Interface1 té un senyal de rellotge intern anomenat interface1_internalclock1 funcionant a 50 MHz, i es genera en un submòdul de Interface1 anomenat sub_inerface1.vhd instància com inst_sub_inerface1. Com s'especifica el nom exacte del senyal de rellotge en un arxiu de restricció UCF? Im usant ISE12 WebPack per al desenvolupament. Ho he intentat de diverses maneres, però sempre em dóna un error dient que "NET" xxxx "no trobat". He intentat les següents: a) NET "adcif_wb_clk_o" TNM_NET = "adcif_wb_clk_o"; timespec TS_adcif_wb_clk_o = període "adcif_wb_clk_o" 20 ns ALTA 50%, b) NET "Inst_s6bfip_adc/adcif_wb_clk_o" TNM_NET = "adcif_wb_clk_o"; timespec TS_adcif_wb_clk_o = període "adcif_wb_clk_o "20 ns ALTA 50%;
 
en general tracte d'usar restriccions derivades. per exemple, limitar PAD_CLK i deixar que les eines determinen les coses. Això permet que els rellotges relacionats que es veu limitada amb facilitat. Un altre mètode consisteix a examinar l'informe PAR per les coses de les eines anomenades rellotges. Això és realment útil, ja que us mostra si se li va oblidar totes les restriccions simples. Pel que fa a noms, ni idea. el problema és que les eines poden fer malbé els noms bastant malament. el rellotge podria acabar amb qualsevol nombre de noms, com top_level_signal, exemple / instance_port, exemple / la conducció del senyal, signal_BUFG_O, etc ... algunes optimitzacions també destruirà els noms. Rellotges en general acaben el mateix en cada generació amb les optimitzacions mateix, però les xarxes d'altres que no. Els atributs del VHDL / Verilog i UCF "guardar" (i de vegades "guardar") pot ser útil
 
Sovint, les eines de síntesi de canviar el nom de senyals. Pot ser necessari que vagi a l'arxiu. EDF i mirar a través de vostè mateix. Generalment, vostè pot trobar els mòduls en el mateix, i llavors és una qüestió de trobar el mòdul que està interessat, i veure el que els noms de la xarxa del sintetitzador utilitza per connectar els ports del mòdul d'interès. Això generalment funciona per a mi. rb
 
ih ha una manera d'evitar que els senyals de canvi de nom? com el syn_keep en Synplify, però amb XST. Els problemes que es poden veure amb aquest mètode són les següents:-doesnt generar una edició, que genertes crec que un NGC o alguna cosa així. - La llista de xarxa és com una seqüència de caràcters aleatoris grans, trobar alguna cosa d'això pot ser difficoult - Tinc al voltant de 10 rellotges de limitar. eines de Xilinx anterior, igual que 6,2 treballar molt bé amb aquest tipus de timinjg limitacions, però ell doesnt v12 [COLOR = "Silver"] [SIZE = 1 ]---------- missatge afegit a les 10:26. - -------- post anterior va ser a les 08:49 MIDA ----------[/] [/color] ", limitar PAD_CLK i deixar que les eines de determinar les coses" im utilitzant transceptors GTP amb els seus contenidors generats en coregenerator. el GTP té un pin de rellotge de referència i un PLL intern. que genera el rellotge de bus paral · lel, i això és el que vull limitar. i han d'error similar per veure diferències rellotges io també. LVDS dif entrades de dades de ADC amb el rellotge d'entrada dif. i han desplaçament especificat en la restricció, però no sé com fer referència a l'entrada de rellotge diff. és clockx_P o clockx_N o clockx o què?
 
Bé, encara que no l'he fet servir alguna vegada XST, l'equivalent de syn_keep és només "mantenir". He trobat que aquesta limitació no funciona el 100% del temps, especialment si vostè utilitza assigna per fer dos cables iguals. Sempre es pot generar un arxiu d'EDF amb la comanda ngc2edf, escrit a màquina en la línia d'ordres o en la finestra de la consola SE. Si més no llavors vostè pot revisar la llista de connexions i esbrinar el que el seu fer amb els noms! Me'n vaig de la memòria, però vostè acaba d'escriure "ngc2edf, bla, bla", assumint que vostè volia crear blah.ngc de blah.edn. rb
 
sinó que també dóna el mateix error (o una advertència si em vaig posar a egnore) sobre les restriccions d'ubicació: ADVERTÈNCIA: ConstraintSystem - Un objecte de disseny objectiu de la restricció Locate [User_Constraints/s6bf_board_constraints.ucf (296)] "No s'ha pogut trobar i per tant Col · loqueu la restricció s'eliminarà. Tinc una PCI-Express i una interfície d'aurora, és obvi que seria dolent per intercanviar les seves GTPs a l'atzar. ha d'haver una solució general a "tots els noms de poreserve objecte" que s'utilitza l'atribut i KEEP en UCF i en VHDL, però no va tenir cap efecte. ISE només fa cas omís de tots els noms dels objectes que no són de primera els noms a nivell de port. Què vol dir que amb FPGAs Xilinx que només podem fer un sol arxiu la lògica combinatòria fins a una velocitat desconeguda, i els recursos de difícil IP no estan disponibles per als usuaris?
 
És aurora_module_i el nom del més alt nivell del disseny que estan limitant? Si no, pot ser que hagi de anteposar més nivells de jerarquia per al nom del mòdul. Això sovint és necessari quan es genera o se'ls dóna un nucli i les seves limitacions, com per exemple quan es generen a partir de corego. Des corego no sap res sobre la resta de la jerarquia del seu sistema, només es pot nomenar el mòdul basat en la part del sistema que es coneix. Si vostè ha instància de la interfície d'aurora en el mòdul superior, el nom veritable camí a la interfície de aurora pot ser / aurora_module_i /.... I en resposta a la seva primera pregunta, no hi ha cap restricció. Quant a la segona pregunta, un bloc IP realment dur significa que ja està dissenyat i encaminat, per la qual cosa no hi ha una limitació real que vostè pot fer, que no sigui des de i cap al IO. rb
 
un mètode que funciona bé és la construcció de només el disseny, a continuació, esbrinar el que les eines van fer. Es triga aproximadament una hora per fer. Una vegada que vostè té la NGD pot carregar fpga_editor i trobar els noms i el LOC. També li permet fer restriccions per UCF LOC (i brutícia, si cal). Alternativament, vostè pot veure si hi ha advertències de per quines limitacions es tenen en compte. LOC'ing la de GTP no hauria de ser necessària si vostè LOC'd la RXP / RXN i TXP / TXN. aquestes connexions no la ruta en un altre lloc que la connecta rajoles GTP, i les eines han de ser capaços de determinar fàcilment això. (L'altre cas, també és cert - si loc una rajola GTP, que no serà necessari que el COL RXP / RXN 's)
 
ok. Què passa si els pins LOC GTP i no la rajola GTP? el força a la peça de GTP a aquest lloc? Espero que sí. sobre els errors de temps el nom de la restricció: Crec que ha de fer ise fer cas omís de les restriccions, perquè pugui arribar al punt en el procés d'execució en el qual ja tenen accés a l'editor de restricció on es mostren els noms de rellotge en una llista. el molt estúpid que ise per poder establir les limitacions de temps, vostè necessita un disseny lliure d'errors de sincronització ... per preservar la jerarquia, he intentat això: keep_hierarchy atribut: string; atribut keep_hierarchy de s6bfip_dsp: l'entitat és "sí", a l'arxiu de nivell superior de cada cartutx. Ho he provat abans de la declaració de l'entitat, després de l'entitat abans d'arquitectura, després del nom de l'arquitectura abans de començar ... però ise em va donar errors que diuen els seus no està en la secció que espera que sigui. que és exactament el que aquest ha de ser? entre les paraules clau? He especificat per mantenir les xarxes i no em surt error d'ells, només el sintetitzador treure els noms de xarxa de totes maneres.
 

Welcome to EDABoard.com

Sponsor

Back
Top