OpenCores
URL https://opencores.org/ocsvn/dblclockfft/dblclockfft/trunk

Subversion Repositories dblclockfft

[/] [dblclockfft/] [trunk/] [bench/] [cpp/] [butterfly_tb.cpp] - Diff between revs 8 and 13

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 8 Rev 13
Line 48... Line 48...
class   BFLY_TB {
class   BFLY_TB {
public:
public:
        Vbutterfly      *m_bfly;
        Vbutterfly      *m_bfly;
        unsigned long   m_left[64], m_right[64];
        unsigned long   m_left[64], m_right[64];
        bool            m_aux[64];
        bool            m_aux[64];
        int             m_addr, m_lastaux;
        int             m_addr, m_lastaux, m_offset;
        bool            m_syncd;
        bool            m_syncd;
 
 
        BFLY_TB(void) {
        BFLY_TB(void) {
                m_bfly = new Vbutterfly;
                m_bfly = new Vbutterfly;
                m_addr = 0;
                m_addr = 0;
Line 64... Line 64...
                m_bfly->i_clk = 0;
                m_bfly->i_clk = 0;
                m_bfly->eval();
                m_bfly->eval();
                m_bfly->i_clk = 1;
                m_bfly->i_clk = 1;
                m_bfly->eval();
                m_bfly->eval();
 
 
 
                if ((!m_syncd)&&(m_bfly->o_aux))
 
                        m_offset = m_addr;
                m_syncd = (m_syncd) || (m_bfly->o_aux);
                m_syncd = (m_syncd) || (m_bfly->o_aux);
        }
        }
 
 
        void    reset(void) {
        void    reset(void) {
                m_bfly->i_ce    = 0;
                m_bfly->i_ce    = 0;
Line 141... Line 143...
                        m_bfly->v__DOT__mpy_r & (~(-1l<<40)),
                        m_bfly->v__DOT__mpy_r & (~(-1l<<40)),
                        m_bfly->v__DOT__mpy_i & (~(-1l<<40)));
                        m_bfly->v__DOT__mpy_i & (~(-1l<<40)));
                printf("\n");
                printf("\n");
                */
                */
 
 
                if ((m_syncd)&&(m_left[(m_addr-23)&(64-1)] != m_bfly->o_left)) {
                if ((m_syncd)&&(m_left[(m_addr-m_offset)&(64-1)] != m_bfly->o_left)) {
                        fprintf(stderr, "WRONG O_LEFT!\n");
                        fprintf(stderr, "WRONG O_LEFT!\n");
                        exit(-1);
                        exit(-1);
                }
                }
 
 
                if ((m_syncd)&&(m_right[(m_addr-23)&(64-1)] != m_bfly->o_right)) {
                if ((m_syncd)&&(m_right[(m_addr-m_offset)&(64-1)] != m_bfly->o_right)) {
                        fprintf(stderr, "WRONG O_RIGHT!\n");
                        fprintf(stderr, "WRONG O_RIGHT!\n");
                        exit(-1);
                        exit(-1);
                }
                }
 
 
                if ((m_syncd)&&(m_aux[(m_addr-23)&(64-1)] != m_bfly->o_aux)) {
                if ((m_syncd)&&(m_aux[(m_addr-m_offset)&(64-1)] != m_bfly->o_aux)) {
                        fprintf(stderr, "FAILED AUX CHANNEL TEST (i.e. the SYNC)\n");
                        fprintf(stderr, "FAILED AUX CHANNEL TEST (i.e. the SYNC)\n");
                        exit(-1);
                        exit(-1);
                }
                }
 
 
                if ((m_addr > 22)&&(!m_syncd)) {
                if ((m_addr > 22)&&(!m_syncd)) {

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.