Verilog continuous assignment equivalent of always block -


how block replaced continuous assignment statement using ‘{ }’ , ‘? :’?

module mux16to8 (input [7:0] secsa, minsa, secsb, minsb, output reg [7:0] secs, mins, input sela, selb, hold, seldisp, output reg leda, ledb); @(*) begin     if (hold == 1'b1)        if (seldisp == 1'b1) begin         secs = secsa;         mins = minsa;         leda = 1'b0;         ledb = 1'b1;        end else begin          secs = secsb;          mins = minsb;          leda = 1'b1;          ledb = 1'b0;     end     else         if (sela == 1'b1) begin          secs = secsa;          mins = minsa;          leda = 1'b0;           ledb = 1'b1;         end else if (selb == 1'b1) begin            secs = secsb;            mins = minsb;            leda = 1'b1;            ledb = 1'b0;           end else begin            secs = 0;           mins = 0;          leda = 1'b1;          ledb = 1'b1;             end      end endmodule 

i thought @

assign secs={seldisp?{hold?1:0}:0}?secsa:secsb assign mins={seldisp?{hold?1:0}:0}?minsa:minsb.. 

i know not enough because secs , mins variables in loop, continous assignment should similar loop , right don't know if statements fine.

one solution this:

module mux16to8 (input [7:0] secsa, minsa, secsb, minsb, output [7:0] secs, mins, input sela, selb, hold, seldisp, output leda, ledb);  assign {secs, mins, leda, ledb} =     hold ? seldisp ? {secsa, minsa, 1'b0, 1'b1} :                      {secsb, minsb, 1'b1, 1'b0} :               sela ? {secsa, minsa, 1'b0, 1'b1} :               selb ? {secsb, minsb, 1'b1, 1'b0} :                      { 8'd0,  8'd0, 1'b1, 1'b1};  endmodule 

i've used following yosys script prove formal equivalence:

read_verilog q22998917a.v rename mux16to8 mux16to8_orig  read_verilog q22998917b.v  proc; opt miter -equiv mux16to8_orig mux16to8 miter flatten miter;;  sat -prove trigger 0 miter 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -