Guest
Relatively inexperienced at sysntheseis so bear with me please
I have a module with a 32 bit input bus and every time a new value is
placed on it i want to wait half a clock cycle before i do anything.
Leonardo Spectrum is giving me some weird advice on the following code:
always@(input_bus)
begin
if(input_bus[31])
begin
@(negedge clk);
output_bus = input_bus;
end
else if(!input_bus[31])
begin
@(negedge clk);
output_bus = input_bus;
end
end
without the @(negedge clk) lines it synthesises fine but when i include
them it tells me that the always@(input_bus) needs to be edge
triggered. This makes no sense to me. How can I wait for the next
negedge of clk before doing anything after the contents of input_bus
have changed?
Any help would be most welcome!
Gud stuf outta youse.
Rob.
I have a module with a 32 bit input bus and every time a new value is
placed on it i want to wait half a clock cycle before i do anything.
Leonardo Spectrum is giving me some weird advice on the following code:
always@(input_bus)
begin
if(input_bus[31])
begin
@(negedge clk);
output_bus = input_bus;
end
else if(!input_bus[31])
begin
@(negedge clk);
output_bus = input_bus;
end
end
without the @(negedge clk) lines it synthesises fine but when i include
them it tells me that the always@(input_bus) needs to be edge
triggered. This makes no sense to me. How can I wait for the next
negedge of clk before doing anything after the contents of input_bus
have changed?
Any help would be most welcome!
Gud stuf outta youse.
Rob.