作者kokonut (better than Mr.Ja)
看板Electronics
标题[问题] 有关FPGA LVDS输出相关问题~??
时间Thu May 28 23:01:19 2009
我又有问题要发问了
我FPGA外部有外接四颗LD driver IC (MAX3656)
与FPGA的interface为LVDS
我在弄一个实验平台
会同步对此四颗LD driver丢data
我是以多工器的方式来丢data
以PLL来倍频使用
但PLL最高只能倍到420MHz
我是想请问一下...
还有哪种方式能提高我的输出频率~???
感谢
FAE是有丢给我一份文件
http://www.latticesemi.com/documents/rd1030.pdf
目前正在K~
================<Coding 如下>=======================
(data都是自己定义的~非通讯使用~)
module pawm_driver(clk, rst, ldout_1, ldout_2, ldout_3, ldout_4, clk_i );
input clk, rst;
output ldout_1 ;
output ldout_2 ;
output ldout_3 ;
output ldout_4 ;
reg ldout_1 ;
reg ldout_2 ;
reg ldout_3 ;
reg ldout_4 ;
reg[6:0] con;
/////////////////////// Test //////////////////////////////////
reg clk_i;
output clk_i;
/////////////////////// Call PLL //////////////////////////////
PLL_0513 PLL_0513_inst(
.CLK(clk),
.CLKOP(clk_i),
.LOCK());
/////////////////////// counter ///////////////////////////////
always@(posedge clk_i or posedge rst)
begin
if(rst)
con <= 0;
else if(con == 17 )
con <= 0 ;
else
con <= con + 1;
end
//////////////////// Driver 1 setup //////////////////////
always @ ( con )
begin
case ( con )
6'd1 : ldout_1 =1 ;
6'd2 : ldout_1 =0 ;
6'd3 : ldout_1 =1 ;
6'd4 : ldout_1 =0 ;
6'd5 : ldout_1 =1 ;
6'd6 : ldout_1 =0 ;
6'd7 : ldout_1 =1 ;
6'd8 : ldout_1 =0 ;
6'd9 : ldout_1 =1 ;
6'd10 : ldout_1 =0 ;
6'd11 : ldout_1 =1 ;
6'd12 : ldout_1 =0 ;
6'd13 : ldout_1 =1 ;
6'd14 : ldout_1 =0 ;
6'd15 : ldout_1 =1 ;
6'd16 : ldout_1 =0 ;
6'd17 : ldout_1 =1 ;
6'd18 : ldout_1 =0 ;
6'd19 : ldout_1 =1 ;
6'd20 : ldout_1 =0 ;
6'd21 : ldout_1 =1 ;
6'd22 : ldout_1 =0 ;
6'd23 : ldout_1 =1 ;
6'd24 : ldout_1 =0 ;
6'd25 : ldout_1 =1 ;
6'd26 : ldout_1 =0 ;
6'd27 : ldout_1 =1 ;
6'd28 : ldout_1 =0;
6'd29 : ldout_1 =1 ;
6'd30 : ldout_1 =0 ;
6'd31 : ldout_1 =1 ;
6'd32 : ldout_1 =0 ;
6'd33 : ldout_1 =1 ;
6'd34 : ldout_1 =0 ;
default : ldout_1 =0 ;
endcase
end
//////////////////// Driver 2 setup //////////////////////
always @ ( con )
begin
case ( con )
6'd1 : ldout_2 =0 ;
6'd2 : ldout_2 =1 ;
6'd3 : ldout_2 =0 ;
6'd4 : ldout_2 =1 ;
6'd5 : ldout_2 =0 ;
6'd6 : ldout_2 =1 ;
6'd7 : ldout_2 =0 ;
6'd8 : ldout_2 =1 ;
6'd9 : ldout_2 =0 ;
6'd10 : ldout_2 =1 ;
6'd11 : ldout_2 =0 ;
6'd12 : ldout_2 =1 ;
6'd13 : ldout_2 =0 ;
6'd14 : ldout_2 =1 ;
6'd15 : ldout_2 =0 ;
6'd16 : ldout_2 =1 ;
6'd17 : ldout_2 =0 ;
6'd18 : ldout_2 =1 ;
6'd19 : ldout_2 =0 ;
6'd20 : ldout_2 = 1;
6'd21 : ldout_2 = 0;
6'd22 : ldout_2 = 1;
6'd23 : ldout_2 = 0;
6'd24 : ldout_2 =1 ;
6'd25 : ldout_2 =0 ;
6'd26 : ldout_2 =1 ;
6'd27 : ldout_2 = 0;
6'd28 : ldout_2 = 1;
6'd29 : ldout_2 = 0;
6'd30 : ldout_2 =1 ;
6'd31 : ldout_2 =0 ;
6'd32 : ldout_2 =1 ;
6'd33 : ldout_2 = 0;
6'd34 : ldout_2 =1 ;
default : ldout_2 =0 ;
endcase
end
//////////////////// Driver 3 setup //////////////////////
always @ ( con )
begin
case ( con )
6'd1 : ldout_3 =0 ;
6'd2 : ldout_3 =1 ;
6'd3 : ldout_3 = 0;
6'd4 : ldout_3 =1 ;
6'd5 : ldout_3 = 0;
6'd6 : ldout_3 = 1;
6'd7 : ldout_3 =0 ;
6'd8 : ldout_3 = 1;
6'd9 : ldout_3 = 0;
6'd10 : ldout_3 = 1;
6'd11 : ldout_3 =0 ;
6'd12 : ldout_3 = 1;
6'd13 : ldout_3 =0 ;
6'd14 : ldout_3 =1 ;
6'd15 : ldout_3 =0 ;
6'd16 : ldout_3 =1 ;
6'd17 : ldout_3 = 0;
6'd18 : ldout_3 = 1;
6'd19 : ldout_3 = 0;
6'd20 : ldout_3 =1 ;
6'd21 : ldout_3 = 0;
6'd22 : ldout_3 = 1;
6'd23 : ldout_3 =0 ;
6'd24 : ldout_3 = 1;
6'd25 : ldout_3 = 0;
6'd26 : ldout_3 =1 ;
6'd27 : ldout_3 =0 ;
6'd28 : ldout_3 = 1;
6'd29 : ldout_3 =0 ;
6'd30 : ldout_3 =1 ;
6'd31 : ldout_3 = 0;
6'd32 : ldout_3 = 1;
6'd33 : ldout_3 = 0;
6'd34 : ldout_3 = 1;
default : ldout_3 =0 ;
endcase
end
//////////////////// Driver 4 setup //////////////////////
always @ ( con )
begin
case ( con )
6'd1 : ldout_4 =0 ;
6'd2 : ldout_4 = 0;
6'd3 : ldout_4 = 1;
6'd4 : ldout_4 =0 ;
6'd5 : ldout_4 =1 ;
6'd6 : ldout_4 =0 ;
6'd7 : ldout_4 =1 ;
6'd8 : ldout_4 =0 ;
6'd9 : ldout_4 = 1;
6'd10 : ldout_4 = 0;
6'd11 : ldout_4 =1 ;
6'd12 : ldout_4 = 0;
6'd13 : ldout_4 =1 ;
6'd14 : ldout_4 = 0;
6'd15 : ldout_4 =1 ;
6'd16 : ldout_4 = 0;
6'd17 : ldout_4 = 1;
6'd18 : ldout_4 = 0;
6'd19 : ldout_4 =1 ;
6'd20 : ldout_4 = 0;
6'd21 : ldout_4 =1 ;
6'd22 : ldout_4 = 0;
6'd23 : ldout_4 =1 ;
6'd24 : ldout_4 = 0;
6'd25 : ldout_4 =1 ;
6'd26 : ldout_4 =0 ;
6'd27 : ldout_4 = 1;
6'd28 : ldout_4 =0 ;
6'd29 : ldout_4 =1 ;
6'd30 : ldout_4 = 0;
6'd31 : ldout_4= 1;
6'd32 : ldout_4 =0 ;
6'd33 : ldout_4 = 1;
6'd34 : ldout_4 = 0;
default : ldout_4 = 0;
endcase
end
///////////////////////////////////////////////////////////////////
endmodule
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.18.23
1F:→ M9407120:先看你FPGA的规格是否能输出到你要的频率? 05/30 07:31
2F:→ kokonut:FPGA内部PLL倍频最高只到420MHz 05/30 09:53
3F:→ kokonut:但她的LVDS IO可以支援到800M 05/30 09:54