> On Jun 20, 2016, at 1:56 PM, Swift Griggs <swiftgri...@gmail.com> wrote:
> 
> On Mon, 20 Jun 2016, Paul Koning wrote:
>> used to how C or similar languages work.  For example, in this C code:
>>      a = 1;
>>      b = a;
>> a and b will both equal 1 at the end.  But in the VHDL code:
>>      a <= 1;
>>      b <= a;
> 
> Whoa. That makes total sense, though. In the real world, I'm guessing the 
> "less than" just reflects that a signal might not have the level you 
> expect.
> 

The best way to think about the two different assignment operators (<= is an
assignment *not* less-than-or-equal) is that one happens “now” and the other
is resolved on clock edges.

So assuming that a & b are 1 bit wide and that initially both a and b are 0 (or
in verilog terms 1b0).

In the first example, both a and b will be 1b1.  In the second example, at the 
end
of the first clock cycle, a will be 1b1 and b will be 1b0.  At the end of the 
next
clock cycle, a will be 1b1 and b will be 1b1 also.

TTFN - Guy


Reply via email to