There are 2 points to remember :
a) Control word is the content of the microinstruction which contains various fields like branch conditions , flags , control signal field , next microinstruction field..The control word to be used currently is used in control data register just like we use MBR (Memory buffer register) in instruction cycle.
b) Control address means the address of a particular control word..This address is stored in control address register just like MAR in instruction cycle..The address of the next microinstruction to be performed is provided by microsequencer just like program counter(PC) in instruction cycle.
Now here , given number of instructions = 215
Number of cycles = Number of microinstructions(Basic assumption is 1 microinstruction takes 1 cycle to operate) = 6
Hence total number of microinstructions = 215 * 6 = 1290
Hence number of bits needed to refer to a microinstruction = ceil(log2 1290) = 11
Hence size of control address register = Number of bits for a microinstruction = 11
In horizontal microprogramming (also known as decoded version of control signals) :
No of bits needed to represent control signals = No of control signals
In vertical microprogramming (also known as encoded version of control signals)
No of bits needed to represent control signals = n * log2 (No of control signals) [ Assuming number of control fields = No of decoders needed = n.Normally n = 1]
So here given we have horizontal microprogramming.
So control field size = Number of control signals = 125
Hence minimum control word size = 125 + 11 = 136 [ Here the word "minimum" is used bcoz control word may contain other fields too which are not mentioned in the question ].
Hence control data register size = size of control word = 136