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

Subversion Repositories t6507lp

[/] [t6507lp/] [trunk/] [fv/] [alu_input.e] - Diff between revs 182 and 185

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 182 Rev 185
alu_input.e
alu_input.e
<'
<'
import alu_components.e;
import alu_components.e;
type alu_input_t: [ENABLED_VALID, DISABLED_VALID, RESET, ENABLED_RAND, DISABLED_RAND];
type alu_input_t: [ENABLED_VALID, DISABLED_VALID, RESET, ENABLED_RAND, DISABLED_RAND];
type alu_test_type: [REGULAR, RAND];
type alu_test_type: [REGULAR, RAND];
 
 
struct alu_input_s {
struct alu_input_s {
        input_kind : alu_input_t;
        input_kind : alu_input_t;
        test_kind : alu_test_type;
        test_kind : alu_test_type;
        reset_n: bool;
        reset_n: bool;
        alu_enable: bool;
        alu_enable: bool;
        alu_opcode: valid_opcodes;
        alu_opcode: valid_opcodes;
        alu_a: byte;
        alu_a: byte;
 
 
        keep test_kind == RAND;
//      keep test_kind == RAND;
 
 
        when REGULAR'test_kind alu_input_s {
        when REGULAR'test_kind alu_input_s {
                keep soft input_kind == select {
                keep soft input_kind == select {
                        45: ENABLED_VALID;
                        45: ENABLED_VALID;
                        45: DISABLED_VALID;
                        45: DISABLED_VALID;
                        10: RESET;
                        10: RESET;
                };
                };
        };
        };
 
 
        when ENABLED_VALID'input_kind alu_input_s {
        when ENABLED_VALID'input_kind alu_input_s {
                keep reset_n == TRUE; // remember this is active low
                keep reset_n == TRUE; // remember this is active low
                keep alu_enable == TRUE;
                keep alu_enable == TRUE;
                keep alu_a in [0..255];
                keep alu_a in [0..255];
        };
        };
 
 
        when DISABLED_VALID'input_kind alu_input_s {
        when DISABLED_VALID'input_kind alu_input_s {
                keep reset_n == TRUE; // remember this is active low
                keep reset_n == TRUE; // remember this is active low
                keep alu_enable == FALSE;
                keep alu_enable == FALSE;
                keep alu_a in [0..255];
                keep alu_a in [0..255];
        };
        };
 
 
        when RESET'input_kind alu_input_s {
        when RESET'input_kind alu_input_s {
                keep reset_n == FALSE; // remember this is active low
                keep reset_n == FALSE; // remember this is active low
                keep soft alu_enable == select {
                keep soft alu_enable == select {
                        50: FALSE;
                        50: FALSE;
                        50: TRUE;
                        50: TRUE;
                };
                };
                keep alu_a in [0..255];
                keep alu_a in [0..255];
                //keep alu_opcode in [0..255];
                //keep alu_opcode in [0..255];
        };
        };
 
 
        event T1_cover_event;
        event T1_cover_event;
        cover T1_cover_event is {
        cover T1_cover_event is {
                item input_kind using no_collect=TRUE;
                item input_kind using no_collect=TRUE, ignore = (input_kind == ENABLED_RAND || input_kind == DISABLED_RAND);
                item alu_opcode using num_of_buckets=256, radix=HEX, no_collect=TRUE;
                item alu_opcode using num_of_buckets=256, radix=HEX, no_collect=TRUE;
                cross input_kind, alu_opcode;
                cross input_kind, alu_opcode;
                //item alu_a;
                //item alu_a;
        };
        };
};
};
 
 
 
 
extend alu_input_s {
extend alu_input_s {
        rand_op : byte;
        rand_op : byte;
 
 
        when RAND'test_kind alu_input_s {
        when RAND'test_kind alu_input_s {
                keep soft input_kind == select {
                keep soft input_kind == select {
                        45: ENABLED_RAND;
                        45: ENABLED_RAND;
                        45: DISABLED_RAND;
                        45: DISABLED_RAND;
                        10: RESET;
                        10: RESET;
                };
                };
        };
        };
 
 
        when ENABLED_RAND'input_kind alu_input_s {
        when ENABLED_RAND'input_kind alu_input_s {
                keep reset_n == TRUE; // remember this is active low
                keep reset_n == TRUE; // remember this is active low
                keep alu_enable == TRUE;
                keep alu_enable == TRUE;
                keep alu_a in [0..255];
                keep alu_a in [0..255];
                keep rand_op in [0..255];
                keep rand_op in [0..255];
        };
        };
 
 
        when DISABLED_RAND'input_kind alu_input_s {
        when DISABLED_RAND'input_kind alu_input_s {
                keep reset_n == TRUE; // remember this is active low
                keep reset_n == TRUE; // remember this is active low
                keep alu_enable == TRUE;
                keep alu_enable == FALSE;
                keep alu_a in [0..255];
                keep alu_a in [0..255];
                keep rand_op in [0..255];
                keep rand_op in [0..255];
        };
        };
 
 
        event T2_cover_event;
        event T2_cover_event;
        cover T2_cover_event is {
        cover T2_cover_event is {
                item alu_enable using no_collect=TRUE;
                item alu_enable using no_collect=TRUE;
                item rand_op using num_of_buckets=256, radix=HEX, no_collect=TRUE;
                item rand_op using num_of_buckets=256, radix=HEX, no_collect=TRUE;
                cross alu_enable, rand_op;
                cross alu_enable, rand_op;
        };
        };
};
};
'>
'>
 
 
 
 

powered by: WebSVN 2.1.0

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