LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cores > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: tc27 at shaw.ca<tc27@s...>
    Date: Fri Dec 31 13:09:20 CET 2004
    Subject: [oc] RS232 WB Controller freezes on Xilinx FPGA
    Top
    > Loads. You haven't really told us anything. Are you simulating, or
    > running on real hardware? If you haven't simulated, then go back
    > and do so.

    I'm running it on a Memec Spartan2 200 - 6 board that has a MAX232
    type part that converts the levels.

    > What's on your device? Is it just the RS232 and GPIO? Are these
    > cores
    > tested and known to work?

    The GPIO core looks good, its recent, and very nicely written. The
    RS232 Wishbone Controller is a bit old, and not as neatly written.

    > BTW, if you haven't got a very good reason not to, then use a
    > global
    > clock line. Why are you considering using local clocks?

    At first having local clocks actually improved the stability of the
    core substantually. But after another couple days, I've determined
    that whether its stable or not, completely depends on the synthesis.
    Like I said before I'm dividing 100 Mhz by 4 to get a system clock of
    25Mhz that is clocking everything inside the FPGA.

    At first I did this using one of the Xilinx DLLs, but I noticed
    freezing, and thinking that it could be the DLL (or atleast my
    implementation of the divider) I switched to a counter to divide the
    clock. The first time I syntesized, Xilinx's ISE didnt make the
    output a global clock, but everything ran fine. Later I went back and
    made it a global clock, but then the RS232 core started freezing.

    I did a few tests, then went back to the DLL as a divider (with global
    clock output), and it stopped freezing, and worked just fine. Then I
    changed a few minor things in my overall design, and it started
    freezing again.

    I should point out that the RS232 core freezes without asking it to do
    any WISHBONE bus transactions. I simply reset the FPGA, hit <ENTER>
    and the RS232 core gives me the prompt. Then I keep hitting <ENTER>
    (or hold it down) and within a minute it will freeze.

    Again, sometimes it will synthesize fine, and will run for hours.
    Sometimes ISE synthesizes it in such a way that it freezes within a
    minute. Thats why its kinda puzzling me.

    Anyways I've moved on and excepted that it freezes, since its only
    there for testing purposes. I'm now adding the PCI WISHBONE Bridge as
    a guest, and another slave ( the Timer/Counter core ), and using
    CONBUS to connect them all.

    Thank you all,
    Mark

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.