diff --git a/src/ros2/Tests/Level_2/L2_Testbench_ROS_Lib2.vhd b/src/ros2/Tests/Level_2/L2_Testbench_ROS_Lib2.vhd index c32f512..3808361 100644 --- a/src/ros2/Tests/Level_2/L2_Testbench_ROS_Lib2.vhd +++ b/src/ros2/Tests/Level_2/L2_Testbench_ROS_Lib2.vhd @@ -10,9 +10,6 @@ use work.ros_config.all; use work.rtps_package.all; use work.user_config.all; use work.rtps_config_package.all; -use work.rtps_test_package.all; - - entity L2_Testbench_ROS_Lib2 is port ( diff --git a/syn/DE10-Nano/top.qsf b/syn/DE10-Nano/top.qsf index 1c547d8..5987a19 100644 --- a/syn/DE10-Nano/top.qsf +++ b/syn/DE10-Nano/top.qsf @@ -50,9 +50,13 @@ set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top -set_global_assignment -name VHDL_FILE ../test6.vhd -hdl_version VHDL_2008 set_global_assignment -name SDC_FILE ../top.sdc set_global_assignment -name VHDL_FILE ../test_top.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/Tests/Level_2/L2_Testbench_ROS_Lib2.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/example_interfaces/AddTwoInts_srv_server.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/example_interfaces/AddTwoInts_srv_client.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/Tests/AddTwoInts.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/ros_static_discovery_writer.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/Avalon_MM_wrapper.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/Tests/Level_2/L2_testbench_Lib4.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/Tests/test_loopback.vhd -hdl_version VHDL_2008 @@ -76,6 +80,7 @@ set_global_assignment -name VHDL_FILE ../../src/rtps_writer.vhd -hdl_version VHD set_global_assignment -name VHDL_FILE ../../src/rtps_discovery_module.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/rtps_handler.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/rtps_out.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../test6.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../test5.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../test4.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../test3.vhd -hdl_version VHDL_2008 @@ -93,8 +98,12 @@ set_global_assignment -name VHDL_FILE ../../src/dual_port_ram.vhd -hdl_version V set_global_assignment -name VHDL_FILE ../../src/single_port_ram_cfg.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/single_port_ram_Altera.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/single_port_ram.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/ros_config_package.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/rtps_config_package.vhd -hdl_version VHDL_2008 -set_global_assignment -name VHDL_FILE ../syn_config.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/dds_user_config.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../syn_ros_service_config.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/example_interfaces/AddTwoInts_package.vhd -hdl_version VHDL_2008 +set_global_assignment -name VHDL_FILE ../../src/ros2/ros_package.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/rtps_package.vhd -hdl_version VHDL_2008 set_global_assignment -name VHDL_FILE ../../src/math_pkg.vhd -hdl_version VHDL_2008 set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/syn/syn_ros_service_config.vhd b/syn/syn_ros_service_config.vhd new file mode 100644 index 0000000..c08531b --- /dev/null +++ b/syn/syn_ros_service_config.vhd @@ -0,0 +1,78 @@ +-- altera vhdl_input_version vhdl_2008 +-- XXX: QSYS Fix (https://www.intel.com/content/www/us/en/support/programmable/articles/000079458.html) + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +use work.rtps_package.all; +use work.ros_package.all; +use work.AddTwoInts_package.all; + +package ros_config is + + -- IPv4 Address of ROS System [192.168.0.90] + constant ROS_ADDRESS : std_logic_vector(IPv4_ADDRESS_WIDTH-1 downto 0) := x"C0A8005A"; + -- Random Key used to generate GUIDs + constant ROS_RAND_KEY : std_logic_vector(47 downto 0) := x"1D4EEC915C7C"; + + constant NUM_NODES : natural := 1; + + constant ROS_NODES : ROS_NODE_ARRAY_TYPE(0 to NUM_NODES-1) := ( + 0 => ( + name => gen_user_string("add_two_ints_server"), + namespace => gen_user_string(""), + domain_id => 0, + NUM_PUBS => 0, + NUM_SUBS => 0, + NUM_SERVICES => 1, + NUM_ACTIONS => 0 + ) + ); + + constant NUM_PUBS : natural := get_num_pubs(ROS_NODES); + constant NUM_SUBS : natural := get_num_subs(ROS_NODES); + constant NUM_SERVICES : natural := get_num_services(ROS_NODES); + constant NUM_ACTIONS : natural := get_num_actions(ROS_NODES); + + constant ROS_PUBLICATIONS : ROS_TOPIC_ARRAY_TYPE(0 to NUM_PUBS-1) := ( + others => ( + node_id => 0, + TOPICNAME => gen_user_string(""), + TYPENAME => gen_user_string(""), + QOS => ROS_QOS_PROFILE_DEFAULT, + MAX_SIZE => 0 + ) + ); + + constant ROS_SUBSCRIPTIONS : ROS_TOPIC_ARRAY_TYPE(0 to NUM_SUBS-1) := ( + others => ( + node_id => 0, + TOPICNAME => gen_user_string(""), + TYPENAME => gen_user_string(""), + QOS => ROS_QOS_PROFILE_DEFAULT, + MAX_SIZE => 0 + ) + ); + + constant ROS_SERVICES : ROS_SERVICE_ARRAY_TYPE(0 to NUM_SERVICES-1) := ( + 0 => ( + node_id => 0, + SERVICENAME => gen_user_string("add_two_ints"), + TYPENAME => gen_user_string("example_interfaces::srv::dds_::AddTwoInts_Request_"), + QOS => ROS_QOS_PROFILE_SERVICES_DEFAULT, + MAX_RQ_SIZE => MAX_ADDTWOINTS_RQ_SIZE, + MAX_RR_SIZE => MAX_ADDTWOINTS_RR_SIZE, + is_client => FALSE + ) + ); + + constant ROS_ACTIONS : ROS_ACTION_ARRAY_TYPE(0 to NUM_ACTIONS-1) := ( + others => ( + node_id => 0 + ) + ); + + -- Defines sensible RTPS timings for simulation + constant SIMULATION_TIMING : boolean := FALSE; +end package; \ No newline at end of file diff --git a/syn/test_top.vhd b/syn/test_top.vhd index 33e8faa..2ce933a 100644 --- a/syn/test_top.vhd +++ b/syn/test_top.vhd @@ -83,7 +83,23 @@ begin free => open ); - dds_loopback_inst : entity work.L2_Testbench_Lib4(arch) + --dds_loopback_inst : entity work.L2_Testbench_Lib4(arch) + -- port map ( + -- -- SYSTEM + -- clk => clk, + -- reset => reset, + -- time => time, + -- -- INPUT + -- empty => empty_fi_test, + -- read => read_test_fi, + -- data_in => data_fi_test, + -- -- OUTPUT + -- full => full_fo_test, + -- write => write_test_fo, + -- data_out => data_test_fo + -- ); + + ros_service_inst : entity work.L2_Testbench_ROS_Lib2(arch) port map ( -- SYSTEM clk => clk,