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
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Openrisc > Message List > Message Post

    Message

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

    From: Damjan Lampret<damjanl@b...>
    Date: Thu Jul 21 12:25:29 CEST 2005
    Subject: [openrisc] MAC Instructions
    Top
    Hi Mike,

    I have tested MAC with code in instruction cache, where the fetch delay is
    minimal. Anyway I'll have a look.

    Can you just confirm that you use the latest version of the RTL?

    regards,
    Damjan

    ----- Original Message -----
    From: "michael scott" <mike.scott@j...>
    To: <openrisc@o...>
    Sent: Thursday, July 21, 2005 11:59 AM
    Subject: [openrisc] MAC Instructions


    > Hi Damjan,
    > I forget to mention in my e-mail that I'm running the code
    > from QMEM in order to get 16MegaMACs throughput at 16Mhz cpu clock
    >
    > Running code in WISHBONE memory (which in my case take 3 cycles)
    > hides the problem as the multiplier pipeline always completes in time
    >
    > Interestingly, when executing l.div/l.ldivu in QMEM you can clearly
    > see a stall for approx 32 cycles while the op completes
    >
    > I've attached some waveforms (zipped postcript)to show the effect
    >
    > If you look on the qm_rdata bus you can see the five mac instructions
    > comprising altenating l.mac r2,r6 (0xc4023001) and l.mac r2,r7
    > (0xc4023801)
    > the corresponing MAc operation is observed on mult_mac_result
    > and follows the sequence 32,96,128,192,224 as expected by the code (also
    > attached)
    > However, when executing l.macrc r4 the mac pipline has only reached the
    > value 128 -there are still two cycles to go.
    >
    > just before time 2696 us on the waveforms it can be seen that this
    > 'intermediate'
    > value in copied to r4.
    >
    > I notice the line mac_stall_r is only high for 1 singe cycle. I belive it
    > should
    > high for a further two cycles for correct operation
    >
    > Hope this helps
    >
    > Regards
    >
    > Mike
    >
    >
    >


    --------------------------------------------------------------------------------


    > _______________________________________________
    > http://www.opencores.org/mailman/listinfo/openrisc


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