XC9536 100 MHz의 Divider

B

brunoaduarte

Guest
안녕하세요, 100 MHz의 클럭 소스를 가지고 11 년까지 9.091 MHz의를 구하는 22 가지 클럭 출력에, 내가 어떻게 그것을 할 수있는 4.54 MHz의 구하는 그것을 분할하고 싶어?

코드 :모듈 clkdiv (CLK, q에서만 사용);

입력 CLK;

출력 q를;

] COUNT 개의 [1시 reg;

초기 COUNT 개의 = 0;

q를 = COUNT 개의 [1 할당];

항상 (posedge CLK) @

시작

COUNT 개의 = COUNT 개의 1;



endmodule

 
난이있습니다. 내 XC9536XL 프로그래밍 파일을 제드, 그건 11 22 100 MHz의 클럭 분할하지,하지만 난 그것에 몇 가지 추가적인 회로를 추가해야합니다.

만약 그것 분해 가능 Any1 알고 있나요?
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
이를테면 :

모듈 divby_11_22 (
- 입력 CLK,
- 출력 reg by_11,
- 출력 by_22 reg
-);
- reg [4시] 카운터;
언제나 (posedge CLK) @
- 시작
- 만약 (카운터 == 5'd21) 카운터 "= 5'd0;
- 다른 카운터 "= 카운터 5'd1;
-
- / / 나누기 - 의해 - 11 시계가 5에 대한 낮은 6 높습니다
- 만약 ((카운터 == 5'd0) | | (카운터 == 5'd11)
- by_11 "= 1'b1;
- 만약 (카운터 == 5'd5) | | (카운터 == 5'd16))
- by_11 "= 1'b0;
-
- / / 나누기 -에 의해 - 22 11, 11 낮은 높이
- 만약 (카운터 == 5'd0) by_22 "= 1'b1;
- 만약 (카운터 == 5'd11) by_22 "= 1'b0;
-
- 끝
- endmodule

이 테스트되지 않았지만, 그것을 채굴할 보인다.이것은 당신을 아주지만, 50 % 듀티 사이클 / 11 클럭에 포기하지 않을 닫습니다.
웨이드

 
는 고맙지만, 그것 서면의 방법으로 그 일을하지 않았다 :

자일링스는 ISE에 그것을 컴파일하려면, 모듈 Verilog, 시도했지만 오류가있어 :

코드 :모듈 divby_11_22 (CLK, by_11, by_22);

입력 CLK;

출력 by_11;

출력 by_22;] 카운터 [4시 reg;

항상 (posedge CLK) @

시작

만약 (카운터 == 5'd21) 카운터 "= 5'd0;

다른 카운터 "= 카운터 5'd1;

/ / 나누기 - 의해 - 11 시계가 5에 대한 낮은 6 높습니다

만약 (() | == 5'd0 카운터 | (카운터 == 5'd11) by_11 "= 1'b1;

만약 (카운터 == 5'd5) | | (카운터 == 5'd16)) by_11 "= 1'b0;/ / 나누기 -에 의해 - 22 11, 11 낮은 높이

만약 (카운터 == 5'd0) by_22 "= 1'b1;

만약 (카운터 == 5'd11) by_22 "= 1'b0;



endmodule

 
이것은 ()를 복사으로 바뀌었 제대로 보여요 (를) rtus 8 언더파로 컴파일

//////////////////////////////////////////////
모듈 테스트 (CLK, by_11, by_22);
입력 CLK;
출력 reg by_11;
출력 reg by_22;

] 카운터 [4시 reg;
항상 (posedge CLK) @
시작
만약 (카운터 == 5'd21) 카운터 "= 5'd0;
다른 카운터 "= 카운터 5'd1;
/ / 나누기 - 의해 - 11 시계가 5에 대한 낮은 6 높습니다
만약 (() | == 5'd0 카운터 | (카운터 == 5'd11)) by_11 "= 1'b1;
만약 (() | == 5'd5 카운터 | (카운터 == 5'd16)) by_11 "= 1'b0;

/ / 나누기 -에 의해 - 22 11, 11 낮은 높이
만약 (카운터 == 5'd0) by_22 "= 1'b1;
만약 (카운터 == 5'd11) by_22 "= 1'b0;

endmodule
////////////////////////////////////////////////// //////////

 
당신이 첨부된 이미지에서 볼 수있는 자, 이제 컴파일하지만, 시뮬레이션에 2 클럭 출력을 생성하지 않았다.
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
알테라의 시뮬레이션의 출력에 대한 첨부 파일을 참조하십시오.
우리가가는 시뮬레이터 결투를 제외하고는 것 같아 내가 무슨 말을해야할지 모르겠어요.
웨이드 Hassler
미안하지만, 당신이 첨부 파일을 보려면 로그인이 필요합니다

 
난. 파일 제드와 XC 번쩍 했어, 그게 정말로 작동 ...그것은 모두 9 MHz 이상 및 4 MHz의 출력을 생성하는거야.

죄송합니다, 내 시뮬레이터에 ... 약간의 문제가되어야합니다

감사합니다!

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="아주 행복한" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top