Generating Channel Select for Multichannel ADC
It looks like you're trying to make logic with an asyncronous reset signal called cs. 

But you mismatched the edge sensitivity for the reset signal.
You're watching for the falling edge of cs, but the logic calls for resetting when cs is high.

You need to either have sensitivity to posedge cs and reset the registers when cs is high, or have sensitivity to negedge cs (like you have) and reset the registers when cs is low.

For example,

always @(posedge clk or negedge cs) begin
    if(~cs) begin
         count &lt;= 0
         ...
    end else begin
         ...
    end
 end