You can use the '-nodata' option, as in '-nodata 300 1.0' where '300' is the number of time points and '1.0' is the time interval (in seconds) between them. After that, you set up the processing as normal, and the program outputs the analysis design matrix.
Here is an example copied from the 3dDeconvolve -help output
3dDeconvolve -nodata 300 1 -polort -1 -num_stimts 2 \
-stim_times 1 '1D: 10 150' 'MION(70)' \
-stim_times 2 '1D: 10 150' 'BLOCK(70,1)' \
-x1D stdout: | 1dplot -stdin -one -thick
Here, the output is piped directly into 1dplot. If instead, you replace everything after '-x1D' with 'Xmat.1D', you'll get the resulting matrix (in this case, 2 columns) saved into a text file.