搜索
bottom↓
回复: 5

cpld做dds

[复制链接]

出0入0汤圆

发表于 2011-1-30 13:21:02 | 显示全部楼层 |阅读模式
打算用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周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-2-5 12:05:19 | 显示全部楼层
我以前发过一个剪页资料,是电阻网做的,单像限表,资源省

出0入0汤圆

 楼主| 发表于 2011-2-5 12:24:35 | 显示全部楼层
回复【1楼】longquan shuang
-----------------------------------------------------------------------
单象限表怕引入相位误差
电阻网是哪种接法?
你剪页资料那个cpld能工作到多少hz?

出0入0汤圆

发表于 2011-2-10 10:21:03 | 显示全部楼层
我记得是在一个信号发生器帖子回复中时随手上传的,时钟一百输出失真大时27兆

哈工程的yuhang老师也贴过一单象64点的

出0入0汤圆

发表于 2013-4-3 15:35:38 | 显示全部楼层
{:smile:

出20入186汤圆

发表于 2013-4-9 21:33:07 | 显示全部楼层
关注,学习,d,p,ps,o如果加点中文注释就好了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:18

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表