Guest
Hi everyone. I'm trying to find out if, at high speeds, it is necessary to clock every other register using every other clock transition. For instance, clocking every other register in a shift register using the positive clock transition and the rest use the negative clock transition. This VHDL may help explain:
I know this works at lower speeds:
if(clk'event and clk='1')then
D <= C;
C <= B;
B <= A;
A <= input;
end if;
But I wonder if at higher speeds this sort of coding is required:
if(clk'event and clk='1')then
D <= C;
B <= A;
end if
if(clk'event and clk='0')then
C <= B;
A <= input;
end if;
That way, in my second example, "B" for instance captures it's data in the middle of "A's" data eye. Is this coding style required above some speed? If so, does anyone know how to find out what that speed is or just tell me some general approximate?
I know this works at lower speeds:
if(clk'event and clk='1')then
D <= C;
C <= B;
B <= A;
A <= input;
end if;
But I wonder if at higher speeds this sort of coding is required:
if(clk'event and clk='1')then
D <= C;
B <= A;
end if
if(clk'event and clk='0')then
C <= B;
A <= input;
end if;
That way, in my second example, "B" for instance captures it's data in the middle of "A's" data eye. Is this coding style required above some speed? If so, does anyone know how to find out what that speed is or just tell me some general approximate?