VHDL 코드 도움이 필요하다고!!

M

mahi.

Guest
난 안 또는 & 만든이 코드를, 그것의, 뺄셈을 Alu 일을 추가 더불어 함께 일하죠.은 멀티플렉서의 입력 코드는 특정 때, 그것은 작업을 선택하고 해당됩니다.그러나 내가 잘 컴파일 될 많이주고 그것을 tht 않았 오류를 해결하는 데 도움이 오류 날 수 u는 면야.도서관의 IEEE;

사용 ieee.std_logic_1164.all;
도서관의 IEEE;
사용 ieee.std_logic_1164.all;
사용 ieee.std_logic_arith.all;

엔티티 mux입니다
포트 :) std_logic에;
b : std_logic에;
착 : std_logic에;
sel : std_logic에;
해상도 : 아웃 std_logic);
끝 mux;

mux 구조의 아키텍처입니다
구성 요소 추가
포트 (, B : std_logic에;
합계, 법원 : 아웃 std_logic);
엔드 구성 요소;
하위 구성 요소
포트 (, B : std_logic에;
합, 법원 : 아웃 std_logic);
엔드 구성 요소;
전체 구성 요소
포트 (엑스, y를 착 : 약간;
합계, 휴대 : 밖으로 약간);
엔드 구성 요소;
구성 요소 andgate
포트 (, b : std_logic에;
c :를 초과 std_logic);
엔드 구성 요소;
구성 요소 notgate
포트 :) std_logic에;
오 : 아웃 std_logic);
엔드 구성 요소;
구성 요소 or_gate
포트 (, b : std_logic에;
c :를 초과 std_logic);
엔드 구성 요소;시작
프로세스 (, 나, sel)
시작
사건 sel가
=> 할 때 "000"
합계 <= XOR b;
해상도 <= A와 B;

=> 할 때 "001"
신호 compl : std_logic;
compl <=는 b;
합계 <= compl XOR;
해상도 <= A와 compl;

=> 할 때 "010"
신호 s1, s2, s3 : std_logic;
U1 : 30 포트지도 (여기서 x, y를, s1, s2);
U2가 : 30 포트지도 (s1, 착, 합계, s3);
계속 <= s2 또는 S3;

=> 할 때 "011"
해상도 <= A와 B;

=> 할 때 "100"
해상도 <= 아니;

=> 할 때 "101"
해상도 <= A 또는 B;

> 할 때 다른 사람 =
해상도 : = "XXXXXXXX";

엔드 케이스;
최종 처리;
끝 mux;

 
좋아, 당신의 디자인 시작 힘든있다 그래서 많은 오류를.

무엇보다도, 당신은 코드에 가서 이상을 정확하게 보여 사용자가 정의한 위치 신호, 신호 썸가 STD_LOGIC 정의된대로하지만 그때 그것은 std_logic_vector으로 성명을 경우 사용됩니다.하지만 경우에있을 수있는 것입니다 당신이 가지고 갈 당신이 오류의 수정 프로그램 목록 위에 그것을이 코드는 오류가 너무 많은.

또한, 당신은 진술 사건 인스턴스 내부 구성 요소 못 넣어.나는이 생각하는 간단한 VHDL에 보이는 몇 가지 필요한 먼저 코드, 간단한 인스턴스의 다음 구성 요소를 쓰고, 같은 것을 쓰려고 그럼.하지만 때문에 VHDL 구문을 알 것 당신은 인스턴스 구성 요소 및 신고 범위를 이해하지.

VHDL과, 아니라 C 를 VHDL 구성 요소처럼 당신이 드롭 그들에게 시간이 아니라 정보 C를 객체 및 사용을하실 수 있습니다.VHDL을 동시에 구현의 소프트웨어는 실리콘과 모든 전혀 리소스를해야 사용할 수 있습니다 물리적 시간과 병렬로 액세스 될 것이며 서로 다른 수준의 논리에 의해 통제.

 
내가 코드를 가지고 공부하고 오류를 발견 몇 가지.

당신은 진술 프로세스 내부 신호가 선언.불법 이잖아.신호 변수를 선언하지 안으로해야 당신이 진술 프로세스.시작 "성명 프로세스의"당신은해야하기 전에 선언할 변수를.

 
처음 tuto VHDL 가지를 통해 몇 가지 기본.
-------------------------------
http://vhdlguru.blogspot.com/

 

Welcome to EDABoard.com

Sponsor

Back
Top