fpga:vhdl
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| fpga:vhdl [2025/06/13 07:32] – utedass | fpga:vhdl [2025/06/13 12:33] (current) – utedass | ||
|---|---|---|---|
| Line 25: | Line 25: | ||
| -- numbers, math operations allowed | -- numbers, math operations allowed | ||
| signal my_int : integer; -- 32 bit 2-complement | signal my_int : integer; -- 32 bit 2-complement | ||
| + | signal my_int_ranged : integer -1 to 23; -- Limited range. Simulator might enforce, synthesiser might not | ||
| signal my_uint : unsigned (7 downto 0); | signal my_uint : unsigned (7 downto 0); | ||
| - | signal my_sint : signed (7 downto 0); | + | signal my_sint : signed (7 downto 0) := x" |
| + | -- loose bits, math operations not allowed | ||
| + | signal my_bit : std_logid; | ||
| + | signal my_bits : std_logic_vector (7 downto 0); | ||
| + | |||
| + | -- Integer assignements | ||
| my_int <= 1337; -- Decimal | my_int <= 1337; -- Decimal | ||
| my_int <= 16#beef#; -- Hex (base 16) | my_int <= 16#beef#; -- Hex (base 16) | ||
| my_int <= 2#101010; -- Binary (base 2) | my_int <= 2#101010; -- Binary (base 2) | ||
| - | -- loose bits, math operations not allowed | + | -- std_logic assignement |
| - | signal | + | my_bit <= ' |
| + | |||
| + | -- Assignments to std_logic_vector (also works on signed and unsigned) | ||
| + | -- All assignments must match in width | ||
| + | my_bits <= (others => ' | ||
| + | my_bits(3 downto 0) <= (others => ' | ||
| + | my_bits <= " | ||
| + | my_bits <= x" | ||
| + | my_bits <= ' | ||
| -- conversions between integers | -- conversions between integers | ||
| Line 42: | Line 56: | ||
| my_int <= to_integer(my_sint); | my_int <= to_integer(my_sint); | ||
| - | -- casts between binary representations, | + | -- casts between binary representations, |
| my_uint <= unsigned(my_sint); | my_uint <= unsigned(my_sint); | ||
| my_uint <= unsigned(my_bits); | my_uint <= unsigned(my_bits); | ||
| Line 58: | Line 72: | ||
| my_immediate_hex <= std_logic_vector(to_unsigned(16# | my_immediate_hex <= std_logic_vector(to_unsigned(16# | ||
| my_immediate_dec <= std_logic_vector(to_unsigned(10# | my_immediate_dec <= std_logic_vector(to_unsigned(10# | ||
| - | |||
| - | -- std_logic constant assignement | ||
| - | my_bit <= ' | ||
| - | |||
| - | -- std_logic_vector constant assignment | ||
| - | my_bits <= x" | ||
| - | my_bits <= " | ||
| - | |||
| </ | </ | ||
fpga/vhdl.1749799922.txt.gz · Last modified: 2025/06/13 07:32 by utedass
