|
打算用cpld做dds,用的epm240,最高工作频率99MHz,8bit查找表(也就是说频率分辨率为99/(2^8)=0.386MHz),输出8bit
输出用并行输出连接一个高速运放构成的加法器,根据引脚的权值相加,
module CPLD_DDS(phase,divider,out,clk,nrst);
input [7:0]phase;
output [7:0]out;
input clk;
input nrst;
input [3:0]divider;
reg [7:0]d;
reg [7:0]p;
reg [7:0]ps;
reg [7:0]o;
assign out=o;
// always @ (negedge nrst)
// begin
// p<=0;
// o<=0;
// end
always @ (posedge clk)
begin
d=8'd255-divider+8'd1;
end
always @ (posedge clk)
begin
if(ps==phase)p=p+d;
else
begin
ps=phase;
p=phase;
end
end
always @ (posedge clk)
begin
case(p)
8'd0:o=8'd128;
8'd1:o=8'd131;
8'd2:o=8'd134;
8'd3:o=8'd137;
8'd4:o=8'd140;
8'd5:o=8'd144;
8'd6:o=8'd147;
8'd7:o=8'd150;
8'd8:o=8'd153;
8'd9:o=8'd156;
8'd10:o=8'd159;
8'd11:o=8'd162;
8'd12:o=8'd165;
8'd13:o=8'd168;
8'd14:o=8'd171;
8'd15:o=8'd174;
8'd16:o=8'd177;
8'd17:o=8'd179;
8'd18:o=8'd182;
8'd19:o=8'd185;
8'd20:o=8'd188;
8'd21:o=8'd191;
8'd22:o=8'd193;
8'd23:o=8'd196;
8'd24:o=8'd199;
8'd25:o=8'd201;
8'd26:o=8'd204;
8'd27:o=8'd206;
8'd28:o=8'd209;
8'd29:o=8'd211;
8'd30:o=8'd213;
8'd31:o=8'd216;
8'd32:o=8'd218;
8'd33:o=8'd220;
8'd34:o=8'd222;
8'd35:o=8'd224;
8'd36:o=8'd226;
8'd37:o=8'd228;
8'd38:o=8'd230;
8'd39:o=8'd232;
8'd40:o=8'd234;
8'd41:o=8'd235;
8'd42:o=8'd237;
8'd43:o=8'd239;
8'd44:o=8'd240;
8'd45:o=8'd241;
8'd46:o=8'd243;
8'd47:o=8'd244;
8'd48:o=8'd245;
8'd49:o=8'd246;
8'd50:o=8'd248;
8'd51:o=8'd249;
8'd52:o=8'd250;
8'd53:o=8'd250;
8'd54:o=8'd251;
8'd55:o=8'd252;
8'd56:o=8'd253;
8'd57:o=8'd253;
8'd58:o=8'd254;
8'd59:o=8'd254;
8'd60:o=8'd254;
8'd61:o=8'd255;
8'd62:o=8'd255;
8'd63:o=8'd255;
8'd64:o=8'd255;
8'd65:o=8'd255;
8'd66:o=8'd255;
8'd67:o=8'd255;
8'd68:o=8'd254;
8'd69:o=8'd254;
8'd70:o=8'd254;
8'd71:o=8'd253;
8'd72:o=8'd253;
8'd73:o=8'd252;
8'd74:o=8'd251;
8'd75:o=8'd250;
8'd76:o=8'd250;
8'd77:o=8'd249;
8'd78:o=8'd248;
8'd79:o=8'd246;
8'd80:o=8'd245;
8'd81:o=8'd244;
8'd82:o=8'd243;
8'd83:o=8'd241;
8'd84:o=8'd240;
8'd85:o=8'd239;
8'd86:o=8'd237;
8'd87:o=8'd235;
8'd88:o=8'd234;
8'd89:o=8'd232;
8'd90:o=8'd230;
8'd91:o=8'd228;
8'd92:o=8'd226;
8'd93:o=8'd224;
8'd94:o=8'd222;
8'd95:o=8'd220;
8'd96:o=8'd218;
8'd97:o=8'd216;
8'd98:o=8'd213;
8'd99:o=8'd211;
8'd100:o=8'd209;
8'd101:o=8'd206;
8'd102:o=8'd204;
8'd103:o=8'd201;
8'd104:o=8'd199;
8'd105:o=8'd196;
8'd106:o=8'd193;
8'd107:o=8'd191;
8'd108:o=8'd188;
8'd109:o=8'd185;
8'd110:o=8'd182;
8'd111:o=8'd179;
8'd112:o=8'd177;
8'd113:o=8'd174;
8'd114:o=8'd171;
8'd115:o=8'd168;
8'd116:o=8'd165;
8'd117:o=8'd162;
8'd118:o=8'd159;
8'd119:o=8'd156;
8'd120:o=8'd153;
8'd121:o=8'd150;
8'd122:o=8'd147;
8'd123:o=8'd144;
8'd124:o=8'd140;
8'd125:o=8'd137;
8'd126:o=8'd134;
8'd127:o=8'd131;
8'd128:o=8'd128;
8'd129:o=8'd125;
8'd130:o=8'd122;
8'd131:o=8'd119;
8'd132:o=8'd116;
8'd133:o=8'd112;
8'd134:o=8'd109;
8'd135:o=8'd106;
8'd136:o=8'd103;
8'd137:o=8'd100;
8'd138:o=8'd97;
8'd139:o=8'd94;
8'd140:o=8'd91;
8'd141:o=8'd88;
8'd142:o=8'd85;
8'd143:o=8'd82;
8'd144:o=8'd79;
8'd145:o=8'd77;
8'd146:o=8'd74;
8'd147:o=8'd71;
8'd148:o=8'd68;
8'd149:o=8'd65;
8'd150:o=8'd63;
8'd151:o=8'd60;
8'd152:o=8'd57;
8'd153:o=8'd55;
8'd154:o=8'd52;
8'd155:o=8'd50;
8'd156:o=8'd47;
8'd157:o=8'd45;
8'd158:o=8'd43;
8'd159:o=8'd40;
8'd160:o=8'd38;
8'd161:o=8'd36;
8'd162:o=8'd34;
8'd163:o=8'd32;
8'd164:o=8'd30;
8'd165:o=8'd28;
8'd166:o=8'd26;
8'd167:o=8'd24;
8'd168:o=8'd22;
8'd169:o=8'd21;
8'd170:o=8'd19;
8'd171:o=8'd17;
8'd172:o=8'd16;
8'd173:o=8'd15;
8'd174:o=8'd13;
8'd175:o=8'd12;
8'd176:o=8'd11;
8'd177:o=8'd10;
8'd178:o=8'd8;
8'd179:o=8'd7;
8'd180:o=8'd6;
8'd181:o=8'd6;
8'd182:o=8'd5;
8'd183:o=8'd4;
8'd184:o=8'd3;
8'd185:o=8'd3;
8'd186:o=8'd2;
8'd187:o=8'd2;
8'd188:o=8'd2;
8'd189:o=8'd1;
8'd190:o=8'd1;
8'd191:o=8'd1;
8'd192:o=8'd1;
8'd193:o=8'd1;
8'd194:o=8'd1;
8'd195:o=8'd1;
8'd196:o=8'd2;
8'd197:o=8'd2;
8'd198:o=8'd2;
8'd199:o=8'd3;
8'd200:o=8'd3;
8'd201:o=8'd4;
8'd202:o=8'd5;
8'd203:o=8'd6;
8'd204:o=8'd6;
8'd205:o=8'd7;
8'd206:o=8'd8;
8'd207:o=8'd10;
8'd208:o=8'd11;
8'd209:o=8'd12;
8'd210:o=8'd13;
8'd211:o=8'd15;
8'd212:o=8'd16;
8'd213:o=8'd17;
8'd214:o=8'd19;
8'd215:o=8'd21;
8'd216:o=8'd22;
8'd217:o=8'd24;
8'd218:o=8'd26;
8'd219:o=8'd28;
8'd220:o=8'd30;
8'd221:o=8'd32;
8'd222:o=8'd34;
8'd223:o=8'd36;
8'd224:o=8'd38;
8'd225:o=8'd40;
8'd226:o=8'd43;
8'd227:o=8'd45;
8'd228:o=8'd47;
8'd229:o=8'd50;
8'd230:o=8'd52;
8'd231:o=8'd55;
8'd232:o=8'd57;
8'd233:o=8'd60;
8'd234:o=8'd63;
8'd235:o=8'd65;
8'd236:o=8'd68;
8'd237:o=8'd71;
8'd238:o=8'd74;
8'd239:o=8'd77;
8'd240:o=8'd80;
8'd241:o=8'd82;
8'd242:o=8'd85;
8'd243:o=8'd88;
8'd244:o=8'd91;
8'd245:o=8'd94;
8'd246:o=8'd97;
8'd247:o=8'd100;
8'd248:o=8'd103;
8'd249:o=8'd106;
8'd250:o=8'd109;
8'd251:o=8'd112;
8'd252:o=8'd116;
8'd253:o=8'd119;
8'd254:o=8'd122;
8'd255:o=8'd125;
endcase
end
endmodule |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|