V

voho

Guest
안녕 모두,

왜냐면 난 내 코드를 테스트하는 방법을 VHDL에서 카운터를 48 비트로 어떻게이 문제를 관찰 :

16 진수 : 00 00 00 00 00 00 00
.....................
.....................
01 FF로 FF로 FF로 FF로 FF로

<img src="http://www.edaboard.com/images/smiles/icon_surprised.gif" alt="놀란" border="0" />

케이
01 00 00 00 00 00 00 : 오류
02 00 00 00 00 00

<img src="http://www.edaboard.com/images/smiles/icon_surprised.gif" alt="놀란" border="0" />

케이

그것이 문제가 내가 생각 들고 다니 겠냐?

 
이렇게 뭔가 :

코드 :신호 CNT의, cnt_nxt : std_logic_vector (47 downto 0);

시작

프로세스 (clk_i, reset_n_i) 시작

만약 reset_n_i = '0 '를 클릭한 후

CNT의 "= 0;

elsif clk_i'event 및 clk_i = '1 '을 선택한 다음

CNT의 "= cnt_nxt;

최종면;

엔드 프로세스;cnt_nxt "= CNT의 1;최종 beh;
 
cube007 썼습니다 :

이렇게 뭔가 :코드 :신호 CNT의, cnt_nxt : std_logic_vector (47 downto 0);

시작

프로세스 (clk_i, reset_n_i) 시작

만약 reset_n_i = '0 '를 클릭한 후

CNT의 "= 0;

elsif clk_i'event 및 clk_i = '1 '을 선택한 다음

CNT의 "= cnt_nxt;

최종면;

엔드 프로세스;cnt_nxt "= CNT의 1;
괜찮 아요 ...
좀 더 좋은 VHDL 쓰는거야!처음으로 ..
라인에 .. numeric_std 라이브러리를 넣어
= "사용 ieee.numeric_std.all;다음 카운터 이렇게 될 것입니다 ...cpt_int 48 비트 또는 당신이 원하는 신호가 ...이다;

카운터 출력 cpt_out프로세스 (말이 맞아, CLK)

시작

만약 그의 말이 맞아 = '1 '을 선택한 다음 cpt_int "= (다른 분들에게도 ="'0');

elsif rising_edge (CLK)

그런 다음

만약 cpt_int = x "를 FFFFFFFFFFFF"그때 cpt_int "= (다른 분들에게도 ="'0 '); - 선택 라인 simu (만세!)

다른 cpt_int "= std_logic_vector (서명 () 1) cpt_int;

최종면;

최종면;

엔드 프로세스;

cpt_out "= cpt_int;그게 다에요

좋은 VHDL!최종 beh;
 
이러한 큰 카운터를 설계하는 가장 좋은 방법은 소규모로 분할하는 것입니다
카운터.이 카운터는 하드웨어를 테스트 할 것입니다 possble 쉽게!
16 비트 카운터와 그것을 몇 번이고 48 비트 카운터를 인스턴스를 빌드하려고하면!

 

Welcome to EDABoard.com

Sponsor

Back
Top