Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
20 years ago

EPCS : read electronic signature

Hi,

I need to identify the EPCS that is linked to my fpga.

How can I get the electronic signture of the EPCS ?

I have called the alt_epcs_flash_init(handle_epcs) function but my software is faulty after the call of this function.

What can I do to get it ?

I thank you,

Etienne

5 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Etienne,

    Have you tried single-stepping through this code to find out what is failing?

    In any case, the command that determines the flash's "silicon ID" is contained within the very function you're referring to:

    /* Send the RES command sequence */
      flash->silicon_id =
        epcs_read_electronic_signature(flash->register_base);

    Best of luck!

    - slacker
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I thank you for your answer, but It doesn't work in my project. When I call the function, the software never goes out ? Do you have an idea ?

    I thank you again

    --- Quote Start ---

    originally posted by slacker@Nov 12 2005, 06:52 PM

    etienne,

    have you tried single-stepping through this code to find out what is failing?

    in any case, the command that determines the flash's "silicon id" is contained within the very function you're referring to:

    /* send the res command sequence */
      flash->silicon_id =
        epcs_read_electronic_signature(flash->register_base);

    best of luck!

    - slacker

    <div align='right'><{post_snapback}> (index.php?act=findpost&pid=10952)</div>

    --- Quote End ---

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Etienne,

    I&#39;m sorry, but I don&#39;t know what you mean by "the software never goes out".

    Do you mean that this software is never called from within the alt_sys_init() function? Do you mean that the software fails to find a silicon_id? Or something else?

    Please elaborate.

    - slacker
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    We&#39;ve struggled with a similar problem and so I&#39;d be interested in knowing what you&#39;ve found.

    I&#39;ve put breakpoints in alt_epcs_flash_query where it does the call:

    flash->silicon_id =

    epcs_read_electronic_signature(flash->register_base);

    and have seen rather intermittent results, i.e. sometimes it reads the signature okay and sometimes it doesn&#39;t. It often changes its behavior when I re-download the .sof file. We are running on our own hardware with a 2C20-C8. We are using a STM serial flash M25P64V6G. We have Quartus 5.1 and Nios 5.1.

    We&#39;ve looked at the read sequence on a scope and when it fails it looks .... funny, it gets 0 back for the signature and other random stuff. The read signature sequence should be 40 clocks. They are being done a byte at a time which makes sense as they are coming out of a SPI controller but there is a long time between bytes, about 10 us, the clock is 12.5 MHz.

    Has anyone experienced similar problems?

    Mike