- 9
- 0
- 约4.83千字
- 约 8页
- 2017-02-06 发布于重庆
- 举报
数字系统设计报告
基于FPGA的cordic算法设计及实现FPGA简介由于本次cordic算法的设计和实现是基于FPGA的,因此,先对FPGA做一个简单介绍。FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA由6部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。FPGA设计的基本流程如下:Cordic算法原理如图所示,初始向量旋转角度之后得到向量,此向量有如下关系: 注:为待求角假设初始向量经过N次旋转之后得到新向量,且每次旋转角度正切值都为2的倍数,则第次旋转角度为,即 容易得到角度,其中或-1,表示旋转角度的方向,第步旋转可以表示为:其中称为校模因子,当旋转次数一定时,趋于一个常数,而由极限 可知,算法每一步就可以简化为:从而可以看出,对于移动的角度,现在只需要硬件加减法器和移位器就可以算出结果。引入Z,表示次旋转后相位累加的部分和,则:经过n次旋转之后,Z→0,即与目标角重合。算法设计思路进行端口说明和数据类型定义。输入端口为时钟和初始相位,输出端口为sin和cos。参数设置方面将迭代次数设置为8次。输入相位在每次时钟的下降沿来临时增加2。初始化数据,,为输入相位,输入相位的高两位表示角度在哪个象限。再增加一个符号位,即判决算子用来判断每次迭代的旋转方向。开始进行迭代运算,如果,则顺时针旋转45°,否则逆时针旋转45°。一共进行八次迭代,每次迭代旋转角度的正切值都为2的倍数。设置9个两位寄存器,用来保存每次旋转后相位的高两位,即用来判断角度在哪个象限。每经过一个时钟周期,会有8个角度进行旋转 ,最先输入的角度进行第8次旋转,后面的7个角度依次进行第7次,第6次,第5次,……,第1次的旋转,这样依次进行下去就会输出一系列连续的正弦波和余弦波。功能仿真结果(用modelsim实现)课后感悟数字系统设计这门课已经结课了,虽然只有短短六周的课程,但是姚老师课堂上的认真讲解以及课后的严格要求让我学到了很多数字系统设计的知识,每次作业都是对我知识的提升,对于Verilog语言我从什么都不懂到现在自己都可以编一些简单的小程序了,还有每周的实验课也让我对FPGA和DSP的设计流程有了新的认识。相信这些知识将会在未来给我很大的帮助。附录:源程序(verilog实现)module cordic(sin,cos,eps,phase_in,clk);input [7:0] phase_in;input clk;output reg [8:0] sin,cos,eps;parameter PIPELINE = 8;//迭代次数为8次parameter K = 8h4D;//k=0.607253*2^7//sin和cos之间的转换取决于phase_in[7:6]reg [8:0] x0,y0,z0;reg [8:0] x1,y1,z1;reg [8:0] x2,y2,z2;reg [8:0] x3,y3,z3;reg [8:0] x4,y4,z4;reg [8:0] x5,y5,z5;reg [8:0] x6,y6,z6;reg [8:0] x7,y7,z7;reg [8:0] x8,y8,z8;reg [1:0] quadrant [PIPELINE:0];integer i;initialbegin for(i=0;i=PIPELINE;i=i+1) quadrant[i] = 2b0;end//phase_in[7:6] 判断角度在哪个象限//00 表示在第一象限;01 表示在第二象限;10表示在第三象限;11 表示在第四象限//初始化: x0 = K,y0 = 0,z0 = phase_in always @ (posedge clk)//stage 0begin x0 = {1b0,K}; //增加一个符号位,0 表示正 y0 = 9b0; z0 = {3b0,phase_in[5:0]};//控制输入相位的范围在0到pi/2endalways @ (posedge clk)//stage 1begin if(z0[8])//顺时针为负,1表示负 begin x1 = x0 + y0; y1 = y0 - x0; z1 = z0 + 8h20;//顺时针转45° end else begin x1 = x0 - y0; y1 = y0 + x0; z1 = z0 - 8h20;//逆时针转 45° endend/*********************************************//x(n+1) = x(n) + {{n{y(n)[16]}},y
您可能关注的文档
- 建筑信息技术.doc
- 广西钦州市钦州港经济技术开发区中学2015-2016学年七年级3月月考地理试题.doc
- 建设数字化校园,促进学生个性化学习.doc
- 建设工程计价第五章数字与公式时间要求.docx
- 实验五数字视频资源的获取处理与应用.doc
- 巡更方案L-9000彩屏中文机.doc
- 彩电“五一”促销活动方案.doc
- 微机原理与接口技术张颖超叶彦斐第3章习题答案.doc
- 影院拓展要求.doc
- 微机原理与接口技术试卷(专升本).doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 面向产业的算法治理研究(2025年).pptx
- 梵音入汉:佛经汉译对汉语演进的多维影响.docx
- 小学低段音乐课堂管理方法的研究课题资料(包含申请表、开题报告、实施方案、结题报告等).pdf VIP
- 2026《隧道贯通误差预计计算案例》4000字.docx
- 2022-2023学年北京市丰台区高二(下)期末数学试卷(附答案详解).docx VIP
- 5m盐酸溶液的配制 -回复.pdf VIP
- 2026年新疆工程学院辅导员招聘备考题库最新.docx VIP
- 2026年新疆财经大学辅导员招聘备考题库必考题.docx VIP
- 2026年新疆农业大学辅导员招聘备考题库附答案.docx VIP
- 现代金属凝固技术课件(9056KB).ppt VIP
原创力文档

文档评论(0)