piel.tools.cocotb.data
======================

.. py:module:: piel.tools.cocotb.data

.. autoapi-nested-parse::

   This module provides functions to read, plot, and analyze Cocotb simulation files. It supports reading simulation
   output files, converting them into Pandas dataframes, and plotting the files using Bokeh for interactive visualization.
   # TODO: Implement the logic for processing different signal measurement.



Attributes
----------

.. autoapisummary::

   piel.tools.cocotb.data.get_simulation_output_files


Functions
---------

.. autoapisummary::

   piel.tools.cocotb.data.get_simulation_output_files_from_design
   piel.tools.cocotb.data.read_simulation_data
   piel.tools.cocotb.data.simple_plot_simulation_data


Module Contents
---------------

.. py:data:: get_simulation_output_files

.. py:function:: get_simulation_output_files_from_design(design_directory: piel.types.PathTypes, extension: str = 'csv') -> list

   Returns a list of all simulation output files in the specified design directory.

   :param design_directory: The path to the design directory.
   :type design_directory: PathTypes
   :param extension: The file extension to filter by. Defaults to "csv".
   :type extension: str, optional

   :returns: A list of paths to the simulation output files in the design directory.
   :rtype: list

   .. rubric:: Examples

   >>> get_simulation_output_files_from_design("/path/to/design")
   [PosixPath('/path/to/design/tb/out/output1.csv'), PosixPath('/path/to/design/tb/out/output2.csv')]


.. py:function:: read_simulation_data(file_path: piel.types.PathTypes, *args, **kwargs) -> pandas.DataFrame

   Reads simulation files from a specified file into a Pandas dataframe.

   :param file_path: The path to the simulation files file.
   :type file_path: PathTypes

   :returns: The simulation files as a Pandas dataframe.
   :rtype: pd.DataFrame

   .. rubric:: Examples

   >>> read_simulation_data("/path/to/simulation/output.csv")
   # Returns a dataframe with the contents of the CSV file.


.. py:function:: simple_plot_simulation_data(simulation_data: pandas.DataFrame)

   Plots simulation files using Bokeh for interactive visualization.

   :param simulation_data: The simulation files to plot, containing columns 't' for time and 'x' for signal values.
   :type simulation_data: pd.DataFrame

   :returns: Displays an interactive plot.
   :rtype: None

   .. rubric:: Examples

   >>> files = pd.DataFrame({"t": [0, 1, 2, 3], "x": [0, 1, 0, 1]})
   >>> simple_plot_simulation_data(files)
   # Displays an interactive Bokeh plot.


