>은 그 안에 무엇이 잘못?

G

Guest

Guest
내가 쓴이 code.What 내가 필요 전 4 삽입은하고 차원 배열 저장소에 내가 값을 각 시계 2 - 값 이들의 합계를 계산하려는.

도서관의 IEEE;
를 사용 IEEE.STD_LOGIC_1164.ALL;
를 사용 IEEE.STD_LOGIC_ARITH.ALL;

엔티티 테스트 시니

포트 (x1 : 255 범위 0에 정수 인디애나;
CLK, 부하 : STD_LOGIC 인디애나;
output1 : 아웃 INTEGER 범위 0에게 1020);최종 시험;

건축 시험의 행동 IS

유형 창문 범위 정수 배열을 (0 1,0의 1) 0 ~ 255;
하는 BEGIN

프로세스 (CLK, x1)VARIABLE 창 : 창;
VARIABLE 금액 : 정수 범위 0 ~ 1020;

하는 BEGIN
다음에, 만약 (clk'EVENT 및 CLK = '1 ')
다음에, 만약 (하중 = '1 ')
1 위해 어쩔 수 0 루프
에 j를 0에서 1 루프
창문은 (i, j를) : = x1;
합계 : = 합 내용 창은 (i, j를);
끝 루프;
끝 루프;
끝면;
끝면;
output1 <= 액수;
최종 공정;
끝 행동;

이 코드는! 하나도하면서 문제를 컴파일하지만 시뮬레이션 결과는 잘못되었습니다!. 뭐 잘못은 그 결과가 보여주는 시계하지만 대한 시뮬레이션의 집합을 help.I주십시오 x1 회 걸릴 값을 2.

 
안녕

당신이 일을 당신이 방법은 시계를 못 가게 한 4 값을.순환하는 경우없이 병렬 당신이 원하는에있다 당신이 할 그것을 않습니다.의 Insted :

인용구 :난 0 1위한 루프

1 j를 0에 대한 루프를 순환시키는

창문은 (i, j를) : = x1;

합계 : = 합 내용 창은 (i, j를);

끝 루프;

끝 루프;

 
또 한가지 내가이 일을하는 방법에 원하는 질문 :
255에서 0 값을 가진 정수 배열을 상상해 20x20.
난 그녀가 하나의 배열의 각 25 싶지가 별도로이 배열을 4X4 arrays.So 이러한 하나의 각각의 합계를 계산할 수 있다고 생각하고 최선의 구현 방법이 그 중 하나로, 삽입하는 하나의 배열의 합계를 계산) (4X4 값 그리고 삽입은 다음 배열 방식은 바로 생각하는 당신 같은 일이 etc.Do가? 내가 이런 걸 뜻

도서관의 IEEE;
를 사용 IEEE.STD_LOGIC_1164.ALL;
를 사용 IEEE.STD_LOGIC_ARITH.ALL;

엔티티 테스트 시니

포트 (x1, X2, X3, x4, X5들의, X6, X7의, x8, x9, x10, X11을, X12, X13, x14, x15, 16 배속 : 255 범위 0에 정수 인디애나;
CLK, 부하 : STD_LOGIC 인디애나;
출력 : 아웃 INTEGER 범위 0에게 2040);최종 시험;

건축 시험의 행동 IS

유형 filters1 RANGE 정수 배열 (0의 24) 0 ~ 2040;
유형 filters2 RANGE 정수 배열 (0의 24) 0 ~ 2,040;
신호 fil1 : filters1;
신호 fil2 : filters2;

하는 BEGIN

프로세스 (CLK)

카운트 변수 : 정수 : = (0);
변수 sum1_or, sum2_or, sum3_or, sum4_or, sum1_kath, sum2_kath, sum3_kath, sum4_kath : 정수 범위 0-1020;
변수 filter1, filter2 : 정수 범위 0-2040;시작
다음에, 만약 (clk'EVENT 및 CLK = '1 ')
다음에, 만약 (하중 = '1 ')
셀수있다면 (<26)가
sum1_or : = x1 X2 X3 x4;
sum2_or : = X5들의 X6 X7의 x8;
sum3_or : = x9 x10의 X11 X12;
sum4_or : = X13 x14 x15 16 배속;

filter1 : = (sum1_or sum2_or) - (sum3_or sum4_or);
fil1 (계산) <= filter1;

sum1_kath : = x1 X5들의 x9 X13;
sum2_kath : = X2 X6 x10 x14;
sum3_kath : = X3 X7이 데려왔 x15의 X11;
sum4_kath : = x4 x8 X12 16 배속;

filter2 : = (sum1_kath 의 sum2_kath) - (sum4_kath sum3_kath 의);
fil2 (계산) <= filter2;
개수 : = 카운트 1;
끝면;
끝면;
종료면;
최종 공정;
출력 <= fil1 (0);
끝 행동;

 
그래, 내가 일하는 것 당신의 것입니다 솔루션.

내가 코드를 보장할 수없는 코드는 전적으로 옳은 때문에 큰 그것은 이러한의 어려운으로 분석하지만 그게 날 것을 확인을 누릅니다.

 
내가 post.Thank 이전에 너무 행복 설명한 내가 일을 것입니다 이것이 무슨 소리를 가리킨의 길을 할 방법이 더 뛰어난 thinking.Maybe이 있습니다 몇 가지 구문 수 있는지 궁금 errors.I 그냥 당신이 아주 많이

 
네, 그렇 겠죠.

당신은 배열 4X4 배열로 25 20x20 수있는 별도의 사용자와주기를 하나의 시계로하는 모든 총액을.그러나이 솔루션은 adders을 특히 많이 필요합니다의 하드웨어,.경우에 당신은 당신의 해결책이 배 이상 adders과 함께 25 것이 필요합니다.또 다른 방법은 해결책 용어로 구성되어에서 중반, 모든 대신에 그들의 일을 병행하는 작업이 몇 가지 있습니다.예를 들어, 당신은 같은 시간에 수행할 수있는 작업에서 5 4X4 배열.그것은 하드웨어없이 너무 좋은 제공하는 성능 향상을 위해 너의.

 
내 말은 당신의 이해가 정확히 무엇을 감사하는 예제를 위해 빨리 내게 response.Could 괜찮다 줄래?

 

Welcome to EDABoard.com

Sponsor

Back
Top