How do they make Verilog code for unknown ICs?
Guy Sotomayor Jr
ggs at shiresoft.com
Mon Jun 20 16:06:26 CDT 2016
> On Jun 20, 2016, at 1:56 PM, Swift Griggs <swiftgriggs at 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
More information about the cctalk
mailing list