LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Job Opportunity
  •  
    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: richard at herveille.net<richard@h...>
    Date: Wed Apr 4 03:13:37 CEST 2007
    Subject: [oc] I2C Issue
    Top
    Hi guys,

    The provided testbench works; it has been tested on synopsys vcs, cadence
    ncsim, and modelsim. These are the 3 leading simulators.
    The core works; I have confirmed reports of over 50 companies using the
    core in their designs; a few more if you add those companies using the
    commercially available versions. And it works out of the box!!!
    I added a makefile (for ncsim only) that runs the testbench.
    Combining the core (in rtl), the testbench (in bench), the makefile (in
    sim/bin), and the documentation (in doc) you should be able to get this
    running. Ok admitted you need to understand the wishbone bus interface; so
    download that spec too.

    I heard complaints about the doc, people not being able to find the
    testbench, people not being able to hook everything together.
    To be honest, this indicates either a lack of knowledge of using IP cores
    (which is fine, but then don't blame the core), or just a general lazyness
    in searching opencores.

    The testbench is self checking; this means it is not waveform oriented.
    Forget about checking waveforms with your eyes. This might work for the
    i2c interface but not for bigger IP cores. Instead the testbench initiates
    transfers and automatically checks the core (i.e. the status of the i2c
    bus and registers). Obviously the testbench does wiggle the sda and scl
    lines ;)


    Down to the stupid questions;
    1) Did you run the provided testbench or are your running your own?
    2) Did you create the open-drain outputs using the tri-state buffers as
    described in the doc. Please don't tell me you don't understand the doc as
    it provides a graphical representation and the actual code to implement
    the buffers (both in vhdl and verilog).
    3) Did you pull-up SDA and SCL in the testbench?

    Some notes:
    1) There is a typo in the VHDL code; scl_pad_i <= sda should of course be
    sda_pad_i <= sda. But you should have figured that out.
    2) No idea why there's still a documentation folder. It should be removed.

    Richard


    > I'm getting the same problem that DR is getting. SDA and SCL are not
    > toggling. Has anyone been able to get it to work or is this how the test
    > bench works? Richard has done a great job putting this together, I just
    > wish he would've included an explicit readme file and a simulation result
    > for reference.
    > Steve
    > _______________________________________________
    > http://www.opencores.org/mailman/listinfo/cores
    >


    ReferenceAuthor
    [oc] I2C IssueTd111

    Follow upAuthor
    [oc] I2C IssueHodge, Stan (Ltg CoE)

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