Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

What events are not synthesizable in Verilog?

Status
Not open for further replies.

ASIC_intl

Banned
Joined
Jan 18, 2008
Messages
260
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
0
It is said events are not synthesizable in verilog. What are these events?
Provide some specific examples.
 

events in verilog

An event that is sensitive to multiple clock edges most likely isn't synthesizable:

always @(posedge clk1 or posedge clk2)
 

Re: events in verilog

It is said that "Events are not synthesizable". Probably these are not the events like @(posedge clk) when this comment "Events are not synthesizable" is written.
 

events in verilog

by events, it means, something like this

when en==1'b1
-> start_an_event.

this event can be used as jbeniston says in the always block.

always@(event_started)
do something


these events which are started in verilog code can't be synthesized. Hope i've been clear. Incase of any more clarifications, do let me know.
 
Re: events in verilog

Hi sree 205

Do u mean that posedge/ negedge are not events?
 

events in verilog

they are also events, but they r just not the events that are not synthesizable. Generally, the rule of thumb is that, posedge/negedge clocks are synthesizable, coz, the tools are intelligent to understand them and synthesize a flop, where clock edge is necessary. Hope i've been clear enough.
 

events in verilog

A changa on input is treated as event in verilog
 

Re: events in verilog

events here( which is being told as non-synthesizable)are part of verilog code....
they are added for simulation purpose.they can be created & triggered conditionally.
like..
event job_done;

always@(a,b)
begin
if(a==1 && b==2)
->job_done; //this triggers the user defined event.
end
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top