rearrangement

This commit is contained in:
2024-12-01 02:01:08 +03:00
parent 7466f916d3
commit 0237c7bcb2
277 changed files with 56884 additions and 56884 deletions

View File

@ -0,0 +1,35 @@
module bibp #(parameter UZUNLUK = 8)(
input [UZUNLUK + 2:0] buyruk,
/* output reg [(UZUNLUK/2) - 1:0] v1,
output reg [(UZUNLUK/2) - 1:0] v2, */
output reg [(UZUNLUK/2):0] sonuc
);
/* localparam halfUZUNLUK = UZUNLUK / 2;
localparam v1 = buyruk[UZUNLUK - 1 : halfUZUNLUK];
localparam v2 = buyruk[halfUZUNLUK - 1 : 0];
*/
/*assign v1 = buyruk[UZUNLUK - 1 : UZUNLUK/2];
assign v2 = buyruk[UZUNLUK/2 : 0];*/
// wire [(UZUNLUK/2) - 1:0] v1,v2;
// !!! LOCALPARAM IVERILOG DA PROBLEMLI OLDUGU ICIN KULLANILMIYOR !!!
always@(*) begin
$display("%d", buyruk[UZUNLUK - 1 : UZUNLUK/2]);
$display("%d", buyruk[(UZUNLUK/2) - 1 : 0]);
$display("%d", buyruk[UZUNLUK - 1 : UZUNLUK/2] - buyruk[(UZUNLUK/2) - 1 : 0]);
case(buyruk[UZUNLUK+2:UZUNLUK])
3'b000: sonuc = buyruk[(UZUNLUK - 1) : UZUNLUK/2] + buyruk[(UZUNLUK/2) - 1 : 0];
3'b001: sonuc = buyruk[(UZUNLUK - 1) : UZUNLUK/2] - buyruk[(UZUNLUK/2) - 1 : 0]; // SUBTRACTION ?????? CHECK!!!
3'b010: sonuc = {1'b0, buyruk[UZUNLUK - 1 : UZUNLUK/2] & buyruk[(UZUNLUK/2) - 1 : 0]};
3'b011: sonuc = {1'b0, buyruk[UZUNLUK - 1 : UZUNLUK/2] | buyruk[(UZUNLUK/2) - 1 : 0]};
3'b100: sonuc = {1'b0, buyruk[UZUNLUK - 1 : UZUNLUK/2] ^ buyruk[(UZUNLUK/2) - 1 : 0]};
default: sonuc = -1;
endcase
$display("%b", sonuc);
end
endmodule

View File

@ -0,0 +1,16 @@
module bibpTB();
parameter UZUNLUK = 8;
reg [UZUNLUK+2:0] buyruk;
wire [UZUNLUK/2:0] sonuc;
bibp #(.UZUNLUK(UZUNLUK)) uut(.buyruk(buyruk), .sonuc(sonuc));
initial begin
$dumpfile("vbibp.vcd");
$dumpvars;
buyruk = 11'b111_0101_0100; #10;
$finish;
end
endmodule

Binary file not shown.

View File

@ -0,0 +1,92 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Model implementation (design independent parts)
#include "Vbibp.h"
#include "Vbibp__Syms.h"
//============================================================
// Constructors
Vbibp::Vbibp(VerilatedContext* _vcontextp__, const char* _vcname__)
: VerilatedModel{*_vcontextp__}
, vlSymsp{new Vbibp__Syms(contextp(), _vcname__, this)}
, rootp{&(vlSymsp->TOP)}
{
// Register model with the context
contextp()->addModel(this);
}
Vbibp::Vbibp(const char* _vcname__)
: Vbibp(Verilated::threadContextp(), _vcname__)
{
}
//============================================================
// Destructor
Vbibp::~Vbibp() {
delete vlSymsp;
}
//============================================================
// Evaluation function
#ifdef VL_DEBUG
void Vbibp___024root___eval_debug_assertions(Vbibp___024root* vlSelf);
#endif // VL_DEBUG
void Vbibp___024root___eval_static(Vbibp___024root* vlSelf);
void Vbibp___024root___eval_initial(Vbibp___024root* vlSelf);
void Vbibp___024root___eval_settle(Vbibp___024root* vlSelf);
void Vbibp___024root___eval(Vbibp___024root* vlSelf);
void Vbibp::eval_step() {
VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate Vbibp::eval_step\n"); );
#ifdef VL_DEBUG
// Debug assertions
Vbibp___024root___eval_debug_assertions(&(vlSymsp->TOP));
#endif // VL_DEBUG
if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) {
vlSymsp->__Vm_didInit = true;
VL_DEBUG_IF(VL_DBG_MSGF("+ Initial\n"););
Vbibp___024root___eval_static(&(vlSymsp->TOP));
Vbibp___024root___eval_initial(&(vlSymsp->TOP));
Vbibp___024root___eval_settle(&(vlSymsp->TOP));
}
// MTask 0 start
VL_DEBUG_IF(VL_DBG_MSGF("MTask0 starting\n"););
Verilated::mtaskId(0);
VL_DEBUG_IF(VL_DBG_MSGF("+ Eval\n"););
Vbibp___024root___eval(&(vlSymsp->TOP));
// Evaluate cleanup
Verilated::endOfThreadMTask(vlSymsp->__Vm_evalMsgQp);
Verilated::endOfEval(vlSymsp->__Vm_evalMsgQp);
}
//============================================================
// Events and timing
bool Vbibp::eventsPending() { return !vlSymsp->TOP.__VdlySched.empty(); }
uint64_t Vbibp::nextTimeSlot() { return vlSymsp->TOP.__VdlySched.nextTimeSlot(); }
//============================================================
// Utilities
const char* Vbibp::name() const {
return vlSymsp->name();
}
//============================================================
// Invoke final blocks
void Vbibp___024root___eval_final(Vbibp___024root* vlSelf);
VL_ATTR_COLD void Vbibp::final() {
Vbibp___024root___eval_final(&(vlSymsp->TOP));
}
//============================================================
// Implementations of abstract methods from VerilatedModel
const char* Vbibp::hierName() const { return vlSymsp->name(); }
const char* Vbibp::modelName() const { return "Vbibp"; }
unsigned Vbibp::threads() const { return 1; }

View File

@ -0,0 +1,72 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Primary model 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 VERILATED_VBIBP_H_
#define VERILATED_VBIBP_H_ // guard
#include "verilated.h"
class Vbibp__Syms;
class Vbibp___024root;
// This class is the main interface to the Verilated model
class Vbibp VL_NOT_FINAL : public VerilatedModel {
private:
// Symbol table holding complete model state (owned by this class)
Vbibp__Syms* const vlSymsp;
public:
// PORTS
// The application code writes and reads these signals to
// propagate new values into/out from the Verilated model.
// CELLS
// Public to allow access to /* verilator public */ items.
// Otherwise the application code can consider these internals.
// Root instance pointer to allow access to model internals,
// including inlined /* verilator public_flat_* */ items.
Vbibp___024root* const rootp;
// CONSTRUCTORS
/// Construct the model; called by application code
/// If contextp is null, then the model will use the default global context
/// If name is "", then makes a wrapper with a
/// single model invisible with respect to DPI scope names.
explicit Vbibp(VerilatedContext* contextp, const char* name = "TOP");
explicit Vbibp(const char* name = "TOP");
/// Destroy the model; called (often implicitly) by application code
virtual ~Vbibp();
private:
VL_UNCOPYABLE(Vbibp); ///< Copying not allowed
public:
// API METHODS
/// Evaluate the model. Application must call when inputs change.
void eval() { eval_step(); }
/// Evaluate when calling multiple units/models per time step.
void eval_step();
/// Evaluate at end of a timestep for tracing, when using eval_step().
/// Application must call after all eval() and before time changes.
void eval_end_step() {}
/// Simulation complete, run final blocks. Application must call on completion.
void final();
/// Are there scheduled events to handle?
bool eventsPending();
/// Returns time at next time slot. Aborts if !eventsPending()
uint64_t nextTimeSlot();
/// Retrieve name of this model instance (as passed to constructor).
const char* name() const;
// Abstract methods from VerilatedModel
const char* hierName() const override final;
const char* modelName() const override final;
unsigned threads() const override final;
} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);
#endif // guard

View File

@ -0,0 +1,65 @@
# Verilated -*- Makefile -*-
# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable
#
# Execute this makefile from the object directory:
# make -f Vbibp.mk
default: Vbibp
### Constants...
# Perl executable (from $PERL)
PERL = perl
# Path to Verilator kit (from $VERILATOR_ROOT)
VERILATOR_ROOT = /usr/share/verilator
# SystemC include directory with systemc.h (from $SYSTEMC_INCLUDE)
SYSTEMC_INCLUDE ?=
# SystemC library directory with libsystemc.a (from $SYSTEMC_LIBDIR)
SYSTEMC_LIBDIR ?=
### Switches...
# C++ code coverage 0/1 (from --prof-c)
VM_PROFC = 0
# SystemC output mode? 0/1 (from --sc)
VM_SC = 0
# Legacy or SystemC output mode? 0/1 (from --sc)
VM_SP_OR_SC = $(VM_SC)
# Deprecated
VM_PCLI = 1
# Deprecated: SystemC architecture to find link library path (from $SYSTEMC_ARCH)
VM_SC_TARGET_ARCH = linux
### Vars...
# Design prefix (from --prefix)
VM_PREFIX = Vbibp
# Module prefix (from --prefix)
VM_MODPREFIX = Vbibp
# User CFLAGS (from -CFLAGS on Verilator command line)
VM_USER_CFLAGS = \
-DVL_TIME_CONTEXT \
# User LDLIBS (from -LDFLAGS on Verilator command line)
VM_USER_LDLIBS = \
# User .cpp files (from .cpp's on Verilator command line)
VM_USER_CLASSES = \
# User .cpp directories (from .cpp's on Verilator command line)
VM_USER_DIR = \
### Default rules...
# Include list of all generated classes
include Vbibp_classes.mk
# Include global rules
include $(VERILATOR_ROOT)/include/verilated.mk
### Executable rules... (from --exe)
VPATH += $(VM_USER_DIR)
### Link rules... (from --exe)
Vbibp: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a $(VM_HIER_LIBS)
$(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) $(LIBS) $(SC_LIBS) -o $@
# Verilated -*- Makefile -*-

View File

@ -0,0 +1,92 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Model implementation (design independent parts)
#include "VbibpTB.h"
#include "VbibpTB__Syms.h"
//============================================================
// Constructors
VbibpTB::VbibpTB(VerilatedContext* _vcontextp__, const char* _vcname__)
: VerilatedModel{*_vcontextp__}
, vlSymsp{new VbibpTB__Syms(contextp(), _vcname__, this)}
, rootp{&(vlSymsp->TOP)}
{
// Register model with the context
contextp()->addModel(this);
}
VbibpTB::VbibpTB(const char* _vcname__)
: VbibpTB(Verilated::threadContextp(), _vcname__)
{
}
//============================================================
// Destructor
VbibpTB::~VbibpTB() {
delete vlSymsp;
}
//============================================================
// Evaluation function
#ifdef VL_DEBUG
void VbibpTB___024root___eval_debug_assertions(VbibpTB___024root* vlSelf);
#endif // VL_DEBUG
void VbibpTB___024root___eval_static(VbibpTB___024root* vlSelf);
void VbibpTB___024root___eval_initial(VbibpTB___024root* vlSelf);
void VbibpTB___024root___eval_settle(VbibpTB___024root* vlSelf);
void VbibpTB___024root___eval(VbibpTB___024root* vlSelf);
void VbibpTB::eval_step() {
VL_DEBUG_IF(VL_DBG_MSGF("+++++TOP Evaluate VbibpTB::eval_step\n"); );
#ifdef VL_DEBUG
// Debug assertions
VbibpTB___024root___eval_debug_assertions(&(vlSymsp->TOP));
#endif // VL_DEBUG
if (VL_UNLIKELY(!vlSymsp->__Vm_didInit)) {
vlSymsp->__Vm_didInit = true;
VL_DEBUG_IF(VL_DBG_MSGF("+ Initial\n"););
VbibpTB___024root___eval_static(&(vlSymsp->TOP));
VbibpTB___024root___eval_initial(&(vlSymsp->TOP));
VbibpTB___024root___eval_settle(&(vlSymsp->TOP));
}
// MTask 0 start
VL_DEBUG_IF(VL_DBG_MSGF("MTask0 starting\n"););
Verilated::mtaskId(0);
VL_DEBUG_IF(VL_DBG_MSGF("+ Eval\n"););
VbibpTB___024root___eval(&(vlSymsp->TOP));
// Evaluate cleanup
Verilated::endOfThreadMTask(vlSymsp->__Vm_evalMsgQp);
Verilated::endOfEval(vlSymsp->__Vm_evalMsgQp);
}
//============================================================
// Events and timing
bool VbibpTB::eventsPending() { return !vlSymsp->TOP.__VdlySched.empty(); }
uint64_t VbibpTB::nextTimeSlot() { return vlSymsp->TOP.__VdlySched.nextTimeSlot(); }
//============================================================
// Utilities
const char* VbibpTB::name() const {
return vlSymsp->name();
}
//============================================================
// Invoke final blocks
void VbibpTB___024root___eval_final(VbibpTB___024root* vlSelf);
VL_ATTR_COLD void VbibpTB::final() {
VbibpTB___024root___eval_final(&(vlSymsp->TOP));
}
//============================================================
// Implementations of abstract methods from VerilatedModel
const char* VbibpTB::hierName() const { return vlSymsp->name(); }
const char* VbibpTB::modelName() const { return "VbibpTB"; }
unsigned VbibpTB::threads() const { return 1; }

View File

@ -0,0 +1,72 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Primary model 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 VERILATED_VBIBPTB_H_
#define VERILATED_VBIBPTB_H_ // guard
#include "verilated.h"
class VbibpTB__Syms;
class VbibpTB___024root;
// This class is the main interface to the Verilated model
class VbibpTB VL_NOT_FINAL : public VerilatedModel {
private:
// Symbol table holding complete model state (owned by this class)
VbibpTB__Syms* const vlSymsp;
public:
// PORTS
// The application code writes and reads these signals to
// propagate new values into/out from the Verilated model.
// CELLS
// Public to allow access to /* verilator public */ items.
// Otherwise the application code can consider these internals.
// Root instance pointer to allow access to model internals,
// including inlined /* verilator public_flat_* */ items.
VbibpTB___024root* const rootp;
// CONSTRUCTORS
/// Construct the model; called by application code
/// If contextp is null, then the model will use the default global context
/// If name is "", then makes a wrapper with a
/// single model invisible with respect to DPI scope names.
explicit VbibpTB(VerilatedContext* contextp, const char* name = "TOP");
explicit VbibpTB(const char* name = "TOP");
/// Destroy the model; called (often implicitly) by application code
virtual ~VbibpTB();
private:
VL_UNCOPYABLE(VbibpTB); ///< Copying not allowed
public:
// API METHODS
/// Evaluate the model. Application must call when inputs change.
void eval() { eval_step(); }
/// Evaluate when calling multiple units/models per time step.
void eval_step();
/// Evaluate at end of a timestep for tracing, when using eval_step().
/// Application must call after all eval() and before time changes.
void eval_end_step() {}
/// Simulation complete, run final blocks. Application must call on completion.
void final();
/// Are there scheduled events to handle?
bool eventsPending();
/// Returns time at next time slot. Aborts if !eventsPending()
uint64_t nextTimeSlot();
/// Retrieve name of this model instance (as passed to constructor).
const char* name() const;
// Abstract methods from VerilatedModel
const char* hierName() const override final;
const char* modelName() const override final;
unsigned threads() const override final;
} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);
#endif // guard

View File

@ -0,0 +1,65 @@
# Verilated -*- Makefile -*-
# DESCRIPTION: Verilator output: Makefile for building Verilated archive or executable
#
# Execute this makefile from the object directory:
# make -f VbibpTB.mk
default: VbibpTB
### Constants...
# Perl executable (from $PERL)
PERL = perl
# Path to Verilator kit (from $VERILATOR_ROOT)
VERILATOR_ROOT = /usr/share/verilator
# SystemC include directory with systemc.h (from $SYSTEMC_INCLUDE)
SYSTEMC_INCLUDE ?=
# SystemC library directory with libsystemc.a (from $SYSTEMC_LIBDIR)
SYSTEMC_LIBDIR ?=
### Switches...
# C++ code coverage 0/1 (from --prof-c)
VM_PROFC = 0
# SystemC output mode? 0/1 (from --sc)
VM_SC = 0
# Legacy or SystemC output mode? 0/1 (from --sc)
VM_SP_OR_SC = $(VM_SC)
# Deprecated
VM_PCLI = 1
# Deprecated: SystemC architecture to find link library path (from $SYSTEMC_ARCH)
VM_SC_TARGET_ARCH = linux
### Vars...
# Design prefix (from --prefix)
VM_PREFIX = VbibpTB
# Module prefix (from --prefix)
VM_MODPREFIX = VbibpTB
# User CFLAGS (from -CFLAGS on Verilator command line)
VM_USER_CFLAGS = \
-DVL_TIME_CONTEXT \
# User LDLIBS (from -LDFLAGS on Verilator command line)
VM_USER_LDLIBS = \
# User .cpp files (from .cpp's on Verilator command line)
VM_USER_CLASSES = \
# User .cpp directories (from .cpp's on Verilator command line)
VM_USER_DIR = \
### Default rules...
# Include list of all generated classes
include VbibpTB_classes.mk
# Include global rules
include $(VERILATOR_ROOT)/include/verilated.mk
### Executable rules... (from --exe)
VPATH += $(VM_USER_DIR)
### Link rules... (from --exe)
VbibpTB: $(VK_USER_OBJS) $(VK_GLOBAL_OBJS) $(VM_PREFIX)__ALL.a $(VM_HIER_LIBS)
$(LINK) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) $(LIBS) $(SC_LIBS) -o $@
# Verilated -*- Makefile -*-

View File

@ -0,0 +1,26 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table implementation internals
#include "VbibpTB__Syms.h"
#include "VbibpTB.h"
#include "VbibpTB___024root.h"
// FUNCTIONS
VbibpTB__Syms::~VbibpTB__Syms()
{
}
VbibpTB__Syms::VbibpTB__Syms(VerilatedContext* contextp, const char* namep, VbibpTB* modelp)
: VerilatedSyms{contextp}
// Setup internal state of the Syms class
, __Vm_modelp{modelp}
// Setup module instances
, TOP{this, namep}
{
// Configure time unit / time precision
_vm_contextp__->timeunit(-12);
_vm_contextp__->timeprecision(-12);
// Setup each module's pointers to their submodules
// Setup each module's pointer back to symbol table (for public functions)
TOP.__Vconfigure(true);
}

View File

@ -0,0 +1,37 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table internal header
//
// Internal details; most calling programs do not need this header,
// unless using verilator public meta comments.
#ifndef VERILATED_VBIBPTB__SYMS_H_
#define VERILATED_VBIBPTB__SYMS_H_ // guard
#include "verilated.h"
// INCLUDE MODEL CLASS
#include "VbibpTB.h"
// INCLUDE MODULE CLASSES
#include "VbibpTB___024root.h"
// SYMS CLASS (contains all model state)
class VbibpTB__Syms final : public VerilatedSyms {
public:
// INTERNAL STATE
VbibpTB* const __Vm_modelp;
bool __Vm_didInit = false;
// MODULE INSTANCE STATE
VbibpTB___024root TOP;
// CONSTRUCTORS
VbibpTB__Syms(VerilatedContext* contextp, const char* namep, VbibpTB* modelp);
~VbibpTB__Syms();
// METHODS
const char* name() { return TOP.name(); }
} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);
#endif // guard

View File

@ -0,0 +1,39 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design internal header
// See VbibpTB.h for the primary calling header
#ifndef VERILATED_VBIBPTB___024ROOT_H_
#define VERILATED_VBIBPTB___024ROOT_H_ // guard
#include "verilated.h"
#include "verilated_timing.h"
class VbibpTB__Syms;
class VbibpTB___024root final : public VerilatedModule {
public:
// DESIGN SPECIFIC STATE
CData/*0:0*/ __VactContinue;
SData/*10:0*/ bibpTB__DOT__buyruk;
IData/*31:0*/ __VstlIterCount;
IData/*31:0*/ __VactIterCount;
VlDelayScheduler __VdlySched;
VlTriggerVec<1> __VstlTriggered;
VlTriggerVec<1> __VactTriggered;
VlTriggerVec<1> __VnbaTriggered;
// INTERNAL VARIABLES
VbibpTB__Syms* const vlSymsp;
// CONSTRUCTORS
VbibpTB___024root(VbibpTB__Syms* symsp, const char* v__name);
~VbibpTB___024root();
VL_UNCOPYABLE(VbibpTB___024root);
// INTERNAL METHODS
void __Vconfigure(bool first);
} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);
#endif // guard

View File

@ -0,0 +1,180 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See VbibpTB.h for the primary calling header
#include "verilated.h"
#include "VbibpTB___024root.h"
VlCoroutine VbibpTB___024root___eval_initial__TOP__0(VbibpTB___024root* vlSelf);
void VbibpTB___024root___eval_initial(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_initial\n"); );
// Body
VbibpTB___024root___eval_initial__TOP__0(vlSelf);
}
VL_INLINE_OPT void VbibpTB___024root___act_sequent__TOP__0(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___act_sequent__TOP__0\n"); );
// Init
CData/*4:0*/ bibpTB__DOT__sonuc;
bibpTB__DOT__sonuc = 0;
// Body
VL_WRITEF("%2#\n%2#\n%2#\n",4,(0xfU & ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)),
4,(0xfU & (IData)(vlSelf->bibpTB__DOT__buyruk)),
4,(0xfU & (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U) - (IData)(vlSelf->bibpTB__DOT__buyruk))));
bibpTB__DOT__sonuc = ((0x400U & (IData)(vlSelf->bibpTB__DOT__buyruk))
? 0x1fU : (0x1fU & ((0x200U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
? (
(0x100U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
? 0x1fU
:
((0x80U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
? 0x1fU
:
((0xfU
& ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U))
^
(0xfU
& (IData)(vlSelf->bibpTB__DOT__buyruk)))))
: (
(0x100U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
?
((0x80U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
?
(0xfU
& (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)
| (IData)(vlSelf->bibpTB__DOT__buyruk)))
:
(0xfU
& (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)
& (IData)(vlSelf->bibpTB__DOT__buyruk))))
:
((0x80U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
?
((0xfU
& ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U))
-
(0xfU
& (IData)(vlSelf->bibpTB__DOT__buyruk)))
:
((0xfU
& ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U))
+
(0xfU
& (IData)(vlSelf->bibpTB__DOT__buyruk))))))));
VL_WRITEF("%2#\n",5,bibpTB__DOT__sonuc);
}
void VbibpTB___024root___eval_act(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_act\n"); );
// Body
if (vlSelf->__VactTriggered.at(0U)) {
VbibpTB___024root___act_sequent__TOP__0(vlSelf);
}
}
void VbibpTB___024root___eval_nba(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_nba\n"); );
// Body
if (vlSelf->__VnbaTriggered.at(0U)) {
VbibpTB___024root___act_sequent__TOP__0(vlSelf);
}
}
void VbibpTB___024root___eval_triggers__act(VbibpTB___024root* vlSelf);
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__act(VbibpTB___024root* vlSelf);
#endif // VL_DEBUG
void VbibpTB___024root___timing_resume(VbibpTB___024root* vlSelf);
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__nba(VbibpTB___024root* vlSelf);
#endif // VL_DEBUG
void VbibpTB___024root___eval(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval\n"); );
// Init
VlTriggerVec<1> __VpreTriggered;
IData/*31:0*/ __VnbaIterCount;
CData/*0:0*/ __VnbaContinue;
// Body
__VnbaIterCount = 0U;
__VnbaContinue = 1U;
while (__VnbaContinue) {
__VnbaContinue = 0U;
vlSelf->__VnbaTriggered.clear();
vlSelf->__VactIterCount = 0U;
vlSelf->__VactContinue = 1U;
while (vlSelf->__VactContinue) {
vlSelf->__VactContinue = 0U;
VbibpTB___024root___eval_triggers__act(vlSelf);
if (vlSelf->__VactTriggered.any()) {
vlSelf->__VactContinue = 1U;
if (VL_UNLIKELY((0x64U < vlSelf->__VactIterCount))) {
#ifdef VL_DEBUG
VbibpTB___024root___dump_triggers__act(vlSelf);
#endif
VL_FATAL_MT("bibpTB.v", 1, "", "Active region did not converge.");
}
vlSelf->__VactIterCount = ((IData)(1U)
+ vlSelf->__VactIterCount);
__VpreTriggered.andNot(vlSelf->__VactTriggered, vlSelf->__VnbaTriggered);
vlSelf->__VnbaTriggered.set(vlSelf->__VactTriggered);
VbibpTB___024root___timing_resume(vlSelf);
VbibpTB___024root___eval_act(vlSelf);
}
}
if (vlSelf->__VnbaTriggered.any()) {
__VnbaContinue = 1U;
if (VL_UNLIKELY((0x64U < __VnbaIterCount))) {
#ifdef VL_DEBUG
VbibpTB___024root___dump_triggers__nba(vlSelf);
#endif
VL_FATAL_MT("bibpTB.v", 1, "", "NBA region did not converge.");
}
__VnbaIterCount = ((IData)(1U) + __VnbaIterCount);
VbibpTB___024root___eval_nba(vlSelf);
}
}
}
void VbibpTB___024root___timing_resume(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___timing_resume\n"); );
// Body
if (vlSelf->__VactTriggered.at(0U)) {
vlSelf->__VdlySched.resume();
}
}
#ifdef VL_DEBUG
void VbibpTB___024root___eval_debug_assertions(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_debug_assertions\n"); );
}
#endif // VL_DEBUG

View File

@ -0,0 +1,117 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See VbibpTB.h for the primary calling header
#include "verilated.h"
#include "VbibpTB___024root.h"
VL_ATTR_COLD void VbibpTB___024root___eval_static(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_static\n"); );
}
VL_ATTR_COLD void VbibpTB___024root___eval_final(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_final\n"); );
}
VL_ATTR_COLD void VbibpTB___024root___eval_triggers__stl(VbibpTB___024root* vlSelf);
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__stl(VbibpTB___024root* vlSelf);
#endif // VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___eval_stl(VbibpTB___024root* vlSelf);
VL_ATTR_COLD void VbibpTB___024root___eval_settle(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_settle\n"); );
// Init
CData/*0:0*/ __VstlContinue;
// Body
vlSelf->__VstlIterCount = 0U;
__VstlContinue = 1U;
while (__VstlContinue) {
__VstlContinue = 0U;
VbibpTB___024root___eval_triggers__stl(vlSelf);
if (vlSelf->__VstlTriggered.any()) {
__VstlContinue = 1U;
if (VL_UNLIKELY((0x64U < vlSelf->__VstlIterCount))) {
#ifdef VL_DEBUG
VbibpTB___024root___dump_triggers__stl(vlSelf);
#endif
VL_FATAL_MT("bibpTB.v", 1, "", "Settle region did not converge.");
}
vlSelf->__VstlIterCount = ((IData)(1U)
+ vlSelf->__VstlIterCount);
VbibpTB___024root___eval_stl(vlSelf);
}
}
}
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__stl(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___dump_triggers__stl\n"); );
// Body
if ((1U & (~ (IData)(vlSelf->__VstlTriggered.any())))) {
VL_DBG_MSGF(" No triggers active\n");
}
if (vlSelf->__VstlTriggered.at(0U)) {
VL_DBG_MSGF(" 'stl' region trigger index 0 is active: Internal 'stl' trigger - first iteration\n");
}
}
#endif // VL_DEBUG
void VbibpTB___024root___act_sequent__TOP__0(VbibpTB___024root* vlSelf);
VL_ATTR_COLD void VbibpTB___024root___eval_stl(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_stl\n"); );
// Body
if (vlSelf->__VstlTriggered.at(0U)) {
VbibpTB___024root___act_sequent__TOP__0(vlSelf);
}
}
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__act(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___dump_triggers__act\n"); );
// Body
if ((1U & (~ (IData)(vlSelf->__VactTriggered.any())))) {
VL_DBG_MSGF(" No triggers active\n");
}
if (vlSelf->__VactTriggered.at(0U)) {
VL_DBG_MSGF(" 'act' region trigger index 0 is active: @([true] __VdlySched.awaitingCurrentTime())\n");
}
}
#endif // VL_DEBUG
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__nba(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___dump_triggers__nba\n"); );
// Body
if ((1U & (~ (IData)(vlSelf->__VnbaTriggered.any())))) {
VL_DBG_MSGF(" No triggers active\n");
}
if (vlSelf->__VnbaTriggered.at(0U)) {
VL_DBG_MSGF(" 'nba' region trigger index 0 is active: @([true] __VdlySched.awaitingCurrentTime())\n");
}
}
#endif // VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___ctor_var_reset(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___ctor_var_reset\n"); );
// Body
vlSelf->bibpTB__DOT__buyruk = VL_RAND_RESET_I(11);
}

View File

@ -0,0 +1,43 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See VbibpTB.h for the primary calling header
#include "verilated.h"
#include "VbibpTB__Syms.h"
#include "VbibpTB___024root.h"
VL_INLINE_OPT VlCoroutine VbibpTB___024root___eval_initial__TOP__0(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_initial__TOP__0\n"); );
// Init
VlWide<3>/*95:0*/ __Vtemp_h84e83511__0;
// Body
__Vtemp_h84e83511__0[0U] = 0x2e766364U;
__Vtemp_h84e83511__0[1U] = 0x62696270U;
__Vtemp_h84e83511__0[2U] = 0x76U;
vlSymsp->_vm_contextp__->dumpfile(VL_CVT_PACK_STR_NW(3, __Vtemp_h84e83511__0));
VL_PRINTF_MT("-Info: bibpTB.v:11: $dumpvar ignored, as Verilated without --trace\n");
vlSelf->bibpTB__DOT__buyruk = 0x154U;
co_await vlSelf->__VdlySched.delay(0xaU, "bibpTB.v",
13);
VL_FINISH_MT("bibpTB.v", 14, "");
}
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__act(VbibpTB___024root* vlSelf);
#endif // VL_DEBUG
void VbibpTB___024root___eval_triggers__act(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_triggers__act\n"); );
// Body
vlSelf->__VactTriggered.at(0U) = vlSelf->__VdlySched.awaitingCurrentTime();
#ifdef VL_DEBUG
if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {
VbibpTB___024root___dump_triggers__act(vlSelf);
}
#endif
}

View File

@ -0,0 +1,25 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See VbibpTB.h for the primary calling header
#include "verilated.h"
#include "VbibpTB__Syms.h"
#include "VbibpTB___024root.h"
#ifdef VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___dump_triggers__stl(VbibpTB___024root* vlSelf);
#endif // VL_DEBUG
VL_ATTR_COLD void VbibpTB___024root___eval_triggers__stl(VbibpTB___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
VbibpTB__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ VbibpTB___024root___eval_triggers__stl\n"); );
// Body
vlSelf->__VstlTriggered.at(0U) = (0U == vlSelf->__VstlIterCount);
#ifdef VL_DEBUG
if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {
VbibpTB___024root___dump_triggers__stl(vlSelf);
}
#endif
}

View File

@ -0,0 +1,26 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See VbibpTB.h for the primary calling header
#include "verilated.h"
#include "VbibpTB__Syms.h"
#include "VbibpTB___024root.h"
void VbibpTB___024root___ctor_var_reset(VbibpTB___024root* vlSelf);
VbibpTB___024root::VbibpTB___024root(VbibpTB__Syms* symsp, const char* v__name)
: VerilatedModule{v__name}
, __VdlySched{*symsp->_vm_contextp__}
, vlSymsp{symsp}
{
// Reset structure values
VbibpTB___024root___ctor_var_reset(this);
}
void VbibpTB___024root::__Vconfigure(bool first) {
if (false && first) {} // Prevent unused
}
VbibpTB___024root::~VbibpTB___024root() {
}

View File

@ -0,0 +1,34 @@
// Verilated -*- C++ -*-
// DESCRIPTION: main() calling loop, created with Verilator --main
#include "verilated.h"
#include "VbibpTB.h"
//======================
int main(int argc, char** argv, char**) {
// Setup context, defaults, and parse command line
Verilated::debug(0);
const std::unique_ptr<VerilatedContext> contextp{new VerilatedContext};
contextp->commandArgs(argc, argv);
// Construct the Verilated model, from Vtop.h generated from Verilating
const std::unique_ptr<VbibpTB> topp{new VbibpTB{contextp.get()}};
// Simulate until $finish
while (!contextp->gotFinish()) {
// Evaluate model
topp->eval();
// Advance time
if (!topp->eventsPending()) break;
contextp->time(topp->nextTimeSlot());
}
if (!contextp->gotFinish()) {
VL_DEBUG_IF(VL_PRINTF("+ Exiting without $finish; no events left\n"););
}
// Final model cleanup
topp->final();
return 0;
}

View File

@ -0,0 +1,54 @@
# Verilated -*- Makefile -*-
# DESCRIPTION: Verilator output: Make include file with class lists
#
# This file lists generated Verilated files, for including in higher level makefiles.
# See VbibpTB.mk for the caller.
### Switches...
# C11 constructs required? 0/1 (always on now)
VM_C11 = 1
# Timing enabled? 0/1
VM_TIMING = 1
# Coverage output mode? 0/1 (from --coverage)
VM_COVERAGE = 0
# Parallel builds? 0/1 (from --output-split)
VM_PARALLEL_BUILDS = 0
# Tracing output mode? 0/1 (from --trace/--trace-fst)
VM_TRACE = 0
# Tracing output mode in VCD format? 0/1 (from --trace)
VM_TRACE_VCD = 0
# Tracing output mode in FST format? 0/1 (from --trace-fst)
VM_TRACE_FST = 0
### Object file lists...
# Generated module classes, fast-path, compile with highest optimization
VM_CLASSES_FAST += \
VbibpTB \
VbibpTB___024root__DepSet_h7f8acf28__0 \
VbibpTB___024root__DepSet_h31122c8e__0 \
VbibpTB__main \
# Generated module classes, non-fast-path, compile with low/medium optimization
VM_CLASSES_SLOW += \
VbibpTB___024root__Slow \
VbibpTB___024root__DepSet_h7f8acf28__0__Slow \
VbibpTB___024root__DepSet_h31122c8e__0__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 += \
VbibpTB__Syms \
# Global classes, need linked once per executable, fast-path, compile with highest optimization
VM_GLOBAL_FAST += \
verilated \
verilated_timing \
verilated_threads \
# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization
VM_GLOBAL_SLOW += \
# Verilated -*- Makefile -*-

Binary file not shown.

View File

@ -0,0 +1,10 @@
// DESCRIPTION: Generated by verilator_includer via makefile
#define VL_INCLUDE_OPT include
#include "Vbibp.cpp"
#include "Vbibp___024root__DepSet_h1791c79f__0.cpp"
#include "Vbibp___024root__DepSet_h1fed60c4__0.cpp"
#include "Vbibp__main.cpp"
#include "Vbibp___024root__Slow.cpp"
#include "Vbibp___024root__DepSet_h1791c79f__0__Slow.cpp"
#include "Vbibp___024root__DepSet_h1fed60c4__0__Slow.cpp"
#include "Vbibp__Syms.cpp"

View File

@ -0,0 +1,12 @@
Vbibp__ALL.o: Vbibp__ALL.cpp Vbibp.cpp Vbibp.h \
/usr/share/verilator/include/verilated.h \
/usr/share/verilator/include/verilatedos.h \
/usr/share/verilator/include/verilated_config.h \
/usr/share/verilator/include/verilated_types.h \
/usr/share/verilator/include/verilated_funcs.h Vbibp__Syms.h \
Vbibp___024root.h /usr/share/verilator/include/verilated_timing.h \
/usr/share/verilator/include/verilated.h \
Vbibp___024root__DepSet_h1791c79f__0.cpp \
Vbibp___024root__DepSet_h1fed60c4__0.cpp Vbibp__main.cpp \
Vbibp___024root__Slow.cpp Vbibp___024root__DepSet_h1791c79f__0__Slow.cpp \
Vbibp___024root__DepSet_h1fed60c4__0__Slow.cpp Vbibp__Syms.cpp

Binary file not shown.

View File

@ -0,0 +1,26 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table implementation internals
#include "Vbibp__Syms.h"
#include "Vbibp.h"
#include "Vbibp___024root.h"
// FUNCTIONS
Vbibp__Syms::~Vbibp__Syms()
{
}
Vbibp__Syms::Vbibp__Syms(VerilatedContext* contextp, const char* namep, Vbibp* modelp)
: VerilatedSyms{contextp}
// Setup internal state of the Syms class
, __Vm_modelp{modelp}
// Setup module instances
, TOP{this, namep}
{
// Configure time unit / time precision
_vm_contextp__->timeunit(-12);
_vm_contextp__->timeprecision(-12);
// Setup each module's pointers to their submodules
// Setup each module's pointer back to symbol table (for public functions)
TOP.__Vconfigure(true);
}

View File

@ -0,0 +1,37 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Symbol table internal header
//
// Internal details; most calling programs do not need this header,
// unless using verilator public meta comments.
#ifndef VERILATED_VBIBP__SYMS_H_
#define VERILATED_VBIBP__SYMS_H_ // guard
#include "verilated.h"
// INCLUDE MODEL CLASS
#include "Vbibp.h"
// INCLUDE MODULE CLASSES
#include "Vbibp___024root.h"
// SYMS CLASS (contains all model state)
class Vbibp__Syms final : public VerilatedSyms {
public:
// INTERNAL STATE
Vbibp* const __Vm_modelp;
bool __Vm_didInit = false;
// MODULE INSTANCE STATE
Vbibp___024root TOP;
// CONSTRUCTORS
Vbibp__Syms(VerilatedContext* contextp, const char* namep, Vbibp* modelp);
~Vbibp__Syms();
// METHODS
const char* name() { return TOP.name(); }
} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);
#endif // guard

View File

@ -0,0 +1,39 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design internal header
// See Vbibp.h for the primary calling header
#ifndef VERILATED_VBIBP___024ROOT_H_
#define VERILATED_VBIBP___024ROOT_H_ // guard
#include "verilated.h"
#include "verilated_timing.h"
class Vbibp__Syms;
class Vbibp___024root final : public VerilatedModule {
public:
// DESIGN SPECIFIC STATE
CData/*0:0*/ __VactContinue;
SData/*10:0*/ bibpTB__DOT__buyruk;
IData/*31:0*/ __VstlIterCount;
IData/*31:0*/ __VactIterCount;
VlDelayScheduler __VdlySched;
VlTriggerVec<1> __VstlTriggered;
VlTriggerVec<1> __VactTriggered;
VlTriggerVec<1> __VnbaTriggered;
// INTERNAL VARIABLES
Vbibp__Syms* const vlSymsp;
// CONSTRUCTORS
Vbibp___024root(Vbibp__Syms* symsp, const char* v__name);
~Vbibp___024root();
VL_UNCOPYABLE(Vbibp___024root);
// INTERNAL METHODS
void __Vconfigure(bool first);
} VL_ATTR_ALIGNED(VL_CACHE_LINE_BYTES);
#endif // guard

View File

@ -0,0 +1,43 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Vbibp.h for the primary calling header
#include "verilated.h"
#include "Vbibp__Syms.h"
#include "Vbibp___024root.h"
VL_INLINE_OPT VlCoroutine Vbibp___024root___eval_initial__TOP__0(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_initial__TOP__0\n"); );
// Init
VlWide<3>/*95:0*/ __Vtemp_h84e83511__0;
// Body
__Vtemp_h84e83511__0[0U] = 0x2e766364U;
__Vtemp_h84e83511__0[1U] = 0x62696270U;
__Vtemp_h84e83511__0[2U] = 0x76U;
vlSymsp->_vm_contextp__->dumpfile(VL_CVT_PACK_STR_NW(3, __Vtemp_h84e83511__0));
VL_PRINTF_MT("-Info: bibpTB.v:11: $dumpvar ignored, as Verilated without --trace\n");
vlSelf->bibpTB__DOT__buyruk = 0x754U;
co_await vlSelf->__VdlySched.delay(0xaU, "bibpTB.v",
13);
VL_FINISH_MT("bibpTB.v", 14, "");
}
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__act(Vbibp___024root* vlSelf);
#endif // VL_DEBUG
void Vbibp___024root___eval_triggers__act(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_triggers__act\n"); );
// Body
vlSelf->__VactTriggered.at(0U) = vlSelf->__VdlySched.awaitingCurrentTime();
#ifdef VL_DEBUG
if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {
Vbibp___024root___dump_triggers__act(vlSelf);
}
#endif
}

View File

@ -0,0 +1,25 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Vbibp.h for the primary calling header
#include "verilated.h"
#include "Vbibp__Syms.h"
#include "Vbibp___024root.h"
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__stl(Vbibp___024root* vlSelf);
#endif // VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___eval_triggers__stl(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_triggers__stl\n"); );
// Body
vlSelf->__VstlTriggered.at(0U) = (0U == vlSelf->__VstlIterCount);
#ifdef VL_DEBUG
if (VL_UNLIKELY(vlSymsp->_vm_contextp__->debug())) {
Vbibp___024root___dump_triggers__stl(vlSelf);
}
#endif
}

View File

@ -0,0 +1,163 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Vbibp.h for the primary calling header
#include "verilated.h"
#include "Vbibp___024root.h"
VlCoroutine Vbibp___024root___eval_initial__TOP__0(Vbibp___024root* vlSelf);
void Vbibp___024root___eval_initial(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_initial\n"); );
// Body
Vbibp___024root___eval_initial__TOP__0(vlSelf);
}
VL_INLINE_OPT void Vbibp___024root___act_sequent__TOP__0(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___act_sequent__TOP__0\n"); );
// Init
CData/*4:0*/ bibpTB__DOT__sonuc;
bibpTB__DOT__sonuc = 0;
// Body
VL_WRITEF("%2#\n%2#\n%2#\n",4,(0xfU & ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)),
4,(0xfU & (IData)(vlSelf->bibpTB__DOT__buyruk)),
4,(0xfU & (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U) - (IData)(vlSelf->bibpTB__DOT__buyruk))));
bibpTB__DOT__sonuc = (0x1fU & ((0x400U & (IData)(vlSelf->bibpTB__DOT__buyruk))
? ((0x200U & (IData)(vlSelf->bibpTB__DOT__buyruk))
? 0x1fU : (
(0x100U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
? 0x1fU
:
(0xfU
& (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)
^ (IData)(vlSelf->bibpTB__DOT__buyruk)))))
: ((0x200U & (IData)(vlSelf->bibpTB__DOT__buyruk))
? ((0x100U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
? (0xfU
& (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)
| (IData)(vlSelf->bibpTB__DOT__buyruk)))
: (0xfU
& (((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U)
& (IData)(vlSelf->bibpTB__DOT__buyruk))))
: ((0x100U
& (IData)(vlSelf->bibpTB__DOT__buyruk))
? ((0xfU
& ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U))
- (0xfU
& (IData)(vlSelf->bibpTB__DOT__buyruk)))
: ((0xfU
& ((IData)(vlSelf->bibpTB__DOT__buyruk)
>> 4U))
+ (0xfU
& (IData)(vlSelf->bibpTB__DOT__buyruk)))))));
VL_WRITEF("%b\n",5,bibpTB__DOT__sonuc);
}
void Vbibp___024root___eval_act(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_act\n"); );
// Body
if (vlSelf->__VactTriggered.at(0U)) {
Vbibp___024root___act_sequent__TOP__0(vlSelf);
}
}
void Vbibp___024root___eval_nba(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_nba\n"); );
// Body
if (vlSelf->__VnbaTriggered.at(0U)) {
Vbibp___024root___act_sequent__TOP__0(vlSelf);
}
}
void Vbibp___024root___eval_triggers__act(Vbibp___024root* vlSelf);
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__act(Vbibp___024root* vlSelf);
#endif // VL_DEBUG
void Vbibp___024root___timing_resume(Vbibp___024root* vlSelf);
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__nba(Vbibp___024root* vlSelf);
#endif // VL_DEBUG
void Vbibp___024root___eval(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval\n"); );
// Init
VlTriggerVec<1> __VpreTriggered;
IData/*31:0*/ __VnbaIterCount;
CData/*0:0*/ __VnbaContinue;
// Body
__VnbaIterCount = 0U;
__VnbaContinue = 1U;
while (__VnbaContinue) {
__VnbaContinue = 0U;
vlSelf->__VnbaTriggered.clear();
vlSelf->__VactIterCount = 0U;
vlSelf->__VactContinue = 1U;
while (vlSelf->__VactContinue) {
vlSelf->__VactContinue = 0U;
Vbibp___024root___eval_triggers__act(vlSelf);
if (vlSelf->__VactTriggered.any()) {
vlSelf->__VactContinue = 1U;
if (VL_UNLIKELY((0x64U < vlSelf->__VactIterCount))) {
#ifdef VL_DEBUG
Vbibp___024root___dump_triggers__act(vlSelf);
#endif
VL_FATAL_MT("bibpTB.v", 1, "", "Active region did not converge.");
}
vlSelf->__VactIterCount = ((IData)(1U)
+ vlSelf->__VactIterCount);
__VpreTriggered.andNot(vlSelf->__VactTriggered, vlSelf->__VnbaTriggered);
vlSelf->__VnbaTriggered.set(vlSelf->__VactTriggered);
Vbibp___024root___timing_resume(vlSelf);
Vbibp___024root___eval_act(vlSelf);
}
}
if (vlSelf->__VnbaTriggered.any()) {
__VnbaContinue = 1U;
if (VL_UNLIKELY((0x64U < __VnbaIterCount))) {
#ifdef VL_DEBUG
Vbibp___024root___dump_triggers__nba(vlSelf);
#endif
VL_FATAL_MT("bibpTB.v", 1, "", "NBA region did not converge.");
}
__VnbaIterCount = ((IData)(1U) + __VnbaIterCount);
Vbibp___024root___eval_nba(vlSelf);
}
}
}
void Vbibp___024root___timing_resume(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___timing_resume\n"); );
// Body
if (vlSelf->__VactTriggered.at(0U)) {
vlSelf->__VdlySched.resume();
}
}
#ifdef VL_DEBUG
void Vbibp___024root___eval_debug_assertions(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_debug_assertions\n"); );
}
#endif // VL_DEBUG

View File

@ -0,0 +1,117 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Vbibp.h for the primary calling header
#include "verilated.h"
#include "Vbibp___024root.h"
VL_ATTR_COLD void Vbibp___024root___eval_static(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_static\n"); );
}
VL_ATTR_COLD void Vbibp___024root___eval_final(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_final\n"); );
}
VL_ATTR_COLD void Vbibp___024root___eval_triggers__stl(Vbibp___024root* vlSelf);
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__stl(Vbibp___024root* vlSelf);
#endif // VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___eval_stl(Vbibp___024root* vlSelf);
VL_ATTR_COLD void Vbibp___024root___eval_settle(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_settle\n"); );
// Init
CData/*0:0*/ __VstlContinue;
// Body
vlSelf->__VstlIterCount = 0U;
__VstlContinue = 1U;
while (__VstlContinue) {
__VstlContinue = 0U;
Vbibp___024root___eval_triggers__stl(vlSelf);
if (vlSelf->__VstlTriggered.any()) {
__VstlContinue = 1U;
if (VL_UNLIKELY((0x64U < vlSelf->__VstlIterCount))) {
#ifdef VL_DEBUG
Vbibp___024root___dump_triggers__stl(vlSelf);
#endif
VL_FATAL_MT("bibpTB.v", 1, "", "Settle region did not converge.");
}
vlSelf->__VstlIterCount = ((IData)(1U)
+ vlSelf->__VstlIterCount);
Vbibp___024root___eval_stl(vlSelf);
}
}
}
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__stl(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___dump_triggers__stl\n"); );
// Body
if ((1U & (~ (IData)(vlSelf->__VstlTriggered.any())))) {
VL_DBG_MSGF(" No triggers active\n");
}
if (vlSelf->__VstlTriggered.at(0U)) {
VL_DBG_MSGF(" 'stl' region trigger index 0 is active: Internal 'stl' trigger - first iteration\n");
}
}
#endif // VL_DEBUG
void Vbibp___024root___act_sequent__TOP__0(Vbibp___024root* vlSelf);
VL_ATTR_COLD void Vbibp___024root___eval_stl(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___eval_stl\n"); );
// Body
if (vlSelf->__VstlTriggered.at(0U)) {
Vbibp___024root___act_sequent__TOP__0(vlSelf);
}
}
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__act(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___dump_triggers__act\n"); );
// Body
if ((1U & (~ (IData)(vlSelf->__VactTriggered.any())))) {
VL_DBG_MSGF(" No triggers active\n");
}
if (vlSelf->__VactTriggered.at(0U)) {
VL_DBG_MSGF(" 'act' region trigger index 0 is active: @([true] __VdlySched.awaitingCurrentTime())\n");
}
}
#endif // VL_DEBUG
#ifdef VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___dump_triggers__nba(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___dump_triggers__nba\n"); );
// Body
if ((1U & (~ (IData)(vlSelf->__VnbaTriggered.any())))) {
VL_DBG_MSGF(" No triggers active\n");
}
if (vlSelf->__VnbaTriggered.at(0U)) {
VL_DBG_MSGF(" 'nba' region trigger index 0 is active: @([true] __VdlySched.awaitingCurrentTime())\n");
}
}
#endif // VL_DEBUG
VL_ATTR_COLD void Vbibp___024root___ctor_var_reset(Vbibp___024root* vlSelf) {
if (false && vlSelf) {} // Prevent unused
Vbibp__Syms* const __restrict vlSymsp VL_ATTR_UNUSED = vlSelf->vlSymsp;
VL_DEBUG_IF(VL_DBG_MSGF("+ Vbibp___024root___ctor_var_reset\n"); );
// Body
vlSelf->bibpTB__DOT__buyruk = VL_RAND_RESET_I(11);
}

View File

@ -0,0 +1,26 @@
// Verilated -*- C++ -*-
// DESCRIPTION: Verilator output: Design implementation internals
// See Vbibp.h for the primary calling header
#include "verilated.h"
#include "Vbibp__Syms.h"
#include "Vbibp___024root.h"
void Vbibp___024root___ctor_var_reset(Vbibp___024root* vlSelf);
Vbibp___024root::Vbibp___024root(Vbibp__Syms* symsp, const char* v__name)
: VerilatedModule{v__name}
, __VdlySched{*symsp->_vm_contextp__}
, vlSymsp{symsp}
{
// Reset structure values
Vbibp___024root___ctor_var_reset(this);
}
void Vbibp___024root::__Vconfigure(bool first) {
if (false && first) {} // Prevent unused
}
Vbibp___024root::~Vbibp___024root() {
}

View File

@ -0,0 +1,34 @@
// Verilated -*- C++ -*-
// DESCRIPTION: main() calling loop, created with Verilator --main
#include "verilated.h"
#include "Vbibp.h"
//======================
int main(int argc, char** argv, char**) {
// Setup context, defaults, and parse command line
Verilated::debug(0);
const std::unique_ptr<VerilatedContext> contextp{new VerilatedContext};
contextp->commandArgs(argc, argv);
// Construct the Verilated model, from Vtop.h generated from Verilating
const std::unique_ptr<Vbibp> topp{new Vbibp{contextp.get()}};
// Simulate until $finish
while (!contextp->gotFinish()) {
// Evaluate model
topp->eval();
// Advance time
if (!topp->eventsPending()) break;
contextp->time(topp->nextTimeSlot());
}
if (!contextp->gotFinish()) {
VL_DEBUG_IF(VL_PRINTF("+ Exiting without $finish; no events left\n"););
}
// Final model cleanup
topp->final();
return 0;
}

View File

@ -0,0 +1 @@
obj_dir/Vbibp.cpp obj_dir/Vbibp.h obj_dir/Vbibp.mk obj_dir/Vbibp__Syms.cpp obj_dir/Vbibp__Syms.h obj_dir/Vbibp___024root.h obj_dir/Vbibp___024root__DepSet_h1791c79f__0.cpp obj_dir/Vbibp___024root__DepSet_h1791c79f__0__Slow.cpp obj_dir/Vbibp___024root__DepSet_h1fed60c4__0.cpp obj_dir/Vbibp___024root__DepSet_h1fed60c4__0__Slow.cpp obj_dir/Vbibp___024root__Slow.cpp obj_dir/Vbibp__main.cpp obj_dir/Vbibp__ver.d obj_dir/Vbibp_classes.mk : /usr/bin/verilator_bin /usr/bin/verilator_bin bibp.v bibpTB.v

View File

@ -0,0 +1,20 @@
# DESCRIPTION: Verilator output: Timestamp data for --skip-identical. Delete at will.
C "--binary bibp.v bibpTB.v"
S 12244816 28045 1719496600 881980186 1680199511 0 "/usr/bin/verilator_bin"
S 1391 45758 1720892163 82220690 1720892163 82220690 "bibp.v"
S 280 45770 1720891982 812222176 1720891982 812222176 "bibpTB.v"
T 2913 45968 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp.cpp"
T 2653 45967 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp.h"
T 1734 45977 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp.mk"
T 746 45965 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp__Syms.cpp"
T 902 45966 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp__Syms.h"
T 991 45969 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp___024root.h"
T 1689 45973 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp___024root__DepSet_h1791c79f__0.cpp"
T 843 45971 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp___024root__DepSet_h1791c79f__0__Slow.cpp"
T 7548 45974 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp___024root__DepSet_h1fed60c4__0.cpp"
T 4683 45972 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp___024root__DepSet_h1fed60c4__0__Slow.cpp"
T 668 45970 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp___024root__Slow.cpp"
T 961 45975 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp__main.cpp"
T 501 45978 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp__ver.d"
T 0 0 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp__verFiles.dat"
T 1664 45976 1720892165 682220680 1720892165 682220680 "obj_dir/Vbibp_classes.mk"

View File

@ -0,0 +1,54 @@
# Verilated -*- Makefile -*-
# DESCRIPTION: Verilator output: Make include file with class lists
#
# This file lists generated Verilated files, for including in higher level makefiles.
# See Vbibp.mk for the caller.
### Switches...
# C11 constructs required? 0/1 (always on now)
VM_C11 = 1
# Timing enabled? 0/1
VM_TIMING = 1
# Coverage output mode? 0/1 (from --coverage)
VM_COVERAGE = 0
# Parallel builds? 0/1 (from --output-split)
VM_PARALLEL_BUILDS = 0
# Tracing output mode? 0/1 (from --trace/--trace-fst)
VM_TRACE = 0
# Tracing output mode in VCD format? 0/1 (from --trace)
VM_TRACE_VCD = 0
# Tracing output mode in FST format? 0/1 (from --trace-fst)
VM_TRACE_FST = 0
### Object file lists...
# Generated module classes, fast-path, compile with highest optimization
VM_CLASSES_FAST += \
Vbibp \
Vbibp___024root__DepSet_h1791c79f__0 \
Vbibp___024root__DepSet_h1fed60c4__0 \
Vbibp__main \
# Generated module classes, non-fast-path, compile with low/medium optimization
VM_CLASSES_SLOW += \
Vbibp___024root__Slow \
Vbibp___024root__DepSet_h1791c79f__0__Slow \
Vbibp___024root__DepSet_h1fed60c4__0__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 += \
Vbibp__Syms \
# Global classes, need linked once per executable, fast-path, compile with highest optimization
VM_GLOBAL_FAST += \
verilated \
verilated_timing \
verilated_threads \
# Global classes, need linked once per executable, non-fast-path, compile with low/medium optimization
VM_GLOBAL_SLOW += \
# Verilated -*- Makefile -*-

View File

@ -0,0 +1,12 @@
verilated.o: /usr/share/verilator/include/verilated.cpp \
/usr/share/verilator/include/verilated_config.h \
/usr/share/verilator/include/verilatedos.h \
/usr/share/verilator/include/verilated_imp.h \
/usr/share/verilator/include/verilated.h \
/usr/share/verilator/include/verilated_types.h \
/usr/share/verilator/include/verilated_funcs.h \
/usr/share/verilator/include/verilated_syms.h \
/usr/share/verilator/include/verilated_sym_props.h \
/usr/share/verilator/include/verilated_threads.h \
/usr/share/verilator/include/verilated_trace.h \
/usr/share/verilator/include/verilated_trace_defs.h

Binary file not shown.

View File

@ -0,0 +1,7 @@
verilated_threads.o: /usr/share/verilator/include/verilated_threads.cpp \
/usr/share/verilator/include/verilatedos.h \
/usr/share/verilator/include/verilated_threads.h \
/usr/share/verilator/include/verilated.h \
/usr/share/verilator/include/verilated_config.h \
/usr/share/verilator/include/verilated_types.h \
/usr/share/verilator/include/verilated_funcs.h

Binary file not shown.

View File

@ -0,0 +1,7 @@
verilated_timing.o: /usr/share/verilator/include/verilated_timing.cpp \
/usr/share/verilator/include/verilated_timing.h \
/usr/share/verilator/include/verilated.h \
/usr/share/verilator/include/verilatedos.h \
/usr/share/verilator/include/verilated_config.h \
/usr/share/verilator/include/verilated_types.h \
/usr/share/verilator/include/verilated_funcs.h

Binary file not shown.

View File

@ -0,0 +1,26 @@
$date
Sat Jul 13 20:33:06 2024
$end
$version
Icarus Verilog
$end
$timescale
1s
$end
$scope module bibpTB $end
$var wire 5 ! sonuc [4:0] $end
$var reg 11 " buyruk [10:0] $end
$scope module uut $end
$var wire 11 # buyruk [10:0] $end
$var reg 5 $ sonuc [4:0] $end
$upscope $end
$upscope $end
$enddefinitions $end
#0
$dumpvars
b11111 $
b11101010100 #
b11101010100 "
b11111 !
$end
#10

View File

@ -0,0 +1,129 @@
#! /usr/bin/vvp
:ivl_version "11.0 (stable)";
:ivl_delay_selection "TYPICAL";
:vpi_time_precision + 0;
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/system.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_sys.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
S_0x55b097fd0df0 .scope module, "bibpTB" "bibpTB" 2 1;
.timescale 0 0;
P_0x55b097fd1ec0 .param/l "UZUNLUK" 0 2 3, +C4<00000000000000000000000000001000>;
v0x55b098020f40_0 .var "buyruk", 10 0;
v0x55b098021030_0 .net "sonuc", 4 0, v0x55b098020e00_0; 1 drivers
S_0x55b097fd0fd0 .scope module, "uut" "bibp" 2 7, 3 1 0, S_0x55b097fd0df0;
.timescale 0 0;
.port_info 0 /INPUT 11 "buyruk";
.port_info 1 /OUTPUT 5 "sonuc";
P_0x55b097fd1de0 .param/l "UZUNLUK" 0 3 1, +C4<00000000000000000000000000001000>;
v0x55b09800a8e0_0 .net "buyruk", 10 0, v0x55b098020f40_0; 1 drivers
v0x55b098020e00_0 .var "sonuc", 4 0;
E_0x55b09800af00 .event edge, v0x55b09800a8e0_0, v0x55b098020e00_0;
.scope S_0x55b097fd0fd0;
T_0 ;
%wait E_0x55b09800af00;
%vpi_call 3 21 "$display", "%d", &PV<v0x55b09800a8e0_0, 4, 4> {0 0 0};
%vpi_call 3 22 "$display", "%d", &PV<v0x55b09800a8e0_0, 0, 4> {0 0 0};
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 4, 4;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 0, 2;
%sub;
%vpi_call 3 23 "$display", "%d", S<0,vec4,u4> {1 0 0};
%load/vec4 v0x55b09800a8e0_0;
%parti/s 3, 8, 5;
%dup/vec4;
%pushi/vec4 0, 0, 3;
%cmp/u;
%jmp/1 T_0.0, 6;
%dup/vec4;
%pushi/vec4 1, 0, 3;
%cmp/u;
%jmp/1 T_0.1, 6;
%dup/vec4;
%pushi/vec4 2, 0, 3;
%cmp/u;
%jmp/1 T_0.2, 6;
%dup/vec4;
%pushi/vec4 3, 0, 3;
%cmp/u;
%jmp/1 T_0.3, 6;
%dup/vec4;
%pushi/vec4 4, 0, 3;
%cmp/u;
%jmp/1 T_0.4, 6;
%pushi/vec4 31, 0, 5;
%store/vec4 v0x55b098020e00_0, 0, 5;
%jmp T_0.6;
T_0.0 ;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 4, 4;
%pad/u 5;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 0, 2;
%pad/u 5;
%add;
%store/vec4 v0x55b098020e00_0, 0, 5;
%jmp T_0.6;
T_0.1 ;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 4, 4;
%pad/u 5;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 0, 2;
%pad/u 5;
%sub;
%store/vec4 v0x55b098020e00_0, 0, 5;
%jmp T_0.6;
T_0.2 ;
%pushi/vec4 0, 0, 1;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 4, 4;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 0, 2;
%and;
%concat/vec4; draw_concat_vec4
%store/vec4 v0x55b098020e00_0, 0, 5;
%jmp T_0.6;
T_0.3 ;
%pushi/vec4 0, 0, 1;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 4, 4;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 0, 2;
%or;
%concat/vec4; draw_concat_vec4
%store/vec4 v0x55b098020e00_0, 0, 5;
%jmp T_0.6;
T_0.4 ;
%pushi/vec4 0, 0, 1;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 4, 4;
%load/vec4 v0x55b09800a8e0_0;
%parti/s 4, 0, 2;
%xor;
%concat/vec4; draw_concat_vec4
%store/vec4 v0x55b098020e00_0, 0, 5;
%jmp T_0.6;
T_0.6 ;
%pop/vec4 1;
%vpi_call 3 32 "$display", "%b", v0x55b098020e00_0 {0 0 0};
%jmp T_0;
.thread T_0, $push;
.scope S_0x55b097fd0df0;
T_1 ;
%vpi_call 2 10 "$dumpfile", "vbibp.vcd" {0 0 0};
%vpi_call 2 11 "$dumpvars" {0 0 0};
%pushi/vec4 1876, 0, 11;
%store/vec4 v0x55b098020f40_0, 0, 11;
%delay 10, 0;
%vpi_call 2 14 "$finish" {0 0 0};
%end;
.thread T_1;
# The file index is used to find the file name in the following table.
:file_names 4;
"N/A";
"<interactive>";
"bibpTB.v";
"bibp.v";