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

Subversion Repositories linkruncca

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /linkruncca
    from Rev 7 to Rev 8
    Reverse comparison

Rev 7 → Rev 8

/trunk/sim/obj_dir/VLinkRunCCA__Syms.h
0,0 → 1,40
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table internal header
//
// Internal details; most calling programs do not need this header
 
#ifndef _VLinkRunCCA__Syms_H_
#define _VLinkRunCCA__Syms_H_
 
#include "verilated.h"
 
// INCLUDE MODULE CLASSES
#include "VLinkRunCCA.h"
 
// SYMS CLASS
class VLinkRunCCA__Syms : public VerilatedSyms {
public:
// LOCAL STATE
const char* __Vm_namep;
bool __Vm_activity; ///< Used by trace routines to determine change occurred
bool __Vm_didInit;
//char __VpadToAlign10[6];
// SUBCELL STATE
VLinkRunCCA* TOPp;
// COVERAGE
// SCOPE NAMES
// CREATORS
VLinkRunCCA__Syms(VLinkRunCCA* topp, const char* namep);
~VLinkRunCCA__Syms() {};
// METHODS
inline const char* name() { return __Vm_namep; }
inline bool getClearActivity() { bool r=__Vm_activity; __Vm_activity=false; return r;}
} VL_ATTR_ALIGNED(64);
#endif /*guard*/
/trunk/sim/obj_dir/VLinkRunCCA__ALLsup.cpp
0,0 → 1,2
// DESCRIPTION: Generated by verilator_includer via makefile
#include "VLinkRunCCA__Syms.cpp"
/trunk/sim/obj_dir/VLinkRunCCA Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
trunk/sim/obj_dir/VLinkRunCCA Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: trunk/sim/obj_dir/VLinkRunCCA__ALLsup.d =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__ALLsup.d (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__ALLsup.d (revision 8) @@ -0,0 +1,4 @@ +VLinkRunCCA__ALLsup.o: VLinkRunCCA__ALLsup.cpp VLinkRunCCA__Syms.cpp \ + VLinkRunCCA__Syms.h /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilatedos.h VLinkRunCCA.h \ + VLinkRunCCA__Inlines.h Index: trunk/sim/obj_dir/VLinkRunCCA__verFiles.dat =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__verFiles.dat (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__verFiles.dat (revision 8) @@ -0,0 +1,21 @@ +# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will. +C "-Wall --cc ../src/LinkRunCCA.v --exe sim_main.cpp -I../src" +S 3873 1461557074 "../src/../src/LinkRunCCA.v" +S 47 1461653407 "../src/cca.vh" +S 3555 1461507430 "../src/equivalence_resolver.v" +S 2921 1461507491 "../src/feature_accumulator.v" +S 1541 1461507495 "../src/holes_filler.v" +S 1524 1461507508 "../src/row_buf.v" +S 661 1461409178 "../src/table_ram.v" +S 2711 1461506855 "../src/table_reader.v" +S 1428 1461506861 "../src/window.v" +S 3212008 1332246012 "/usr/bin/verilator_bin" +T 41950 1461653407 "obj_dir/VLinkRunCCA.cpp" +T 5756 1461653407 "obj_dir/VLinkRunCCA.h" +T 1992 1461653407 "obj_dir/VLinkRunCCA.mk" +T 735 1461653407 "obj_dir/VLinkRunCCA__Inlines.h" +T 600 1461653407 "obj_dir/VLinkRunCCA__Syms.cpp" +T 990 1461653407 "obj_dir/VLinkRunCCA__Syms.h" +T 464 1461653407 "obj_dir/VLinkRunCCA__ver.d" +T 0 1461653408 "obj_dir/VLinkRunCCA__verFiles.dat" +T 1100 1461653407 "obj_dir/VLinkRunCCA_classes.mk" Index: trunk/sim/obj_dir/VLinkRunCCA__Inlines.h =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__Inlines.h (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__Inlines.h (revision 8) @@ -0,0 +1,23 @@ +// Verilated -*- C++ -*- +#ifndef _VLinkRunCCA__Inlines_H_ +#define _VLinkRunCCA__Inlines_H_ + +#include "verilated.h" + +//====================== + +#ifndef VL_HAVE_CONST_W_16X +# define VL_HAVE_CONST_W_16X +static inline WDataOutP VL_CONST_W_16X(int obits, WDataOutP o + ,IData d15,IData d14,IData d13,IData d12,IData d11,IData d10,IData d9,IData d8 + ,IData d7,IData d6,IData d5,IData d4,IData d3,IData d2,IData d1,IData d0) { + o[15]=d15; o[14]=d14; o[13]=d13; o[12]=d12; o[11]=d11; o[10]=d10; o[9]=d9; o[8]=d8; + o[7]=d7; o[6]=d6; o[5]=d5; o[4]=d4; o[3]=d3; o[2]=d2; o[1]=d1; o[0]=d0; + for(int i=16;i&1 | c++filt + + +# Verilated -*- Makefile -*- Index: trunk/sim/obj_dir/VLinkRunCCA__ALLcls.cpp =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__ALLcls.cpp (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__ALLcls.cpp (revision 8) @@ -0,0 +1,2 @@ +// DESCRIPTION: Generated by verilator_includer via makefile +#include "VLinkRunCCA.cpp" Index: trunk/sim/obj_dir/VLinkRunCCA__ALLcls.d =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__ALLcls.d (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__ALLcls.d (revision 8) @@ -0,0 +1,4 @@ +VLinkRunCCA__ALLcls.o: VLinkRunCCA__ALLcls.cpp VLinkRunCCA.cpp \ + VLinkRunCCA.h /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilatedos.h VLinkRunCCA__Inlines.h \ + VLinkRunCCA__Syms.h Index: trunk/sim/obj_dir/VLinkRunCCA.cpp =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA.cpp (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA.cpp (revision 8) @@ -0,0 +1,1082 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Design implementation internals +// See VLinkRunCCA.h for the primary calling header + +#include "VLinkRunCCA.h" // For This +#include "VLinkRunCCA__Syms.h" + +//-------------------- +// STATIC VARIABLES + + +//-------------------- + +VL_CTOR_IMP(VLinkRunCCA) { + VLinkRunCCA__Syms* __restrict vlSymsp = __VlSymsp = new VLinkRunCCA__Syms(this, name()); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Reset internal values + + // Reset structure values + clk = VL_RAND_RESET_I(1); + rst = VL_RAND_RESET_I(1); + datavalid = VL_RAND_RESET_I(1); + pix_in = VL_RAND_RESET_I(1); + datavalid_out = VL_RAND_RESET_I(1); + box_out = VL_RAND_RESET_Q(36); + v__DOT__n_waddr = VL_RAND_RESET_I(8); + v__DOT__n_wdata = VL_RAND_RESET_I(8); + v__DOT__n_rdata = VL_RAND_RESET_I(8); + v__DOT__h_waddr = VL_RAND_RESET_I(8); + v__DOT__h_wdata = VL_RAND_RESET_I(8); + v__DOT__h_rdata = VL_RAND_RESET_I(8); + v__DOT__t_waddr = VL_RAND_RESET_I(8); + v__DOT__t_wdata = VL_RAND_RESET_I(8); + v__DOT__t_raddr = VL_RAND_RESET_I(8); + v__DOT__t_rdata = VL_RAND_RESET_I(8); + v__DOT__d_waddr = VL_RAND_RESET_I(8); + v__DOT__d_rdata = VL_RAND_RESET_Q(36); + v__DOT__d_wdata = VL_RAND_RESET_Q(36); + v__DOT__n_we = VL_RAND_RESET_I(1); + v__DOT__h_we = VL_RAND_RESET_I(1); + v__DOT__t_we = VL_RAND_RESET_I(1); + v__DOT__d_we = VL_RAND_RESET_I(1); + v__DOT__A = VL_RAND_RESET_I(1); + v__DOT__B = VL_RAND_RESET_I(1); + v__DOT__C = VL_RAND_RESET_I(1); + v__DOT__D = VL_RAND_RESET_I(1); + v__DOT__fp = VL_RAND_RESET_I(1); + v__DOT__fn = VL_RAND_RESET_I(1); + v__DOT__O = VL_RAND_RESET_I(1); + v__DOT__HCN = VL_RAND_RESET_I(1); + v__DOT__DMG = VL_RAND_RESET_I(1); + v__DOT__EOC = VL_RAND_RESET_I(1); + v__DOT__p = VL_RAND_RESET_I(8); + v__DOT__hp = VL_RAND_RESET_I(8); + v__DOT__tp = VL_RAND_RESET_I(8); + v__DOT__np = VL_RAND_RESET_I(8); + v__DOT__d = VL_RAND_RESET_Q(36); + v__DOT__dp = VL_RAND_RESET_Q(36); + v__DOT__left = VL_RAND_RESET_I(1); + { int __Vi0=0; for (; __Vi0<256; ++__Vi0) { + v__DOT__Next_Table__DOT__ram[__Vi0] = VL_RAND_RESET_I(8); + }} + v__DOT__Next_Table__DOT__read_addr_reg = VL_RAND_RESET_I(8); + { int __Vi0=0; for (; __Vi0<256; ++__Vi0) { + v__DOT__Head_Table__DOT__ram[__Vi0] = VL_RAND_RESET_I(8); + }} + v__DOT__Head_Table__DOT__read_addr_reg = VL_RAND_RESET_I(8); + { int __Vi0=0; for (; __Vi0<256; ++__Vi0) { + v__DOT__Tail_Table__DOT__ram[__Vi0] = VL_RAND_RESET_I(8); + }} + v__DOT__Tail_Table__DOT__read_addr_reg = VL_RAND_RESET_I(8); + { int __Vi0=0; for (; __Vi0<256; ++__Vi0) { + v__DOT__Data_Table__DOT__ram[__Vi0] = VL_RAND_RESET_Q(36); + }} + v__DOT__Data_Table__DOT__read_addr_reg = VL_RAND_RESET_I(8); + v__DOT__HF__DOT__top = VL_RAND_RESET_I(1); + v__DOT__HF__DOT__x = VL_RAND_RESET_I(1); + v__DOT__HF__DOT__right = VL_RAND_RESET_I(1); + VL_RAND_RESET_W(510,v__DOT__RBHF__DOT__R); + VL_RAND_RESET_W(510,v__DOT__RB__DOT__R); + v__DOT__TR__DOT__Rtp = VL_RAND_RESET_I(8); + v__DOT__TR__DOT__Rdp = VL_RAND_RESET_Q(36); + v__DOT__TR__DOT__pc = VL_RAND_RESET_I(8); + v__DOT__ES__DOT__cc = VL_RAND_RESET_I(8); + v__DOT__ES__DOT__h = VL_RAND_RESET_I(8); + v__DOT__ES__DOT__f = VL_RAND_RESET_I(1); + v__DOT__ES__DOT__HBF = VL_RAND_RESET_I(1); + v__DOT__ES__DOT__Ec = VL_RAND_RESET_I(1); + v__DOT__FA__DOT__x = VL_RAND_RESET_I(9); + v__DOT__FA__DOT__y = VL_RAND_RESET_I(9); + v__DOT__FA__DOT__minx1 = VL_RAND_RESET_I(9); + v__DOT__FA__DOT__maxx1 = VL_RAND_RESET_I(9); + v__DOT__FA__DOT__miny1 = VL_RAND_RESET_I(9); + v__DOT__FA__DOT__maxy1 = VL_RAND_RESET_I(9); + __Vdly__v__DOT__B = VL_RAND_RESET_I(1); + VL_RAND_RESET_W(510,__Vdly__v__DOT__RB__DOT__R); + __Vclklast__TOP__clk = VL_RAND_RESET_I(1); + __Vclklast__TOP__rst = VL_RAND_RESET_I(1); +} + +void VLinkRunCCA::__Vconfigure(VLinkRunCCA__Syms* vlSymsp, bool first) { + if (0 && first) {} // Prevent unused + this->__VlSymsp = vlSymsp; +} + +VLinkRunCCA::~VLinkRunCCA() { + delete __VlSymsp; __VlSymsp=NULL; +} + +//-------------------- + + +void VLinkRunCCA::eval() { + VLinkRunCCA__Syms* __restrict vlSymsp = this->__VlSymsp; // Setup global symbol table + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Initialize + if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) _eval_initial_loop(vlSymsp); + // Evaluate till stable + VL_DEBUG_IF(VL_PRINTF("\n----TOP Evaluate VLinkRunCCA::eval\n"); ); + int __VclockLoop = 0; + IData __Vchange=1; + while (VL_LIKELY(__Vchange)) { + VL_DEBUG_IF(VL_PRINTF(" Clock loop\n");); + vlSymsp->__Vm_activity = true; + _eval(vlSymsp); + __Vchange = _change_request(vlSymsp); + if (++__VclockLoop > 100) vl_fatal(__FILE__,__LINE__,__FILE__,"Verilated model didn't converge"); + } +} + +void VLinkRunCCA::_eval_initial_loop(VLinkRunCCA__Syms* __restrict vlSymsp) { + vlSymsp->__Vm_didInit = true; + _eval_initial(vlSymsp); + vlSymsp->__Vm_activity = true; + int __VclockLoop = 0; + IData __Vchange=1; + while (VL_LIKELY(__Vchange)) { + _eval_settle(vlSymsp); + _eval(vlSymsp); + __Vchange = _change_request(vlSymsp); + if (++__VclockLoop > 100) vl_fatal(__FILE__,__LINE__,__FILE__,"Verilated model didn't DC converge"); + } +} + +//-------------------- +// Internal Methods + +void VLinkRunCCA::_sequent__TOP__1(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_sequent__TOP__1\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Variables + VL_SIG8(__Vdly__v__DOT__HF__DOT__x,0,0); + VL_SIG8(__Vdly__v__DOT__HF__DOT__right,0,0); + VL_SIG8(__Vdly__v__DOT__D,0,0); + //char __VpadToAlign7[1]; + VL_SIGW(__Vdly__v__DOT__RBHF__DOT__R,509,0,16); + // Body + __Vdly__v__DOT__HF__DOT__right = vlTOPp->v__DOT__HF__DOT__right; + __Vdly__v__DOT__HF__DOT__x = vlTOPp->v__DOT__HF__DOT__x; + __Vdly__v__DOT__RBHF__DOT__R[0] = vlTOPp->v__DOT__RBHF__DOT__R[0]; + __Vdly__v__DOT__RBHF__DOT__R[1] = vlTOPp->v__DOT__RBHF__DOT__R[1]; + __Vdly__v__DOT__RBHF__DOT__R[2] = vlTOPp->v__DOT__RBHF__DOT__R[2]; + __Vdly__v__DOT__RBHF__DOT__R[3] = vlTOPp->v__DOT__RBHF__DOT__R[3]; + __Vdly__v__DOT__RBHF__DOT__R[4] = vlTOPp->v__DOT__RBHF__DOT__R[4]; + __Vdly__v__DOT__RBHF__DOT__R[5] = vlTOPp->v__DOT__RBHF__DOT__R[5]; + __Vdly__v__DOT__RBHF__DOT__R[6] = vlTOPp->v__DOT__RBHF__DOT__R[6]; + __Vdly__v__DOT__RBHF__DOT__R[7] = vlTOPp->v__DOT__RBHF__DOT__R[7]; + __Vdly__v__DOT__RBHF__DOT__R[8] = vlTOPp->v__DOT__RBHF__DOT__R[8]; + __Vdly__v__DOT__RBHF__DOT__R[9] = vlTOPp->v__DOT__RBHF__DOT__R[9]; + __Vdly__v__DOT__RBHF__DOT__R[0xa] = vlTOPp->v__DOT__RBHF__DOT__R[0xa]; + __Vdly__v__DOT__RBHF__DOT__R[0xb] = vlTOPp->v__DOT__RBHF__DOT__R[0xb]; + __Vdly__v__DOT__RBHF__DOT__R[0xc] = vlTOPp->v__DOT__RBHF__DOT__R[0xc]; + __Vdly__v__DOT__RBHF__DOT__R[0xd] = vlTOPp->v__DOT__RBHF__DOT__R[0xd]; + __Vdly__v__DOT__RBHF__DOT__R[0xe] = vlTOPp->v__DOT__RBHF__DOT__R[0xe]; + __Vdly__v__DOT__RBHF__DOT__R[0xf] = vlTOPp->v__DOT__RBHF__DOT__R[0xf]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0] = vlTOPp->v__DOT__RB__DOT__R[0]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[1] = vlTOPp->v__DOT__RB__DOT__R[1]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[2] = vlTOPp->v__DOT__RB__DOT__R[2]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[3] = vlTOPp->v__DOT__RB__DOT__R[3]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[4] = vlTOPp->v__DOT__RB__DOT__R[4]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[5] = vlTOPp->v__DOT__RB__DOT__R[5]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[6] = vlTOPp->v__DOT__RB__DOT__R[6]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[7] = vlTOPp->v__DOT__RB__DOT__R[7]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[8] = vlTOPp->v__DOT__RB__DOT__R[8]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[9] = vlTOPp->v__DOT__RB__DOT__R[9]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xa] = vlTOPp->v__DOT__RB__DOT__R[0xa]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xb] = vlTOPp->v__DOT__RB__DOT__R[0xb]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xc] = vlTOPp->v__DOT__RB__DOT__R[0xc]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xd] = vlTOPp->v__DOT__RB__DOT__R[0xd]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xe] = vlTOPp->v__DOT__RB__DOT__R[0xe]; + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xf] = vlTOPp->v__DOT__RB__DOT__R[0xf]; + __Vdly__v__DOT__D = vlTOPp->v__DOT__D; + vlTOPp->__Vdly__v__DOT__B = vlTOPp->v__DOT__B; + // ALWAYS at ../src/table_ram.v:21 + vlTOPp->v__DOT__Next_Table__DOT__read_addr_reg + = vlTOPp->v__DOT__TR__DOT__pc; + // ALWAYS at ../src/table_ram.v:21 + vlTOPp->v__DOT__Head_Table__DOT__read_addr_reg + = vlTOPp->v__DOT__TR__DOT__pc; + // ALWAYS at ../src/table_ram.v:23 + if (((IData)(vlTOPp->v__DOT__n_we) & (IData)(vlTOPp->datavalid))) { + vlTOPp->v__DOT__Next_Table__DOT__ram[(IData)(vlTOPp->v__DOT__n_waddr)] + = vlTOPp->v__DOT__n_wdata; + } + // ALWAYS at ../src/table_ram.v:23 + if (((IData)(vlTOPp->v__DOT__h_we) & (IData)(vlTOPp->datavalid))) { + vlTOPp->v__DOT__Head_Table__DOT__ram[(IData)(vlTOPp->v__DOT__h_waddr)] + = vlTOPp->v__DOT__h_wdata; + } + // ALWAYS at ../src/table_ram.v:21 + vlTOPp->v__DOT__Tail_Table__DOT__read_addr_reg + = vlTOPp->v__DOT__t_raddr; + // ALWAYS at ../src/table_ram.v:21 + vlTOPp->v__DOT__Data_Table__DOT__read_addr_reg + = ((IData)(vlTOPp->v__DOT__HCN) ? (IData)(vlTOPp->v__DOT__h_wdata) + : (IData)(vlTOPp->v__DOT__h_rdata)); + // ALWAYS at ../src/table_ram.v:23 + if (((IData)(vlTOPp->v__DOT__t_we) & (IData)(vlTOPp->datavalid))) { + vlTOPp->v__DOT__Tail_Table__DOT__ram[(IData)(vlTOPp->v__DOT__t_waddr)] + = vlTOPp->v__DOT__t_wdata; + } + // ALWAYS at ../src/table_ram.v:23 + if (((IData)(vlTOPp->v__DOT__d_we) & (IData)(vlTOPp->datavalid))) { + vlTOPp->v__DOT__Data_Table__DOT__ram[(IData)(vlTOPp->v__DOT__d_waddr)] + = vlTOPp->v__DOT__d_wdata; + } + // ALWAYS at ../src/row_buf.v:42 + if (vlTOPp->datavalid) { + __Vdly__v__DOT__RBHF__DOT__R[0] = ((0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0] + << 1)) + | (IData)(vlTOPp->v__DOT__left)); + __Vdly__v__DOT__RBHF__DOT__R[1] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[0] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[1] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[2] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[1] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[2] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[3] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[2] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[3] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[4] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[3] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[4] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[5] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[4] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[5] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[6] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[5] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[6] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[7] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[6] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[7] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[8] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[7] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[8] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[9] = ((1 & (vlTOPp->v__DOT__RBHF__DOT__R[8] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[9] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[0xa] = ((1 & ( + vlTOPp->v__DOT__RBHF__DOT__R[9] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0xa] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[0xb] = ((1 & ( + vlTOPp->v__DOT__RBHF__DOT__R[0xa] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0xb] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[0xc] = ((1 & ( + vlTOPp->v__DOT__RBHF__DOT__R[0xb] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0xc] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[0xd] = ((1 & ( + vlTOPp->v__DOT__RBHF__DOT__R[0xc] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0xd] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[0xe] = ((1 & ( + vlTOPp->v__DOT__RBHF__DOT__R[0xd] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0xe] + << 1))); + __Vdly__v__DOT__RBHF__DOT__R[0xf] = ((1 & ( + vlTOPp->v__DOT__RBHF__DOT__R[0xe] + >> 0x1f)) + | (0x3ffffffe + & (vlTOPp->v__DOT__RBHF__DOT__R[0xf] + << 1))); + } + // ALWAYS at ../src/row_buf.v:42 + if (vlTOPp->datavalid) { + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0] = ((0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0] + << 1)) + | (IData)(vlTOPp->v__DOT__C)); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[1] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[0] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[1] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[2] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[1] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[2] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[3] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[2] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[3] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[4] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[3] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[4] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[5] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[4] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[5] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[6] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[5] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[6] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[7] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[6] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[7] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[8] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[7] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[8] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[9] = ((1 + & (vlTOPp->v__DOT__RB__DOT__R[8] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[9] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xa] = ( + (1 + & (vlTOPp->v__DOT__RB__DOT__R[9] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0xa] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xb] = ( + (1 + & (vlTOPp->v__DOT__RB__DOT__R[0xa] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0xb] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xc] = ( + (1 + & (vlTOPp->v__DOT__RB__DOT__R[0xb] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0xc] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xd] = ( + (1 + & (vlTOPp->v__DOT__RB__DOT__R[0xc] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0xd] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xe] = ( + (1 + & (vlTOPp->v__DOT__RB__DOT__R[0xd] + >> 0x1f)) + | (0xfffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0xe] + << 1))); + vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xf] = ( + (1 + & (vlTOPp->v__DOT__RB__DOT__R[0xe] + >> 0x1f)) + | (0x3ffffffe + & (vlTOPp->v__DOT__RB__DOT__R[0xf] + << 1))); + } + vlTOPp->v__DOT__h_rdata = (IData)(vlTOPp->v__DOT__Head_Table__DOT__ram) + [(IData)(vlTOPp->v__DOT__Head_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__t_rdata = (IData)(vlTOPp->v__DOT__Tail_Table__DOT__ram) + [(IData)(vlTOPp->v__DOT__Tail_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__d_rdata = vlTOPp->v__DOT__Data_Table__DOT__ram + [(IData)(vlTOPp->v__DOT__Data_Table__DOT__read_addr_reg)]; + // ALWAYS at ../src/window.v:38 + if (vlTOPp->datavalid) { + vlTOPp->v__DOT__A = vlTOPp->v__DOT__B; + vlTOPp->v__DOT__C = vlTOPp->v__DOT__D; + vlTOPp->__Vdly__v__DOT__B = (1 & (vlTOPp->v__DOT__RB__DOT__R[0xf] + >> 0x1d)); + __Vdly__v__DOT__D = (((IData)(vlTOPp->v__DOT__HF__DOT__top) + & ((IData)(vlTOPp->v__DOT__left) + | (IData)(vlTOPp->v__DOT__HF__DOT__right))) + | (IData)(vlTOPp->v__DOT__HF__DOT__x)); + } + vlTOPp->v__DOT__D = __Vdly__v__DOT__D; + // ALWAYS at ../src/holes_filler.v:43 + if (vlTOPp->datavalid) { + vlTOPp->v__DOT__HF__DOT__top = (1 & (vlTOPp->v__DOT__RBHF__DOT__R[0xf] + >> 0x1d)); + vlTOPp->v__DOT__left = vlTOPp->v__DOT__HF__DOT__x; + __Vdly__v__DOT__HF__DOT__x = vlTOPp->v__DOT__HF__DOT__right; + __Vdly__v__DOT__HF__DOT__right = vlTOPp->pix_in; + } + vlTOPp->v__DOT__RBHF__DOT__R[0] = __Vdly__v__DOT__RBHF__DOT__R[0]; + vlTOPp->v__DOT__RBHF__DOT__R[1] = __Vdly__v__DOT__RBHF__DOT__R[1]; + vlTOPp->v__DOT__RBHF__DOT__R[2] = __Vdly__v__DOT__RBHF__DOT__R[2]; + vlTOPp->v__DOT__RBHF__DOT__R[3] = __Vdly__v__DOT__RBHF__DOT__R[3]; + vlTOPp->v__DOT__RBHF__DOT__R[4] = __Vdly__v__DOT__RBHF__DOT__R[4]; + vlTOPp->v__DOT__RBHF__DOT__R[5] = __Vdly__v__DOT__RBHF__DOT__R[5]; + vlTOPp->v__DOT__RBHF__DOT__R[6] = __Vdly__v__DOT__RBHF__DOT__R[6]; + vlTOPp->v__DOT__RBHF__DOT__R[7] = __Vdly__v__DOT__RBHF__DOT__R[7]; + vlTOPp->v__DOT__RBHF__DOT__R[8] = __Vdly__v__DOT__RBHF__DOT__R[8]; + vlTOPp->v__DOT__RBHF__DOT__R[9] = __Vdly__v__DOT__RBHF__DOT__R[9]; + vlTOPp->v__DOT__RBHF__DOT__R[0xa] = __Vdly__v__DOT__RBHF__DOT__R[0xa]; + vlTOPp->v__DOT__RBHF__DOT__R[0xb] = __Vdly__v__DOT__RBHF__DOT__R[0xb]; + vlTOPp->v__DOT__RBHF__DOT__R[0xc] = __Vdly__v__DOT__RBHF__DOT__R[0xc]; + vlTOPp->v__DOT__RBHF__DOT__R[0xd] = __Vdly__v__DOT__RBHF__DOT__R[0xd]; + vlTOPp->v__DOT__RBHF__DOT__R[0xe] = __Vdly__v__DOT__RBHF__DOT__R[0xe]; + vlTOPp->v__DOT__RBHF__DOT__R[0xf] = __Vdly__v__DOT__RBHF__DOT__R[0xf]; + vlTOPp->v__DOT__HF__DOT__x = __Vdly__v__DOT__HF__DOT__x; + vlTOPp->v__DOT__HF__DOT__right = __Vdly__v__DOT__HF__DOT__right; +} + +void VLinkRunCCA::_sequent__TOP__2(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_sequent__TOP__2\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Variables + VL_SIG8(__Vdly__v__DOT__TR__DOT__pc,7,0); + VL_SIG8(__Vdly__v__DOT__hp,7,0); + VL_SIG8(__Vdly__v__DOT__ES__DOT__cc,7,0); + //char __VpadToAlign95[1]; + VL_SIG16(__Vdly__v__DOT__FA__DOT__x,8,0); + VL_SIG16(__Vdly__v__DOT__FA__DOT__y,8,0); + // Body + __Vdly__v__DOT__TR__DOT__pc = vlTOPp->v__DOT__TR__DOT__pc; + __Vdly__v__DOT__FA__DOT__y = vlTOPp->v__DOT__FA__DOT__y; + __Vdly__v__DOT__FA__DOT__x = vlTOPp->v__DOT__FA__DOT__x; + __Vdly__v__DOT__ES__DOT__cc = vlTOPp->v__DOT__ES__DOT__cc; + __Vdly__v__DOT__hp = vlTOPp->v__DOT__hp; + // ALWAYS at ../src/feature_accumulator.v:54 + if (vlTOPp->rst) { + __Vdly__v__DOT__FA__DOT__x = 0x1fd; + __Vdly__v__DOT__FA__DOT__y = 0x1ff; + } else { + if (vlTOPp->datavalid) { + if ((0x1ff == (IData)(vlTOPp->v__DOT__FA__DOT__x))) { + __Vdly__v__DOT__FA__DOT__y = (0x1ff + & ((0x1ff + == (IData)(vlTOPp->v__DOT__FA__DOT__y)) + ? 0 + : + ((IData)(1) + + (IData)(vlTOPp->v__DOT__FA__DOT__y)))); + __Vdly__v__DOT__FA__DOT__x = 0; + } else { + __Vdly__v__DOT__FA__DOT__x = (0x1ff + & ((IData)(1) + + (IData)(vlTOPp->v__DOT__FA__DOT__x))); + } + } + } + // ALWAYS at ../src/../src/LinkRunCCA.v:119 + if (vlTOPp->rst) { + vlTOPp->datavalid_out = 0; + } else { + if (vlTOPp->datavalid) { + vlTOPp->datavalid_out = 0; + vlTOPp->box_out = vlTOPp->v__DOT__dp; + if (vlTOPp->v__DOT__EOC) { + vlTOPp->datavalid_out = 1; + } + } + } + // ALWAYS at ../src/equivalence_resolver.v:71 + if (vlTOPp->rst) { + __Vdly__v__DOT__ES__DOT__cc = 0; + vlTOPp->v__DOT__ES__DOT__h = 0; + vlTOPp->v__DOT__ES__DOT__f = 0; + } else { + if (vlTOPp->datavalid) { + if (vlTOPp->v__DOT__ES__DOT__Ec) { + __Vdly__v__DOT__ES__DOT__cc = (0xff + & ((IData)(1) + + (IData)(vlTOPp->v__DOT__ES__DOT__cc))); + vlTOPp->v__DOT__ES__DOT__f = 0; + } else { + if (vlTOPp->v__DOT__O) { + vlTOPp->v__DOT__ES__DOT__h = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__ES__DOT__f = 1; + } + } + } + } + // ALWAYS at ../src/table_reader.v:83 + if (vlTOPp->rst) { + vlTOPp->v__DOT__np = 0; + __Vdly__v__DOT__hp = 0; + vlTOPp->v__DOT__fp = 0; + vlTOPp->v__DOT__fn = 0; + vlTOPp->v__DOT__TR__DOT__Rtp = 0; + vlTOPp->v__DOT__TR__DOT__Rdp = VL_ULL(0); + } else { + if (vlTOPp->datavalid) { + vlTOPp->v__DOT__TR__DOT__Rtp = vlTOPp->v__DOT__tp; + vlTOPp->v__DOT__TR__DOT__Rdp = vlTOPp->v__DOT__dp; + if (((IData)(vlTOPp->v__DOT__d_we) & ((IData)(vlTOPp->v__DOT__d_waddr) + == (IData)(vlTOPp->v__DOT__hp)))) { + vlTOPp->v__DOT__TR__DOT__Rdp = vlTOPp->v__DOT__d; + } + if ((1 & ((~ (IData)(vlTOPp->v__DOT__B)) + & (vlTOPp->v__DOT__RB__DOT__R[0xf] + >> 0x1d)))) { + __Vdly__v__DOT__hp = vlTOPp->v__DOT__t_raddr; + vlTOPp->v__DOT__fp = ((IData)(vlTOPp->v__DOT__t_raddr) + != (IData)(vlTOPp->v__DOT__p)); + vlTOPp->v__DOT__np = vlTOPp->v__DOT__n_rdata; + vlTOPp->v__DOT__fn = ((IData)(vlTOPp->v__DOT__n_rdata) + == (IData)(vlTOPp->v__DOT__p)); + } else { + if (vlTOPp->v__DOT__O) { + vlTOPp->v__DOT__TR__DOT__Rtp = vlTOPp->v__DOT__t_wdata; + vlTOPp->v__DOT__fp = 1; + __Vdly__v__DOT__hp = vlTOPp->v__DOT__h_wdata; + } + } + } + } + vlTOPp->v__DOT__FA__DOT__x = __Vdly__v__DOT__FA__DOT__x; + vlTOPp->v__DOT__FA__DOT__y = __Vdly__v__DOT__FA__DOT__y; + vlTOPp->v__DOT__ES__DOT__cc = __Vdly__v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__hp = __Vdly__v__DOT__hp; + // ALWAYS at ../src/table_reader.v:58 + if (vlTOPp->rst) { + __Vdly__v__DOT__TR__DOT__pc = 0; + vlTOPp->v__DOT__p = 0; + } else { + if (vlTOPp->datavalid) { + vlTOPp->v__DOT__p = vlTOPp->v__DOT__TR__DOT__pc; + if ((1 & ((vlTOPp->v__DOT__RB__DOT__R[0xf] + >> 0x1d) & (~ (vlTOPp->v__DOT__RB__DOT__R[0xf] + >> 0x1c))))) { + __Vdly__v__DOT__TR__DOT__pc = (0xff + & ((IData)(1) + + (IData)(vlTOPp->v__DOT__TR__DOT__pc))); + } + } + } + // ALWAYS at ../src/feature_accumulator.v:82 + if (vlTOPp->rst) { + vlTOPp->v__DOT__d = VL_ULL(0xff803fe00); + } else { + if (vlTOPp->datavalid) { + vlTOPp->v__DOT__d = ((IData)(vlTOPp->v__DOT__ES__DOT__Ec) + ? VL_ULL(0xff803fe00) + : (((QData)((IData)( + (0x1ff + & (((IData)(vlTOPp->v__DOT__DMG) + & ((0x1ff + & (IData)( + (vlTOPp->v__DOT__dp + >> 0x1b))) + < (IData)(vlTOPp->v__DOT__FA__DOT__minx1))) + ? (IData)( + (vlTOPp->v__DOT__dp + >> 0x1b)) + : (IData)(vlTOPp->v__DOT__FA__DOT__minx1))))) + << 0x1b) | (QData)((IData)( + ((0x7fc0000 + & ((((IData)(vlTOPp->v__DOT__DMG) + & ((0x1ff + & (IData)( + (vlTOPp->v__DOT__dp + >> 0x12))) + > (IData)(vlTOPp->v__DOT__FA__DOT__maxx1))) + ? (IData)( + (vlTOPp->v__DOT__dp + >> 0x12)) + : (IData)(vlTOPp->v__DOT__FA__DOT__maxx1)) + << 0x12)) + | ((0x3fe00 + & ((((IData)(vlTOPp->v__DOT__DMG) + & ((0x1ff + & (IData)( + (vlTOPp->v__DOT__dp + >> 9))) + < (IData)(vlTOPp->v__DOT__FA__DOT__miny1))) + ? (IData)( + (vlTOPp->v__DOT__dp + >> 9)) + : (IData)(vlTOPp->v__DOT__FA__DOT__miny1)) + << 9)) + | (0x1ff + & (((IData)(vlTOPp->v__DOT__DMG) + & ((0x1ff + & (IData)(vlTOPp->v__DOT__dp)) + > (IData)(vlTOPp->v__DOT__FA__DOT__maxy1))) + ? (IData)(vlTOPp->v__DOT__dp) + : (IData)(vlTOPp->v__DOT__FA__DOT__maxy1))))))))); + } + } + vlTOPp->v__DOT__TR__DOT__pc = __Vdly__v__DOT__TR__DOT__pc; + vlTOPp->v__DOT__FA__DOT__minx1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__x) + < + (0x1ff + & (IData)( + (vlTOPp->v__DOT__d + >> 0x1b))))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__x) + : (IData)( + (vlTOPp->v__DOT__d + >> 0x1b)))); + vlTOPp->v__DOT__FA__DOT__maxx1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__x) + > + (0x1ff + & (IData)( + (vlTOPp->v__DOT__d + >> 0x12))))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__x) + : (IData)( + (vlTOPp->v__DOT__d + >> 0x12)))); + vlTOPp->v__DOT__FA__DOT__miny1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__y) + < + (0x1ff + & (IData)( + (vlTOPp->v__DOT__d + >> 9))))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__y) + : (IData)( + (vlTOPp->v__DOT__d + >> 9)))); + vlTOPp->v__DOT__FA__DOT__maxy1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__y) + > + (0x1ff + & (IData)(vlTOPp->v__DOT__d)))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__y) + : (IData)(vlTOPp->v__DOT__d))); +} + +void VLinkRunCCA::_settle__TOP__3(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_settle__TOP__3\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__h_rdata = (IData)(vlTOPp->v__DOT__Head_Table__DOT__ram) + [(IData)(vlTOPp->v__DOT__Head_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__t_rdata = (IData)(vlTOPp->v__DOT__Tail_Table__DOT__ram) + [(IData)(vlTOPp->v__DOT__Tail_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__d_rdata = vlTOPp->v__DOT__Data_Table__DOT__ram + [(IData)(vlTOPp->v__DOT__Data_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__n_rdata = (IData)(vlTOPp->v__DOT__Next_Table__DOT__ram) + [(IData)(vlTOPp->v__DOT__Next_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__ES__DOT__Ec = ((IData)(vlTOPp->v__DOT__C) + & (~ (IData)(vlTOPp->v__DOT__D))); + vlTOPp->v__DOT__FA__DOT__minx1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__x) + < + (0x1ff + & (IData)( + (vlTOPp->v__DOT__d + >> 0x1b))))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__x) + : (IData)( + (vlTOPp->v__DOT__d + >> 0x1b)))); + vlTOPp->v__DOT__FA__DOT__maxx1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__x) + > + (0x1ff + & (IData)( + (vlTOPp->v__DOT__d + >> 0x12))))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__x) + : (IData)( + (vlTOPp->v__DOT__d + >> 0x12)))); + vlTOPp->v__DOT__FA__DOT__miny1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__y) + < + (0x1ff + & (IData)( + (vlTOPp->v__DOT__d + >> 9))))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__y) + : (IData)( + (vlTOPp->v__DOT__d + >> 9)))); + vlTOPp->v__DOT__FA__DOT__maxy1 = (0x1ff & (((IData)(vlTOPp->v__DOT__D) + & ((IData)(vlTOPp->v__DOT__FA__DOT__y) + > + (0x1ff + & (IData)(vlTOPp->v__DOT__d)))) + ? (IData)(vlTOPp->v__DOT__FA__DOT__y) + : (IData)(vlTOPp->v__DOT__d))); +} + +void VLinkRunCCA::_sequent__TOP__4(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_sequent__TOP__4\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__n_rdata = (IData)(vlTOPp->v__DOT__Next_Table__DOT__ram) + [(IData)(vlTOPp->v__DOT__Next_Table__DOT__read_addr_reg)]; + vlTOPp->v__DOT__B = vlTOPp->__Vdly__v__DOT__B; + vlTOPp->v__DOT__RB__DOT__R[0] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0]; + vlTOPp->v__DOT__RB__DOT__R[1] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[1]; + vlTOPp->v__DOT__RB__DOT__R[2] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[2]; + vlTOPp->v__DOT__RB__DOT__R[3] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[3]; + vlTOPp->v__DOT__RB__DOT__R[4] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[4]; + vlTOPp->v__DOT__RB__DOT__R[5] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[5]; + vlTOPp->v__DOT__RB__DOT__R[6] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[6]; + vlTOPp->v__DOT__RB__DOT__R[7] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[7]; + vlTOPp->v__DOT__RB__DOT__R[8] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[8]; + vlTOPp->v__DOT__RB__DOT__R[9] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[9]; + vlTOPp->v__DOT__RB__DOT__R[0xa] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xa]; + vlTOPp->v__DOT__RB__DOT__R[0xb] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xb]; + vlTOPp->v__DOT__RB__DOT__R[0xc] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xc]; + vlTOPp->v__DOT__RB__DOT__R[0xd] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xd]; + vlTOPp->v__DOT__RB__DOT__R[0xe] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xe]; + vlTOPp->v__DOT__RB__DOT__R[0xf] = vlTOPp->__Vdly__v__DOT__RB__DOT__R[0xf]; + vlTOPp->v__DOT__ES__DOT__Ec = ((IData)(vlTOPp->v__DOT__C) + & (~ (IData)(vlTOPp->v__DOT__D))); + vlTOPp->v__DOT__O = (((IData)(vlTOPp->v__DOT__B) + & (IData)(vlTOPp->v__DOT__D)) + & ((~ (IData)(vlTOPp->v__DOT__A)) + | (~ (IData)(vlTOPp->v__DOT__C)))); +} + +void VLinkRunCCA::_sequent__TOP__5(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_sequent__TOP__5\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__tp = (((~ (IData)(vlTOPp->v__DOT__A)) + & (IData)(vlTOPp->v__DOT__B)) + ? (IData)(vlTOPp->v__DOT__t_rdata) + : (IData)(vlTOPp->v__DOT__TR__DOT__Rtp)); + vlTOPp->v__DOT__dp = (((~ (IData)(vlTOPp->v__DOT__A)) + & (IData)(vlTOPp->v__DOT__B)) + ? vlTOPp->v__DOT__d_rdata + : vlTOPp->v__DOT__TR__DOT__Rdp); +} + +void VLinkRunCCA::_settle__TOP__6(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_settle__TOP__6\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__tp = (((~ (IData)(vlTOPp->v__DOT__A)) + & (IData)(vlTOPp->v__DOT__B)) + ? (IData)(vlTOPp->v__DOT__t_rdata) + : (IData)(vlTOPp->v__DOT__TR__DOT__Rtp)); + vlTOPp->v__DOT__dp = (((~ (IData)(vlTOPp->v__DOT__A)) + & (IData)(vlTOPp->v__DOT__B)) + ? vlTOPp->v__DOT__d_rdata + : vlTOPp->v__DOT__TR__DOT__Rdp); + vlTOPp->v__DOT__O = (((IData)(vlTOPp->v__DOT__B) + & (IData)(vlTOPp->v__DOT__D)) + & ((~ (IData)(vlTOPp->v__DOT__A)) + | (~ (IData)(vlTOPp->v__DOT__C)))); + vlTOPp->v__DOT__DMG = ((IData)(vlTOPp->v__DOT__O) + & (~ ((IData)(vlTOPp->v__DOT__ES__DOT__f) + & ((IData)(vlTOPp->v__DOT__hp) + == (IData)(vlTOPp->v__DOT__ES__DOT__h))))); + // ALWAYS at ../src/equivalence_resolver.v:85 + vlTOPp->v__DOT__h_we = 0; + vlTOPp->v__DOT__h_waddr = 0; + vlTOPp->v__DOT__h_wdata = 0; + vlTOPp->v__DOT__t_we = 0; + vlTOPp->v__DOT__t_waddr = 0; + vlTOPp->v__DOT__t_wdata = 0; + vlTOPp->v__DOT__n_we = 0; + vlTOPp->v__DOT__n_waddr = 0; + vlTOPp->v__DOT__n_wdata = 0; + vlTOPp->v__DOT__d_we = 0; + vlTOPp->v__DOT__d_waddr = 0; + vlTOPp->v__DOT__d_wdata = VL_ULL(0); + vlTOPp->v__DOT__EOC = 0; + vlTOPp->v__DOT__ES__DOT__HBF = 0; + if (vlTOPp->v__DOT__ES__DOT__Ec) { + vlTOPp->v__DOT__n_we = 1; + vlTOPp->v__DOT__n_waddr = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__n_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__ES__DOT__cc; + if ((0 == (IData)(vlTOPp->v__DOT__ES__DOT__f))) { + vlTOPp->v__DOT__d_we = 1; + vlTOPp->v__DOT__d_waddr = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__d_wdata = vlTOPp->v__DOT__d; + } else { + if ((1 == (IData)(vlTOPp->v__DOT__ES__DOT__f))) { + vlTOPp->v__DOT__d_we = 1; + vlTOPp->v__DOT__d_waddr = vlTOPp->v__DOT__ES__DOT__h; + vlTOPp->v__DOT__d_wdata = vlTOPp->v__DOT__d; + } + } + } else { + if (((IData)(vlTOPp->v__DOT__A) & (~ (IData)(vlTOPp->v__DOT__B)))) { + if ((0 == (IData)(vlTOPp->v__DOT__fp))) { + vlTOPp->v__DOT__d_we = 1; + vlTOPp->v__DOT__d_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__d_wdata = vlTOPp->v__DOT__dp; + if (vlTOPp->v__DOT__fn) { + vlTOPp->v__DOT__EOC = 1; + } + } else { + if ((1 == (IData)(vlTOPp->v__DOT__fp))) { + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__hp; + vlTOPp->v__DOT__ES__DOT__HBF = 1; + } + } + } else { + if (vlTOPp->v__DOT__O) { + if (vlTOPp->v__DOT__ES__DOT__f) { + if (vlTOPp->v__DOT__fp) { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__hp; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__n_we = 1; + vlTOPp->v__DOT__n_waddr = vlTOPp->v__DOT__tp; + vlTOPp->v__DOT__n_wdata = vlTOPp->v__DOT__ES__DOT__h; + } else { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__ES__DOT__h; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + } + } else { + if (vlTOPp->v__DOT__fp) { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__hp; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__n_we = 1; + vlTOPp->v__DOT__n_waddr = vlTOPp->v__DOT__tp; + vlTOPp->v__DOT__n_wdata = vlTOPp->v__DOT__ES__DOT__cc; + } else { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + } + } + } + } + } +} + +void VLinkRunCCA::_sequent__TOP__7(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_sequent__TOP__7\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__DMG = ((IData)(vlTOPp->v__DOT__O) + & (~ ((IData)(vlTOPp->v__DOT__ES__DOT__f) + & ((IData)(vlTOPp->v__DOT__hp) + == (IData)(vlTOPp->v__DOT__ES__DOT__h))))); + // ALWAYS at ../src/equivalence_resolver.v:85 + vlTOPp->v__DOT__h_we = 0; + vlTOPp->v__DOT__h_waddr = 0; + vlTOPp->v__DOT__h_wdata = 0; + vlTOPp->v__DOT__t_we = 0; + vlTOPp->v__DOT__t_waddr = 0; + vlTOPp->v__DOT__t_wdata = 0; + vlTOPp->v__DOT__n_we = 0; + vlTOPp->v__DOT__n_waddr = 0; + vlTOPp->v__DOT__n_wdata = 0; + vlTOPp->v__DOT__d_we = 0; + vlTOPp->v__DOT__d_waddr = 0; + vlTOPp->v__DOT__d_wdata = VL_ULL(0); + vlTOPp->v__DOT__EOC = 0; + vlTOPp->v__DOT__ES__DOT__HBF = 0; + if (vlTOPp->v__DOT__ES__DOT__Ec) { + vlTOPp->v__DOT__n_we = 1; + vlTOPp->v__DOT__n_waddr = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__n_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__ES__DOT__cc; + if ((0 == (IData)(vlTOPp->v__DOT__ES__DOT__f))) { + vlTOPp->v__DOT__d_we = 1; + vlTOPp->v__DOT__d_waddr = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__d_wdata = vlTOPp->v__DOT__d; + } else { + if ((1 == (IData)(vlTOPp->v__DOT__ES__DOT__f))) { + vlTOPp->v__DOT__d_we = 1; + vlTOPp->v__DOT__d_waddr = vlTOPp->v__DOT__ES__DOT__h; + vlTOPp->v__DOT__d_wdata = vlTOPp->v__DOT__d; + } + } + } else { + if (((IData)(vlTOPp->v__DOT__A) & (~ (IData)(vlTOPp->v__DOT__B)))) { + if ((0 == (IData)(vlTOPp->v__DOT__fp))) { + vlTOPp->v__DOT__d_we = 1; + vlTOPp->v__DOT__d_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__d_wdata = vlTOPp->v__DOT__dp; + if (vlTOPp->v__DOT__fn) { + vlTOPp->v__DOT__EOC = 1; + } + } else { + if ((1 == (IData)(vlTOPp->v__DOT__fp))) { + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__hp; + vlTOPp->v__DOT__ES__DOT__HBF = 1; + } + } + } else { + if (vlTOPp->v__DOT__O) { + if (vlTOPp->v__DOT__ES__DOT__f) { + if (vlTOPp->v__DOT__fp) { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__hp; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__n_we = 1; + vlTOPp->v__DOT__n_waddr = vlTOPp->v__DOT__tp; + vlTOPp->v__DOT__n_wdata = vlTOPp->v__DOT__ES__DOT__h; + } else { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__ES__DOT__h; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + } + } else { + if (vlTOPp->v__DOT__fp) { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__hp; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__n_we = 1; + vlTOPp->v__DOT__n_waddr = vlTOPp->v__DOT__tp; + vlTOPp->v__DOT__n_wdata = vlTOPp->v__DOT__ES__DOT__cc; + } else { + vlTOPp->v__DOT__h_wdata = vlTOPp->v__DOT__ES__DOT__cc; + vlTOPp->v__DOT__h_we = 1; + vlTOPp->v__DOT__h_waddr = vlTOPp->v__DOT__np; + vlTOPp->v__DOT__t_we = 1; + vlTOPp->v__DOT__t_waddr = vlTOPp->v__DOT__h_wdata; + vlTOPp->v__DOT__t_wdata = vlTOPp->v__DOT__ES__DOT__cc; + } + } + } + } + } + vlTOPp->v__DOT__HCN = ((IData)(vlTOPp->v__DOT__ES__DOT__HBF) + & ((IData)(vlTOPp->v__DOT__np) + == (IData)(vlTOPp->v__DOT__p))); +} + +void VLinkRunCCA::_settle__TOP__8(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_settle__TOP__8\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__HCN = ((IData)(vlTOPp->v__DOT__ES__DOT__HBF) + & ((IData)(vlTOPp->v__DOT__np) + == (IData)(vlTOPp->v__DOT__p))); + vlTOPp->v__DOT__t_raddr = ((IData)(vlTOPp->v__DOT__HCN) + ? (IData)(vlTOPp->v__DOT__h_wdata) + : (IData)(vlTOPp->v__DOT__h_rdata)); +} + +void VLinkRunCCA::_sequent__TOP__9(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_sequent__TOP__9\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->v__DOT__t_raddr = ((IData)(vlTOPp->v__DOT__HCN) + ? (IData)(vlTOPp->v__DOT__h_wdata) + : (IData)(vlTOPp->v__DOT__h_rdata)); +} + +void VLinkRunCCA::_eval(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_eval\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + if (((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk)))) { + vlTOPp->_sequent__TOP__1(vlSymsp); + } + if ((((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk))) + | ((IData)(vlTOPp->rst) & (~ (IData)(vlTOPp->__Vclklast__TOP__rst))))) { + vlTOPp->_sequent__TOP__2(vlSymsp); + } + if (((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk)))) { + vlTOPp->_sequent__TOP__4(vlSymsp); + } + if ((((IData)(vlTOPp->clk) & (~ (IData)(vlTOPp->__Vclklast__TOP__clk))) + | ((IData)(vlTOPp->rst) & (~ (IData)(vlTOPp->__Vclklast__TOP__rst))))) { + vlTOPp->_sequent__TOP__5(vlSymsp); + vlTOPp->_sequent__TOP__7(vlSymsp); + vlTOPp->_sequent__TOP__9(vlSymsp); + } + // Final + vlTOPp->__Vclklast__TOP__clk = vlTOPp->clk; + vlTOPp->__Vclklast__TOP__rst = vlTOPp->rst; +} + +void VLinkRunCCA::_eval_initial(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_eval_initial\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; +} + +void VLinkRunCCA::final() { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::final\n"); ); + // Variables + VLinkRunCCA__Syms* __restrict vlSymsp = this->__VlSymsp; + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; +} + +void VLinkRunCCA::_eval_settle(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_eval_settle\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + vlTOPp->_settle__TOP__3(vlSymsp); + vlTOPp->_settle__TOP__6(vlSymsp); + vlTOPp->_settle__TOP__8(vlSymsp); +} + +IData VLinkRunCCA::_change_request(VLinkRunCCA__Syms* __restrict vlSymsp) { + VL_DEBUG_IF(VL_PRINTF(" VLinkRunCCA::_change_request\n"); ); + VLinkRunCCA* __restrict vlTOPp VL_ATTR_UNUSED = vlSymsp->TOPp; + // Body + // Change detection + IData __req = false; // Logically a bool + return __req; +} Index: trunk/sim/obj_dir/verilated.d =================================================================== --- trunk/sim/obj_dir/verilated.d (nonexistent) +++ trunk/sim/obj_dir/verilated.d (revision 8) @@ -0,0 +1,6 @@ +verilated.o: /usr/share/verilator/include/verilated.cpp \ + /usr/share/verilator/include/verilated_imp.h \ + /usr/share/verilator/include/verilatedos.h \ + /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilated_heavy.h \ + /usr/share/verilator/include/verilated_syms.h Index: trunk/sim/obj_dir/VLinkRunCCA_classes.mk =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA_classes.mk (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA_classes.mk (revision 8) @@ -0,0 +1,36 @@ +# Verilated -*- Makefile -*- +# DESCRIPTION: Verilator output: Make include file with class lists +# +# This file lists generated Verilated files, for including in higher level makefiles. +# See VLinkRunCCA.mk for the caller. + +### Switches... +# Coverage output mode? 0/1 (from --coverage) +VM_COVERAGE = 0 +# Tracing output mode? 0/1 (from --trace) +VM_TRACE = 0 + +### Object file lists... +# Generated module classes, fast-path, compile with highest optimization +VM_CLASSES_FAST += \ + VLinkRunCCA \ + +# Generated module classes, non-fast-path, compile with low/medium optimization +VM_CLASSES_SLOW += \ + +# Generated support classes, fast-path, compile with highest optimization +VM_SUPPORT_FAST += \ + +# Generated support classes, non-fast-path, compile with low/medium optimization +VM_SUPPORT_SLOW += \ + VLinkRunCCA__Syms \ + +# Global classes, need linked once per executable, fast-path, compile with highest optimization +VM_GLOBAL_FAST += \ + verilated \ + +# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization +VM_GLOBAL_SLOW += \ + + +# Verilated -*- Makefile -*- Index: trunk/sim/obj_dir/VLinkRunCCA.h =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA.h (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA.h (revision 8) @@ -0,0 +1,157 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Primary design header +// +// This header should be included by all source files instantiating the design. +// The class here is then constructed to instantiate the design. +// See the Verilator manual for examples. + +#ifndef _VLinkRunCCA_H_ +#define _VLinkRunCCA_H_ + +#include "verilated.h" +#include "VLinkRunCCA__Inlines.h" +class VLinkRunCCA__Syms; + +//---------- + +VL_MODULE(VLinkRunCCA) { + public: + // CELLS + // Public to allow access to /*verilator_public*/ items; + // otherwise the application code can consider these internals. + + // PORTS + // The application code writes and reads these signals to + // propagate new values into/out from the Verilated model. + VL_IN8(clk,0,0); + VL_IN8(rst,0,0); + VL_IN8(datavalid,0,0); + VL_IN8(pix_in,0,0); + VL_OUT8(datavalid_out,0,0); + //char __VpadToAlign5[3]; + VL_OUT64(box_out,35,0); + + // LOCAL SIGNALS + // Internals; generally not touched by application code + VL_SIG8(v__DOT__n_waddr,7,0); + VL_SIG8(v__DOT__n_wdata,7,0); + VL_SIG8(v__DOT__n_rdata,7,0); + VL_SIG8(v__DOT__h_waddr,7,0); + VL_SIG8(v__DOT__h_wdata,7,0); + VL_SIG8(v__DOT__h_rdata,7,0); + VL_SIG8(v__DOT__t_waddr,7,0); + VL_SIG8(v__DOT__t_wdata,7,0); + VL_SIG8(v__DOT__t_raddr,7,0); + VL_SIG8(v__DOT__t_rdata,7,0); + VL_SIG8(v__DOT__d_waddr,7,0); + VL_SIG8(v__DOT__n_we,0,0); + VL_SIG8(v__DOT__h_we,0,0); + VL_SIG8(v__DOT__t_we,0,0); + VL_SIG8(v__DOT__d_we,0,0); + VL_SIG8(v__DOT__A,0,0); + VL_SIG8(v__DOT__B,0,0); + VL_SIG8(v__DOT__C,0,0); + VL_SIG8(v__DOT__D,0,0); + VL_SIG8(v__DOT__fp,0,0); + VL_SIG8(v__DOT__fn,0,0); + VL_SIG8(v__DOT__O,0,0); + VL_SIG8(v__DOT__HCN,0,0); + VL_SIG8(v__DOT__DMG,0,0); + VL_SIG8(v__DOT__EOC,0,0); + VL_SIG8(v__DOT__p,7,0); + VL_SIG8(v__DOT__hp,7,0); + VL_SIG8(v__DOT__tp,7,0); + VL_SIG8(v__DOT__np,7,0); + VL_SIG8(v__DOT__left,0,0); + VL_SIG8(v__DOT__Next_Table__DOT__read_addr_reg,7,0); + VL_SIG8(v__DOT__Head_Table__DOT__read_addr_reg,7,0); + VL_SIG8(v__DOT__Tail_Table__DOT__read_addr_reg,7,0); + VL_SIG8(v__DOT__Data_Table__DOT__read_addr_reg,7,0); + VL_SIG8(v__DOT__HF__DOT__top,0,0); + VL_SIG8(v__DOT__HF__DOT__x,0,0); + VL_SIG8(v__DOT__HF__DOT__right,0,0); + VL_SIG8(v__DOT__TR__DOT__Rtp,7,0); + VL_SIG8(v__DOT__TR__DOT__pc,7,0); + VL_SIG8(v__DOT__ES__DOT__cc,7,0); + VL_SIG8(v__DOT__ES__DOT__h,7,0); + VL_SIG8(v__DOT__ES__DOT__f,0,0); + VL_SIG8(v__DOT__ES__DOT__HBF,0,0); + VL_SIG8(v__DOT__ES__DOT__Ec,0,0); + VL_SIG16(v__DOT__FA__DOT__x,8,0); + VL_SIG16(v__DOT__FA__DOT__y,8,0); + VL_SIG16(v__DOT__FA__DOT__minx1,8,0); + VL_SIG16(v__DOT__FA__DOT__maxx1,8,0); + VL_SIG16(v__DOT__FA__DOT__miny1,8,0); + VL_SIG16(v__DOT__FA__DOT__maxy1,8,0); + //char __VpadToAlign76[4]; + VL_SIGW(v__DOT__RBHF__DOT__R,509,0,16); + VL_SIGW(v__DOT__RB__DOT__R,509,0,16); + VL_SIG64(v__DOT__d_rdata,35,0); + VL_SIG64(v__DOT__d_wdata,35,0); + VL_SIG64(v__DOT__d,35,0); + VL_SIG64(v__DOT__dp,35,0); + VL_SIG64(v__DOT__TR__DOT__Rdp,35,0); + VL_SIG8(v__DOT__Next_Table__DOT__ram[256],7,0); + VL_SIG8(v__DOT__Head_Table__DOT__ram[256],7,0); + VL_SIG8(v__DOT__Tail_Table__DOT__ram[256],7,0); + VL_SIG64(v__DOT__Data_Table__DOT__ram[256],35,0); + + // LOCAL VARIABLES + // Internals; generally not touched by application code + VL_SIG8(__Vdly__v__DOT__B,0,0); + VL_SIG8(__Vclklast__TOP__clk,0,0); + VL_SIG8(__Vclklast__TOP__rst,0,0); + //char __VpadToAlign3071[1]; + VL_SIGW(__Vdly__v__DOT__RB__DOT__R,509,0,16); + + // INTERNAL VARIABLES + // Internals; generally not touched by application code + //char __VpadToAlign3140[4]; + VLinkRunCCA__Syms* __VlSymsp; // Symbol table + + // PARAMETERS + // Parameters marked /*verilator public*/ for use by application code + + // CONSTRUCTORS + private: + VLinkRunCCA& operator= (const VLinkRunCCA&); ///< Copying not allowed + VLinkRunCCA(const VLinkRunCCA&); ///< Copying not allowed + public: + /// Construct the model; called by application code + /// The special name may be used to make a wrapper with a + /// single model invisible WRT DPI scope names. + VLinkRunCCA(const char* name="TOP"); + /// Destroy the model; called (often implicitly) by application code + ~VLinkRunCCA(); + + // USER METHODS + + // API METHODS + /// Evaluate the model. Application must call when inputs change. + void eval(); + /// Simulation complete, run final blocks. Application must call on completion. + void final(); + + // INTERNAL METHODS + private: + static void _eval_initial_loop(VLinkRunCCA__Syms* __restrict vlSymsp); + public: + void __Vconfigure(VLinkRunCCA__Syms* symsp, bool first); + private: + static IData _change_request(VLinkRunCCA__Syms* __restrict vlSymsp); + public: + static void _eval(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _eval_initial(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _eval_settle(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _sequent__TOP__1(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _sequent__TOP__2(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _sequent__TOP__4(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _sequent__TOP__5(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _sequent__TOP__7(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _sequent__TOP__9(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _settle__TOP__3(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _settle__TOP__6(VLinkRunCCA__Syms* __restrict vlSymsp); + static void _settle__TOP__8(VLinkRunCCA__Syms* __restrict vlSymsp); +} VL_ATTR_ALIGNED(64); + +#endif /*guard*/ Index: trunk/sim/obj_dir/VLinkRunCCA__Syms.cpp =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__Syms.cpp (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__Syms.cpp (revision 8) @@ -0,0 +1,22 @@ +// Verilated -*- C++ -*- +// DESCRIPTION: Verilator output: Symbol table implementation internals + +#include "VLinkRunCCA__Syms.h" +#include "VLinkRunCCA.h" + +// FUNCTIONS +VLinkRunCCA__Syms::VLinkRunCCA__Syms(VLinkRunCCA* topp, const char* namep) + // Setup locals + : __Vm_namep(namep) + , __Vm_activity(false) + , __Vm_didInit(false) + // Setup submodule names +{ + // Pointer to top level + TOPp = topp; + // Setup each module's pointers to their submodules + // Setup each module's pointer back to symbol table (for public functions) + TOPp->__Vconfigure(this, true); + // Setup scope names +} + Index: trunk/sim/obj_dir/VLinkRunCCA__ver.d =================================================================== --- trunk/sim/obj_dir/VLinkRunCCA__ver.d (nonexistent) +++ trunk/sim/obj_dir/VLinkRunCCA__ver.d (revision 8) @@ -0,0 +1 @@ +obj_dir/VLinkRunCCA.cpp obj_dir/VLinkRunCCA.h obj_dir/VLinkRunCCA.mk obj_dir/VLinkRunCCA__Inlines.h obj_dir/VLinkRunCCA__Syms.cpp obj_dir/VLinkRunCCA__Syms.h obj_dir/VLinkRunCCA__ver.d obj_dir/VLinkRunCCA_classes.mk : /usr/bin/verilator_bin ../src/../src/LinkRunCCA.v ../src/cca.vh ../src/equivalence_resolver.v ../src/feature_accumulator.v ../src/holes_filler.v ../src/row_buf.v ../src/table_ram.v ../src/table_reader.v ../src/window.v /usr/bin/verilator_bin Index: trunk/sim/obj_dir/sim_main.d =================================================================== --- trunk/sim/obj_dir/sim_main.d (nonexistent) +++ trunk/sim/obj_dir/sim_main.d (revision 8) @@ -0,0 +1,3 @@ +sim_main.o: ../sim_main.cpp /usr/share/verilator/include/verilated.h \ + /usr/share/verilator/include/verilatedos.h VLinkRunCCA.h \ + VLinkRunCCA__Inlines.h ../sim.h ../ppm.h

powered by: WebSVN 2.1.0

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