DC characteristics are things like:
- Logic voltages for the inputs and outputs, for both the 'high' and 'low' states.
- Current source and sink capability for the outputs.
- Current source values for the inputs (this helps to determine fanout for the previous device in the logic chain).
- Total current draw from the power supply.
AC characteristics are things like:
- Propagation delay time (input to output)
- Setup and Hold time (for flip-flops)
- Maximum frequency of operation
- Minimum frequency of operation (for some devices that have dymamic RAM type registers)
- Propagation time for control lines (output enables, resets, etc.)
These values are determined by the manufacturer of the chip, mostly by taking samples off the production line (from some of the very first items 'off' the line) and actually measuring voltages, currents, and delay times. All these values are published in the datasheet for the part.
In order to properly design a logic circuit you must know all of these parameters.
For example, you could not connect a TTL part output to a 4000 CMOS input -- the minimum output high of a TTL part is only 2.7 volts, while the minimum 'high' voltage of a 4000 CMOS part is 2.75 Volts. 0.05 volts is *way* too marginal to be a good design.
Example 2: You cannot connect an LSTTL flip-flop to a Xilinx FPGA running at 250 MHz, because the LSTTL flip-flop has a max. frequency of less than 50 MHz. It just wouldn't work.
.