To generate a square pulse in Simulink, the Pulse Generator block can be used.
Assuming we are using Time based for Pulse type parameter and Use simulation time for Time (t) parameter, the desired waveform of the pulse can be configured by setting the Amplitude, Period (secs), Pulse Width (% of period), and Phase delay (secs) parameters.
Suppose we are using default values for Amplitude and Phase delay (secs). The Pulse Width (% of period) parameter should be set to 50 in order to produce a pulse with 50% duty cycle.
To vary the frequency of the pulse, the Period (secs) can be set based on a base workspace variable. For example, you can define a base workspace variable for frequency:
Then you can set the Period (secs) parameter to 1/f, which generates a pulse with a frequency of 2 kHz. By varying the value of f, you will be able to vary the frequency of the generated pulse.
To learn more about the Pulse Generator block, please refer to the documentation page on Pulse Generator.