The (*) means "build the sensitivity list for me". For example, if you had a statement a = b + c; then you'd want a to change every time either b or c changes. In other words, a is "sensitive" to b & c. So to set this up: always @( b or c ) begin a = b + c; end But imagine you had a large always block that was sensitive to loads of signals. Writing the sensitivity list would take ages. In fact ...
So, always use "always @*" or better yet "always_comb" and forget about the concept of sensitivity lists. If the item in the code is evaluated it will trigger the process. Simple as that. It an item is in an if/else, a case, assigned to a variable, or anything else, it will be "evaluated" and thus cause the process to be triggered.
The always @(*) syntax was added to the IEEE Verilog Std in 2001. All modern Verilog tools (simulators, synthesis, etc.) support this syntax. Here is a quote from the LRM (1800-2009): An incomplete event_expression list of an event control is a common source of bugs in register transfer level (RTL) simulations. The implicit event_expression, @*, is a convenient shorthand that eliminates these ...
The always @(*) block is sensitive to change of the values all the variables, that is read by always block or we can say which are at the right side inside the always block. In your example, there are no any variables used inside always block, so this always @(*) block will not work here. As per SV LRM, always_comb is sensitive to changes within the contents of a function, whereas always @* is ...
The expression always @* begin : name_of_my_combinational_logic_block // code end describes combinational logic. Typically the clk and rst signals are not read from inside of this type of always block, so they don't appear in the sensitivity list like wisemonkey says. It is best practice to use @* for the sensitivity lists of combinational logic so that you don't forget to include a signal ...
The point of the .done() .fail() .always() methods is that you can Attach multiple handlers Do so anywhere and not just when calling $.ajax If you are at the $.ajax call site only attaching single handlers then those advantages don't really come into play. So you can return the promise and others may attach their own handlers.
always @ (*) - If something in the RHS of the always block changes,that particular expression is evaluated and assigned. Imagine assign as wires and always blocks as registers (For now) , as their behavior is same.
docker run --always Always restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. I recommend you this documentation about restart-policies