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

Subversion Repositories t6507lp

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /t6507lp/trunk/fv
    from Rev 130 to Rev 131
    Reverse comparison

Rev 130 → Rev 131

/alu_sync.e
1,8 → 1,9
alu_sync.e;
<'
unit alu_sync_u {
clk_p: in simple_port of bit is instance;
keep bind(clk_p, external);
event clk is rise (clk_p$) @sys.any;
clk: in event_port is instance;
keep bind(clk, external);
keep clk.hdl_path() == "clk";
keep clk.edge() == rise;
};
'>
/alu_agent.e
6,15 → 6,17
smp: alu_signal_map_u is instance;
mon: alu_mon_u is instance;
bfm: alu_bfm_u is instance;
chk: alu_chk_u is instance;
 
event main_clk;
 
keep bfm.agent == me;
keep bfm.agent == me;
keep bfm.reset_n == smp.reset_n;
keep bfm.alu_enable == smp.alu_enable;
keep bfm.alu_opcode == smp.alu_opcode;
keep bfm.alu_a == smp.alu_a;
 
keep mon.agent == me;
keep mon.alu_result == smp.alu_result;
keep mon.alu_status == smp.alu_status;
keep mon.alu_x == smp.alu_x;
43,5 → 45,10
event main_clk is only @agent.main_clk;
};
 
extend alu_mon_u {
agent: alu_agent_u;
event main_clk is only @agent.main_clk;
};
 
 
'>
/alu_input.e
32,14 → 32,11
event T1_cover_event;
cover T1_cover_event is {
item input_kind using no_collect=TRUE;
item alu_opcode using radix=HEX, no_collect=TRUE;
item alu_opcode using num_of_buckets=256, radix=HEX, no_collect=TRUE;
cross input_kind, alu_opcode;
//item alu_a;
};
 
post_generate() is also {
emit T1_cover_event;
};
};
'>
 
/alu_bfm.e
19,8 → 19,10
reset_n$ = data.reset_n;
alu_enable$ = data.alu_enable;
alu_opcode$ = data.alu_opcode;
alu_a$ = data.alu_a;
alu_a$ = data.alu_a;
 
agent.chk.store(data);
 
};
 
};
/alu_components.e
7,4 → 7,5
import alu_sync;
import alu_agent;
import alu_input;
import alu_chk;
'>
/alu_chk.e
0,0 → 1,31
alu_chk.e
<'
import alu_components;
 
unit alu_chk_u {
reg_a : byte;
reg_x : byte;
reg_y : byte;
reg_status : byte;
 
count_cycles : int;
first_cycle : bool;
 
keep first_cycle == TRUE;
keep count_cycles == 0;
 
store(input : alu_input_s) is {
out ("input stored: ", input);
};
 
compare(alu_result:byte, alu_status:byte, alu_x:byte, alu_y:byte ) is {
if (first_cycle) {
first_cycle = FALSE;
reg_x = alu_x;
reg_y = alu_y;
reg_status = alu_status;
reg_a = ???? // TODO
}
};
};
'>
/alu_mon.e
1,12 → 1,17
<'
import alu_components;
 
unit alu_mon_u {
// !pkt: sbt_packet_s;
// event pkt_detected_e;
// event clock_e;
 
alu_result: in simple_port of byte;
alu_status: in simple_port of byte;
alu_x: in simple_port of byte;
alu_y: in simple_port of byte;
 
event main_clk;
 
on main_clk {
agent.chk.compare(alu_result$, alu_status$, alu_x$, alu_y$);
 
};
};
'>

powered by: WebSVN 2.1.0

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