я честно говоря в vhdl слегка разочаровался. берем простейший пример - реверсивный 8-разрядный счетчик с Z-состоянием на выходе:
компилится максплюсом под max7000 в 23 LC.Код:library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity kmctr is Port ( CLK : in STD_LOGIC; -- input clock UD : in STD_LOGIC; -- up/down OE : in std_logic; --output enable DOUT : out STD_LOGIC_VECTOR (7 downto 0) ); end kmctr; architecture Behavioral of kmctr is signal count : STD_LOGIC_VECTOR (7 downto 0); begin -- up/down counter process (CLK, UD) begin if rising_edge(CLK) then if (UD = '1') then count <= count + '1'; -- counting up elsif (UD = '0') then count <= count - '1'; -- counting down end if; end if; end process; DOUT <= count when (OE='0') else "ZZZZZZZZ"; end Behavioral;
а теперь то же самое схематиком:
тем же максплюсом, под то же семейство 7000 - компилится в 8 (!) LC...
no comments.
p.s.
нет, я конечно понимаю - переносимость там, и все такое, и более сложные вещи схематиком не нарисуешь - но в моем конкретном случае - перерисую divmmc схематиком - глядишь и kempston mouse в текущую конфигурацию поместится...




Ответить с цитированием