Changeset 116 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_vhdl_xilinx_body.cpp
- Timestamp:
- Apr 30, 2009, 3:51:41 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Comparator/src/Comparator_vhdl_xilinx_body.cpp
r113 r116 20 20 { 21 21 log_begin(Comparator,FUNCTION); 22 vhdl->set_body (""); 22 vhdl->set_body (0,"ins_c_compare_v9_0 : c_compare_v9_0"); 23 vhdl->set_body (1,"generic map ("); 24 vhdl->set_body (2,"c_width => "+toString(_param->_size_data)+","); 25 vhdl->set_body (2,"c_data_type => "+toString(!_param->_is_signed)+", -- 0 = signed, 1 = unsigned"); 26 std::string print_res_pin = ""; 27 switch (_param->_type) 28 { 29 case COMPARATOR_EQUAL : 30 vhdl->set_body (2,"c_has_a_eq_b => 1)"); 31 print_res_pin = "a_eq_b"; 32 break; 33 case COMPARATOR_NOT_EQUAL : 34 vhdl->set_body (2,"c_has_a_eq_b => 0,"); 35 vhdl->set_body (2,"c_has_a_ne_b => 1)"); 36 print_res_pin = "a_ne_b"; 37 break; 38 case COMPARATOR_GREATER : 39 vhdl->set_body (2,"c_has_a_eq_b => 0,"); 40 vhdl->set_body (2,"c_has_a_gt_b => 1)"); 41 print_res_pin = "a_gt_b"; 42 break; 43 case COMPARATOR_GREATER_OR_EQUAL : 44 vhdl->set_body (2,"c_has_a_eq_b => 0,"); 45 vhdl->set_body (2,"c_has_a_ge_b => 1)"); 46 print_res_pin = "a_ge_b"; 47 break; 48 case COMPARATOR_LESS : 49 vhdl->set_body (2,"c_has_a_eq_b => 0,"); 50 vhdl->set_body (2,"c_has_a_lt_b => 1)"); 51 print_res_pin = "a_lt_b"; 52 break; 53 case COMPARATOR_LESS_OR_EQUAL : 54 vhdl->set_body (2,"c_has_a_eq_b => 0,"); 55 vhdl->set_body (2,"c_has_a_le_b => 1)"); 56 print_res_pin = "a_le_b"; 57 break; 58 } 59 60 vhdl->set_body (1,"port map ("); 61 vhdl->set_body (2,"a => in_COMPARE_DATA_0,"); 62 vhdl->set_body (2,"b => in_COMPARE_DATA_1,"); 63 vhdl->set_body (2,print_res_pin+" => out_COMPARE_TEST);"); 64 23 65 log_end(Comparator,FUNCTION); 24 66 };
Note: See TracChangeset
for help on using the changeset viewer.