P
prasanthri
Guest
난 개발을위한 코드 FF로 VHDL로 작성했습니다.게시물 때 - 난 출력 지연을 용납할 수있어 경로를 시뮬레이션을 수행.내가 입력 클럭 10 ns의 시대 (100 MHz 이상)의 시계를 사용.하지만 출력이 그것을 바꿀 수 있도록 설계되었습니다 시계의 긍정적인 가장자리 후 약 6 ns의 변화입니다.내가 시뮬레이션을위한 합성과 ModelSim SE를위한 자일링스의 ISE 사용하고있습니다.여기에 내가 작성한 코드입니다 ...
코드
라이브러리는 IEEE;
사용 IEEE.STD_LOGIC_1164.ALL;
사용 IEEE.STD_LOGIC_ARITH.ALL;
사용 IEEE.STD_LOGIC_UNSIGNED.ALL;
---- 주석 다음과 같은 라이브러리를 선언하면 인스턴스
----이 코드에서 자일링스의 원시.
- 도서관 UNISIM;
- UNISIM.VComponents.all 사용;
엔티티 dff입니다
포트 (데이터 : STD_LOGIC에;
CLK : STD_LOGIC에;
리셋 : STD_LOGIC에;
질문 : 아웃 STD_LOGIC);
최종 dff;
건축 행동 dff입니다
시작
프로세스 (CLK, 재설정)
시작
만약 리셋 = '1 '을 선택한 다음
q를 "= '0 ';
그 밖의
만약 rising_edge (CLK) 다음
q를 "= 데이터;
다른 계열;
최종면;
최종면;
최종 처리;
마지막 행동;
테스트 벤치
도서관의 IEEE;
ieee.std_logic_1164.ALL 사용;
이용 ieee.std_logic_unsigned.all;
ieee.numeric_std.ALL 사용;
ENTITY tb_dff_vhd IS
최종 tb_dff_vhd;
tb_dff_vhd 건축 동작입니다
- 구성 요소 선언 시험 (UUT)에서 단위
COMPONENT dff
포트 (
데이터 : IN std_logic;
CLK : IN std_logic;
리셋 : IN std_logic;
질문 : 밖으로 std_logic
);
최종 COMPONENT;
- 입력
데이터 신호 : std_logic : = '0 ';
CLK 신호 : std_logic : = '0 ';
리셋 신호 : std_logic : = '0 ';
- 출력
q를 신호 : std_logic;
에 BEGIN
- 인스턴스 단위 테스트 (UUT) 이하
UUT : dff 포트 맵 (
데이터 = "데이터,
CLK = "CLK,
리셋 = ", 재설정
q를 = "q를
);
재설정 "= '1 ', '0'100 ns의 뒤에;
데이터를 "200 ns의 후 = 아니라 데이터;
CLK "= 5 ns의 후 CLK하지;
끝;
코드
라이브러리는 IEEE;
사용 IEEE.STD_LOGIC_1164.ALL;
사용 IEEE.STD_LOGIC_ARITH.ALL;
사용 IEEE.STD_LOGIC_UNSIGNED.ALL;
---- 주석 다음과 같은 라이브러리를 선언하면 인스턴스
----이 코드에서 자일링스의 원시.
- 도서관 UNISIM;
- UNISIM.VComponents.all 사용;
엔티티 dff입니다
포트 (데이터 : STD_LOGIC에;
CLK : STD_LOGIC에;
리셋 : STD_LOGIC에;
질문 : 아웃 STD_LOGIC);
최종 dff;
건축 행동 dff입니다
시작
프로세스 (CLK, 재설정)
시작
만약 리셋 = '1 '을 선택한 다음
q를 "= '0 ';
그 밖의
만약 rising_edge (CLK) 다음
q를 "= 데이터;
다른 계열;
최종면;
최종면;
최종 처리;
마지막 행동;
테스트 벤치
도서관의 IEEE;
ieee.std_logic_1164.ALL 사용;
이용 ieee.std_logic_unsigned.all;
ieee.numeric_std.ALL 사용;
ENTITY tb_dff_vhd IS
최종 tb_dff_vhd;
tb_dff_vhd 건축 동작입니다
- 구성 요소 선언 시험 (UUT)에서 단위
COMPONENT dff
포트 (
데이터 : IN std_logic;
CLK : IN std_logic;
리셋 : IN std_logic;
질문 : 밖으로 std_logic
);
최종 COMPONENT;
- 입력
데이터 신호 : std_logic : = '0 ';
CLK 신호 : std_logic : = '0 ';
리셋 신호 : std_logic : = '0 ';
- 출력
q를 신호 : std_logic;
에 BEGIN
- 인스턴스 단위 테스트 (UUT) 이하
UUT : dff 포트 맵 (
데이터 = "데이터,
CLK = "CLK,
리셋 = ", 재설정
q를 = "q를
);
재설정 "= '1 ', '0'100 ns의 뒤에;
데이터를 "200 ns의 후 = 아니라 데이터;
CLK "= 5 ns의 후 CLK하지;
끝;