FPGA에서 램을위한"슬라이스 활용

G

Guest

Guest
안녕하세요 ..

내가 64x16 숫양 ..에 대한 다음과 같은 코드를 작성했습니다
합성 후 보고서 슬라이스 사용률이 41 %가 표시됩니다.

밤은 너무 많이 ..전 영역을 최소화 할 수 점령했다.?
임 제약 새로운, 그래서 지역의 제약과 아무 상관 가지고있다.?

여기 코드는

라이브러리는 IEEE;
사용 IEEE.STD_LOGIC_1164.ALL;
사용 IEEE.STD_LOGIC_ARITH.ALL;
사용 IEEE.STD_LOGIC_UNSIGNED.ALL;

엔티티 Ram_1k입니다
포트 (addr : STD_LOGIC_VECTOR에서 (15 downto 0);
셀프 : STD_LOGIC에;
RW를 : STD_LOGIC에;
준비 : 아웃 STD_LOGIC;
데이터 : inout STD_LOGIC_VECTOR (15 downto 0));
최종 Ram_1k;

건축 행동 Ram_1k입니다

시작
프로세스 (addr, 셀프, RW)를
t_mem 형식 배열 (0 63) STD_LOGIC_VECTOR (15 downto 0)이다;
변수 mem_data : t_mem : =
( "0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000");

시작
데이터를 "="ZZZZZZZZZZZZZZZZ ";
준비 "= '0 ';

만약 셀프 = '1 '을 선택한 다음
만약 RW를 = '1 '을 선택한 다음
데이터를 "= mem_data (CONV_INTEGER (addr (15 downto 0))) 1 ns의 뒤에;

준비 "= '1 ';

elsif RW를 = '0 '를 클릭한 후
mem_data (CONV_INTEGER (addr (15 downto 0))) : = 데이터;
최종면;
그 밖의
데이터를 "="ZZZZZZZZZZZZZZZZ "1 ns의 뒤에;
최종면;
최종 처리;
마지막 행동;

 
어떤 종류의 장치로 합성?블록 RAM의 경우와 다음, 현대 자일링스 FPGA의 블록 RAM의 동기는 점을 명심하십시오.귀하의 RAM을 설계, 그렇지 않으면 매우 저조한 패브릭을 사용하여 로직 합성됩니다 시계가 필요합니다.

난 당신 자일링스는 ISE XST를 사용하여 합성 가정합니다.그래서 XST 블록 RAM을 추측할 수있다 당신이 특정 방법으로 당신의 HDL을 작성해야합니다."XST 사용자 가이드"장 "HDL을 코딩 기술은"섹션에서 "숫양과 ROM을"을 참조하십시오.그것은 VHDL 예제를 보여줍니다.
echo47에 의해 2007년 6월 24일 10시 51분에 편집한 마지막으로, 1 시간을 편집한 총

 
고맙습니다 에코 .. 회신에 대한

숫양에 의해 XC3s200 자일링스의 FPGA를 타겟으로했다

을 통해 UR 그래, 난 havent 포트 목록에서 시계를 포함 ...

이후 메신저 이건 내가 새로운 더글러스 페리 도서 코드를 복사하고 그것을 합성하려 ...

 
자일링스는 FPGA의 많은 특수 기능을 구체적인 코딩 기법을 필요로합니다.모든 새로운 자일링스는 디자이너가 ""HDL을 코딩 기술 매뉴얼 장에서는 전체 XST 읽어야합니다.또 다른 좋은 장 "VHDL 언어 지원"또는 "Verilog 언어 지원"입니다.

행운을 빕니다!

 

Welcome to EDABoard.com

Sponsor

Back
Top