?? sin_1.txt
字號:
module adc(clk,din,dout);
input clk;
input[7:0] din;
output[7:0] dout;
reg cp,a;
reg[7:0] d,dd,dout;
reg[4:0] pc_sin,dxl;
reg[12:0] st;
always @(negedge clk)
begin
if(pc_sin!=24) //25分頻
begin
pc_sin=pc_sin+1;cp=1;
end
else begin pc_sin=0;cp=0;end
dd=dxl*st[7:5];
if(a) dout=d-dd[7:3];
else dout=d+dd[7:3];
end
always @(negedge cp)
begin
st=st+din;
case(st[12:8])
0:begin d=128;dxl= 20;a=0;end
1:begin d=148;dxl= 18;a=0;end
2:begin d=166;dxl= 18;a=0;end
3:begin d=184;dxl= 15;a=0;end
4:begin d=199;dxl= 12;a=0;end
5:begin d=211;dxl= 9;a=0;end
6:begin d=220;dxl= 6;a=0;end
7:begin d=226;dxl= 2;a=0;end
8:begin d=228;dxl= 2;a=1;end
9:begin d=226;dxl= 6;a=1;end
10:begin d=220;dxl= 9;a=1;end
11:begin d=211;dxl= 12;a=1;end
12:begin d=199;dxl= 15;a=1;end
13:begin d=184;dxl= 18;a=1;end
14:begin d=166;dxl= 18;a=1;end
15:begin d=148;dxl= 20;a=1;end
16:begin d=128;dxl= 20;a=1;end
17:begin d=108;dxl= 18;a=1;end
18:begin d= 90;dxl= 18;a=1;end
19:begin d= 72;dxl= 15;a=1;end
20:begin d= 57;dxl= 12;a=1;end
21:begin d= 45;dxl= 9;a=1;end
22:begin d= 36;dxl= 6;a=1;end
23:begin d= 30;dxl= 2;a=1;end
24:begin d= 28;dxl= 2;a=0;end
25:begin d= 30;dxl= 6;a=0;end
26:begin d= 36;dxl= 9;a=0;end
27:begin d= 45;dxl= 12;a=0;end
28:begin d= 57;dxl= 15;a=0;end
29:begin d= 72;dxl= 18;a=0;end
30:begin d= 90;dxl= 18;a=0;end
31:begin d=108;dxl= 20;a=0;end
endcase
end
endmodule
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -