mirror of
				https://github.com/YosysHQ/sby.git
				synced 2025-10-31 13:02:28 +00:00 
			
		
		
		
	Demonstrate binding SVA properties to a VHDL design. Mention example code (with snippets) in section on Verific.
		
			
				
	
	
		
			33 lines
		
	
	
	
		
			904 B
		
	
	
	
		
			VHDL
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			904 B
		
	
	
	
		
			VHDL
		
	
	
	
	
	
| 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;
 |