mirror of
https://github.com/YosysHQ/sby.git
synced 2025-04-27 23:45:50 +00:00
Add formal_bind example
Demonstrate binding SVA properties to a VHDL design. Mention example code (with snippets) in section on Verific.
This commit is contained in:
parent
5c649c8e75
commit
549c5f33f5
5 changed files with 89 additions and 0 deletions
33
docs/examples/vhd/updowncount.vhd
Normal file
33
docs/examples/vhd/updowncount.vhd
Normal file
|
@ -0,0 +1,33 @@
|
|||
library IEEE;
|
||||
use IEEE.STD_LOGIC_1164.ALL;
|
||||
use IEEE.STD_LOGIC_ARITH.all;
|
||||
use IEEE.STD_LOGIC_UNSIGNED.all;
|
||||
|
||||
entity updowncount is
|
||||
port (
|
||||
rst, clk : in std_logic ;
|
||||
up, down : in std_logic ;
|
||||
o: out std_logic_vector(0 to 3)
|
||||
);
|
||||
end updowncount;
|
||||
|
||||
architecture rtl of updowncount is
|
||||
signal count : std_logic_vector(0 to 3) := "0000";
|
||||
begin
|
||||
process(clk)
|
||||
begin
|
||||
if (rising_edge(clk)) then
|
||||
if (rst = '1') then
|
||||
count <= "0000";
|
||||
else
|
||||
if (up = '1' and count <= "1010") then
|
||||
count <= count + "0001";
|
||||
end if;
|
||||
if (down = '1' and count > "0000") then
|
||||
count <= count - "0001";
|
||||
end if;
|
||||
end if;
|
||||
end if;
|
||||
end process;
|
||||
o <= count;
|
||||
end rtl;
|
Loading…
Add table
Add a link
Reference in a new issue