URL
https://opencores.org/ocsvn/t6507lp/t6507lp/trunk
Subversion Repositories t6507lp
Compare Revisions
- This comparison shows the changes necessary to convert path
/t6507lp/trunk
- from Rev 128 to Rev 129
- ↔ Reverse comparison
Rev 128 → Rev 129
/rtl/verilog/t6507lp_alu_wrapper.v
42,27 → 42,29
//////////////////////////////////////////////////////////////////////////// |
|
`include "timescale.v" |
`include "T6507LP_ALU.v" |
|
module wrapper_alu(); |
module t6507lp_alu_wrapper(); |
parameter [3:0] DATA_SIZE = 4'd8; |
localparam [3:0] DATA_SIZE_ = DATA_SIZE - 4'b0001; |
|
// all inputs are regs |
reg clk; |
reg n_rst_i; |
reg reset_n; |
reg alu_enable; |
reg alu_opcode; |
reg alu_a; |
reg [DATA_SIZE_:0] alu_opcode; |
reg [DATA_SIZE_:0] alu_a; |
|
// all outputs are wires |
wire alu_result; |
wire alu_status; |
wire alu_x; |
wire alu_y; |
wire [DATA_SIZE_:0] alu_result; |
wire [DATA_SIZE_:0] alu_status; |
wire [DATA_SIZE_:0] alu_x; |
wire [DATA_SIZE_:0] alu_y; |
|
|
initial clk = 0; |
always #10 clk <= ~clk; |
|
//always #100 $write("working"); |
|
T6507LP_ALU T6507LP_ALU ( |
.clk_i (clk), |
/fv/alu_sync.e
1,9 → 1,8
alu_sync.e; |
<' |
unit alu_sync_u { |
clk: in event_port is instance; |
keep bind(clk, external); |
keep clk.hdl_path() == "clk"; |
keep clk.edge() == rise; |
clk_p: in simple_port of bit is instance; |
keep bind(clk_p, external); |
event clk is rise (clk_p$) @sys.any; |
}; |
'> |
/fv/alu_agent.e
6,14 → 6,14
smp: alu_signal_map_u is instance; |
mon: alu_mon_u is instance; |
bfm: alu_bfm_u is instance; |
sync: alu_sync_u is instance; |
|
|
event main_clk; |
|
keep bfm.rst == smp.rst; |
|
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 bfm.alu_a == smp.alu_a; |
|
keep mon.alu_result == smp.alu_result; |
keep mon.alu_status == smp.alu_status; |
20,12 → 20,28
keep mon.alu_x == smp.alu_x; |
keep mon.alu_y == smp.alu_y; |
|
help() @ main_clk is { |
out ("Hello World"); |
}; |
//on main_clk { |
//while TRUE { |
//counter = counter +1; |
|
//if (counter == 37) { |
//dut_error(); |
//} |
//else { |
//out("\n",counter); |
//} |
//} |
//}; |
|
run() is also { |
start help(); |
//start help(); |
}; |
}; |
|
extend alu_bfm_u { |
agent: alu_agent_u; |
event main_clk is only @agent.main_clk; |
}; |
|
|
'> |
/fv/alu_sigmap.e
1,9 → 1,9
alu_sig_map.e; |
<' |
unit alu_signal_map_u { |
rst : out simple_port of bool is instance; |
keep bind(rst, external); |
keep rst.hdl_path() == "n_rst_i"; |
reset_n : out simple_port of bool is instance; |
keep bind(reset_n, external); |
keep reset_n.hdl_path() == "reset_n"; |
|
alu_enable : out simple_port of bool is instance; |
keep bind(alu_enable, external); |
/fv/alu_bfm.e
2,15 → 2,26
import alu_components.e; |
|
unit alu_bfm_u { |
|
//event clock_e; |
//send_pkt(pkt: alu_packet_s) @clock_e is { |
//Send in packet using the DUT protocol |
//}; |
|
rst: out simple_port of bool; |
reset_n: out simple_port of bool; |
alu_enable: out simple_port of bool; |
alu_opcode: out simple_port of byte; |
//alu_a: out simple_port of byte; |
alu_a: out simple_port of byte; |
|
event main_clk; |
|
on main_clk { |
//Send in packet using the DUT protocol |
var data : alu_input_s; |
gen data; |
|
emit data.T1_cover_event; |
|
reset_n$ = data.reset_n; |
alu_enable$ = data.alu_enable; |
alu_opcode$ = data.alu_opcode; |
alu_a$ = data.alu_a; |
|
}; |
|
}; |
'> |
/fv/alu_components.e
6,4 → 6,5
import alu_sigmap; |
import alu_sync; |
import alu_agent; |
import alu_input; |
'> |
/fv/alu_env.e
3,10 → 3,11
unit alu_env_u { |
agent: alu_agent_u is instance; |
sync: alu_sync_u is instance; |
teste: list of alu_input_s; |
keep teste.size() == 10; |
|
|
keep agent.env == me; |
|
|
}; |
|
extend alu_agent_u { |
16,5 → 17,6
|
extend sys { |
env: alu_env_u is instance; |
keep env.hdl_path() == "~/t6507lp_alu_wrapper"; |
}; |
'> |