Changes in trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp [29:15]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Select/Select_Priority_Fixed/src/Select_Priority_Fixed_vhdl_body.cpp
r29 r15 16 16 17 17 18 void Select_Priority_Fixed::vhdl_body (Vhdl *& vhdl)18 void Select_Priority_Fixed::vhdl_body (Vhdl & vhdl) 19 19 { 20 20 log_printf(FUNC,Select_Priority_Fixed,"vhdl_body","Begin"); 21 vhdl ->set_body ("");21 vhdl.set_body (""); 22 22 23 vhdl ->set_body("internal_entity <=");23 vhdl.set_body("internal_entity <="); 24 24 for (uint32_t i=0; i<_param._nb_entity; i++) 25 25 { 26 vhdl ->set_body("\t"+std_logic_conv(_param._size_entity+1,i)+" when in_VAL_"+toString(i)+"='1' else");26 vhdl.set_body("\t"+std_logic_conv(_param._size_entity+1,i)+" when in_VAL_"+toString(i)+"='1' else"); 27 27 } 28 vhdl ->set_body("\t"+std_logic_conv(_param._size_entity+1,1<<_param._size_entity)+";");29 vhdl ->set_body ("");28 vhdl.set_body("\t"+std_logic_conv(_param._size_entity+1,1<<_param._size_entity)+";"); 29 vhdl.set_body (""); 30 30 31 31 if (_param._encoding_one_hot) 32 32 { 33 33 for (uint32_t i=0; i<_param._nb_entity; i++) 34 vhdl ->set_body("out_ACK_"+toString(i)+" <= '1' when internal_entity"+std_logic_range(_param._size_entity+1)+" = "+std_logic_conv(_param._size_entity+1,i)+" else '0';");35 vhdl ->set_body ("");34 vhdl.set_body("out_ACK_"+toString(i)+" <= '1' when internal_entity"+std_logic_range(_param._size_entity+1)+" = "+std_logic_conv(_param._size_entity+1,i)+" else '0';"); 35 vhdl.set_body (""); 36 36 } 37 37 38 38 if (_param._encoding_compact) 39 39 { 40 vhdl ->set_body ("out_ENTITY <= internal_entity"+std_logic_range(_param._size_entity-1, 0)+";");41 vhdl ->set_body ("out_ENTITY_ACK <= not internal_entity"+std_logic_range(_param._size_entity ,_param._size_entity)+";");40 vhdl.set_body ("out_ENTITY <= internal_entity"+std_logic_range(_param._size_entity-1, 0)+";"); 41 vhdl.set_body ("out_ENTITY_ACK <= not internal_entity"+std_logic_range(_param._size_entity ,_param._size_entity)+";"); 42 42 } 43 43
Note: See TracChangeset
for help on using the changeset viewer.