In VHDL, a test bench is a design entity that is used to verify the correctness of another design entity. It is essentially a simulation of the design entity being tested and is used to apply stimuli to the design and observe the response. The purpose of a test bench is to ensure that the design under test (DUT) is functioning correctly.
Here is an example of a simple test bench for a 2-to-1 multiplexer:
In this example, the test bench is designed to apply a series of inputs to the DUT (a 2-to-1 multiplexer) and observe the output. The test bench consists of a stimulus process that generates the inputs, and an instance of the DUT to which the inputs are applied. The output of the DUT is then observed and compared to the expected output to verify the correctness of the DUT.