logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[vhdl składnia problem] Kruczki na instancje w VHDL?

zienek 28 Lut 2008 19:54 3152 2
REKLAMA
  • #1 4856192
    zienek
    Poziom 11  
    Posty: 38
    Ocena: 6
    Witam.

    Mam zapewne głupi problem.

    Stworzyłem transmitter UARTa w VHDLu. Kiedy to on jest nadrzędną jednostką (samodzielny projekt), to wszystko śmiga jak należy. Chciałem pozagnieżdżać parę innych rzeczy żeby nie wprowadzać bałaganu do projektu. Niestety wtedy wszystko pada.
    Na LEDach wyprowadziłem, sobie różne sygnały. Wnioskuję z nich, że coś mi wycina clk (LED1 świeci mocnym światłem - permanentnie włączony) a w związku z tym i clk2 (LED2 nie świeci) uruchamiający maszynę stanów (maszyna stoi na stanie pierwszym (LED5-7 zapalony tylko LED5 ))

    Mimo, że w RTL-view wszystko wygląda na podłączone - coś nie gra.

    Pisane pod evalboard Spartan3 Digilenta.
    http://digilentinc.com/Products/Detail.cfm?Prod=S3BOARD&Nav1=Products&Nav2=Programmable

    W załączniku felerny projekt.
    Załączniki:
    • tmp.zip (422.08 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 4857638
    [g.d.]
    Poziom 18  
    Posty: 174
    Pomógł: 31
    Jak na mój gust wszystko jest o.k. z instancjacją modułu "transmitter1". SW5 może Ci trzymać automat w stanie S1. Przydałby sie constraint PERIOD na net CLK w pliku *.ucf
  • #3 4858980
    zienek
    Poziom 11  
    Posty: 38
    Ocena: 6
    SW5 służy do włączania modułu transmitter.

    Co do constraint PERIOD to znalazłem coś takiego:

    The source and destination clocks are the same. PERIOD constraint suggestion.
    
    The best way to constrain paths using the same clock is with a PERIOD constraint. If this clock is generated by a DCM or DLL, the period should be put on the input clock pad to the DCM/DLL. The Translate process (ngdbuild) creates related PERIOD constraints for the DCM/DLL/output clocks. In Constraints Editor use the Global tab and click Period. Alternatively you can edit the UCF.
    
    PERIOD constraint example:
    
    NET clock TNM_NET = clock_grp;
    TIMESPEC TS_clock = PERIOD clock_grp 10 ns;


    Czy to znaczy, że dla mojego ucf z wpisem
    NET "CLK" LOC = "D9" ;

    Wzorując się na wyżej podanym wzorcu dopisałem:
    NET CLK TNM_NET = clock_grp;
    TIMESPEC TS_clock = PERIOD clock_grp 10 ns;

    I dalej nie ma CLK w module transmitter1.

    Poniżej info z etapu mapowania
    
    MapLib:863 - The following Virtex BUFG(s) is/are being retargeted to Virtex2 BUFGMUX(s) with input tied to I0 and Select pin tied to constant 0:
    BUFG symbol "CLK_IBUF_BUFG" (output signal=CLK_IBUF),
    BUFG symbol "Inst_transmitter1/clk2_BUFG" (output signal=Inst_transmitter1/clk2) 
REKLAMA