DEMUX 쓰기

기다려 .... 괜찮 아요 ..
kvingle에 의해 2008년 2월 28일 4시 49분에 편집한 마지막으로, 1 시간을 편집한 총

 
먹스를 이니까 코드를 ...
한 DEMUX 위해 필요합니다.

 
내 DEMUX 출력을 안정적으로 유지하려면 선택 입력 변경 후에도.그래서 난 tristates 사용할 수없습니다.

기본적으로 1 년 동안 출력 라인을 선택하면 변경 사항을 안정적으로 유지하는 8 개의 8 비트 출력 라인을 한 후 다른 8 비트 입력을주고 싶어요.

내가 래치를 짐작 할 수있는 유일한 방법입니다.

 
Iouri 썼습니다 :

이 코드를 사용하여O1 "= 입력하면 select_line ="001 "다른 사람 (다른 분들에게도 =" '부터 Z');.....
O7 "= 입력하면 select_line ="111 "다른 사람 (다른 분들에게도 =" '부터 Z');
 
항상 .... 만약 그 이후의 코드를 .... 더많은 comaparision의 일부 2000 라인 이상의 코딩 후, 내 지점을 기반으로하는 경우 - 다른 선택을 사용하여 불리한 것 같은 느낌이 많이 합성 약간의 시간과 자원이 소요 게이트 사건 선호합니다.당신이 사용해야 할 경우 상태를 신중하게 ..

 
이 코드를 사용하여O1 "= 입력하면 select_line ="001 "다른 사람 (다른 분들에게도 =" '부터 Z');.....O7 "= 입력하면 select_line ="111 "다른 사람 (다른 분들에게도 =" '부터 Z');

 
네, 그렇게 유추되고있다 래치.같은 사건을 할 때 사용하는 "사건"문장입니다.
기능 코드가 맞습니다.하지만 여길 것 없어 래치.

 
음, 만약의 경우 진술을 - 그것은 그들로 래치, 그리고 당연히 그들은 입력 prorities 행동하는 것처럼하지 위대한 난있습니다.

 
G

Guest

Guest
DEMUX 쓸 때 사용하는 메신저는 다음 코드입니다.괜찮 노력하고있습니다.
하지만 XST 경고를 발행합니다 :

Xst : 737 - 찾을 8 비트 신호를 래치 <O0>.
경고 : Xst : 737 - 찾을 8 비트 신호를 래치 <O1>.
정보 : Xst : 2371 - HDL을 AdVisor는 - 논리 함수를 각각 사용 데이터 및 게이트 구동이 일반적인 용어를 공유 래치의 입력.이러한 상황은 잠재적으로 설치로 이어질 것입니다 / 보류 위반하고, 그 결과, 시뮬레이션 문제이다.이 상황이 불완전한 경우에는 성명에서 (모든 선택기 값)에 포함되지 않습니다 올지도 모른다.만약 당신의 의도에 같은 래치를 설명했다 당신은 신중하게 검토해야합니다.

그래서 DEMUX 쓰는 좋은 방법이 무엇입니까?또한 "사건"과 동시에 "을 사용하려했을 때"진술을하지만,이 경고가 계속.라이브러리는 IEEE;
사용 IEEE.STD_LOGIC_1164.ALL;
사용 IEEE.STD_LOGIC_ARITH.ALL;
사용 IEEE.STD_LOGIC_UNSIGNED.ALL;

---- 주석 다음과 같은 라이브러리를 선언하면 인스턴스
----이 코드에서 자일링스의 원시.
- 도서관 UNISIM;
- UNISIM.VComponents.all 사용;

엔티티 Demux_64입니다
포트 (입력 : STD_LOGIC_VECTOR (7 downto 0);
STD_LOGIC_VECTOR에서 Select_line : (2 downto 0);
않았습니다
: categoryID : STD_LOGIC_VECTOR (7 downto 0 아웃);
O1 : STD_LOGIC_VECTOR (7 downto 0 아웃);
O2는 : STD_LOGIC_VECTOR (7 downto 0 아웃);
O3 : STD_LOGIC_VECTOR (7 downto 0 아웃);
O4 : STD_LOGIC_VECTOR (7 downto 0 아웃);
O5 : STD_LOGIC_VECTOR (7 downto 0 아웃);
O6 : STD_LOGIC_VECTOR (7 downto 0 아웃);
O7 : STD_LOGIC_VECTOR (7 downto 0 아웃));
최종 Demux_64;

건축 행동 Demux_64입니다

시작

프로세스 (입력, Select_line)

시작

만약 (Select_line = "000") 다음
않았습니다
: categoryID "= 입력;
elsif (Select_line = "001") 다음
O1 "= 입력;
elsif (Select_line = "010") 다음
O2는 "= 입력;
elsif (Select_line = "011") 다음
O3 "= 입력;
elsif (Select_line = "100") 다음
O4 "= 입력;
elsif (Select_line = "101") 다음
O5 "= 입력;
elsif (Select_line = "110") 다음
O6 "= 입력;
다른 O7 "= 입력;

최종면;
최종 처리;

마지막 행동;

 

Welcome to EDABoard.com

Sponsor

Back
Top