write RTL code for the following 1 bit transition and draw the corresponding logic circuit using D flip-flops:

a) if a=1 then copy X to W; other wise copy X to Z b)if a =1 then copy Yto X; other wise copy Y' to X.

To write RTL code for the given scenarios and create the corresponding logic circuits, we need to consider using D flip-flops for sequential logic implementation.

a) Copying X to W or Z based on the value of a:

RTL code:
```verilog
module transition_module(input a, input X, output reg W, output reg Z);

always @(posedge a)
begin
if (a == 1'b1)
begin
W <= X;
end
else
begin
Z <= X;
end
end

endmodule
```

Logic circuit using D flip-flops:
```
____
a ----| |
--|D |---- W
X ---| |
| FF |
|____|
|
|
Z
```

b) Copying Y to X or Y' (Y complement) to X based on the value of a:

RTL code:
```verilog
module transition_module(input a, input Y, output reg X);

always @(posedge a)
begin
if (a == 1'b1)
begin
X <= Y;
end
else
begin
X <= ~Y;
end
end

endmodule
```

Logic circuit using D flip-flops:
```
____
a ----| |
--|D |---- X
Y ---| |
| FF |
|____|
```

Note: The modules mentioned above are just for showing how the RTL code can be written and how the logic circuits can be constructed using D flip-flops. These modules may need to be integrated into a larger design or used within a simulation environment for proper functionality.