ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
8 мая
745638 Топик полностью
Dingo (29.03.2017 10:53, просмотров: 321) ответил Николай Коровин на Ощущение острой нехватки «ассемблерных вставок», чтобы руками развести сигналы. На асике это делается элементарно, ну, может, пару инверторов между триггерами придётся воткнуть да не, паранойя. А вот как синтезатору такое объяснить…
Так? (безотносительно того, зачем и допустимо ли) 
library ieee;
use ieee.std_logic_1164.all;

ENTITY NK_test IS
PORT(
	inS1 : in std_logic;
	inS2, inS3 : in std_logic;
	outS4 : out std_logic
);
END ENTITY;

ARCHITECTURE RTL OF NK_test IS
	signal r_S4 : std_logic;
	signal r_oS1 :std_logic;
	signal w_X1 : std_logic;
	signal w_X2 : std_logic;
BEGIN
	w_X1 <= not inS2 or inS3;
	w_X2 <= inS2 or inS3;
	
	
	process(w_X1)
	begin
		if (rising_edge(w_X1)) then 
			r_oS1 <= inS1;
		end if;
	end process;
	
	process(w_X2)
	begin
		if (rising_edge(w_X2)) then 
			r_S4 <= r_oS1;
		end if;
	end process;
	
	outS4 <= r_S4;
	
END RTL; 
image