módulo Verilog1(clk,ldn,k,d,q);
entrada clk,ldn,k;
entrada [7:0] d;
salida [7:0] q;
reg[7:0] d_reg,q_reg;
siempre@(negedge ldn)
if(!ldn)
d_reg <= d;
siempre@(posedge clk )
comenzar
if(k )
comienzo//derecha
q_reg[7:0] <= {1'b00,d_reg[7:1]};
fin p>
else q_reg[7:0] <= {d_reg[6:0],1'b0};
end
asignar q = q_reg;
módulo final