|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
代码如下:
- //利用TLV5613来画方波,通过控制写控制口的电平来调节方波的周期以及占空比;
- module square(clk,rst_n,out,state,we,A0,ldac);
- input clk,rst_n;
- output wire [7:0] out;
- output [3:0] state; //从高位到低位,分别控制A1,SPD,片选以及PWD;
- output reg we=1; //控制TLV5613的写使能;
- output reg A0;//地址控制线A0
- output reg ldac;//输出控制线ldac
- reg rst;
- reg [4:0] counter;//从0计数到26,不断循环
-
- assign state=4'b0101;
- assign out=8'b11111111;
-
- always @(posedge clk)
- rst=rst_n;
- always @(posedge clk or negedge rst)
- if(!rst)
- counter=0;
- else if(counter<26)
- counter=counter+1;
- else
- counter=0;
-
- always @(posedge clk or negedge rst)
- if(!rst)
- A0=0;
- else if(counter==0)
- A0=A0+1;
- else A0=A0;
-
- always @(posedge clk or negedge rst)
- if(!rst)
- we=1;
- else if(counter==0)
- we=0;
- else
- we=1;
-
- always @(posedge clk or negedge rst)
- if(!rst)
- ldac=1;
- else if(counter<2)
- ldac=1;
- else
- ldac=0;
-
-
-
- endmodule
复制代码
综合之后的RTL图为:
用Active-HDL仿真之后的波形为:
但是在实际的电路中,在we,A0,ldac这几个端口都没有测量得到想要的波形,而都只是一个大小为3.3V的直流电压。
求指点! |
|