Au
lieu de sortir l'ensemble des registres comme dans l'exercice précédent, la sortie se fait sur le bit le plus à droite.
On peut résoudre en gardant quasiment le même
programme.
Il existe de la même façon un registre interne de 6 bits.
Le programme final peut être :
module RegDecalDr (clk , e, S) ;
input e, clk;
output S;
reg [5 : 0] Q;
always @(posedge clk)
Q = {e, Q} >> 1 ;
assign S = Q[0];
endmodule
ou encore :
module RegDecalDr (clk , e, S) ;
input e, clk;
output S;
reg S;
reg [5 : 0] Q;
always @(posedge clk)
{Q , S} = {e , Q} ;
endmodule