下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 北邮FPGA实验二cordic

北邮FPGA实验二cordic.doc

北邮FPGA实验二cordic

纠结的疯子_
2018-11-26 0人阅读 举报 0 0 暂无简介

简介:本文档为《北邮FPGA实验二cordicdoc》,可适用于IT/计算机领域

FPGA实验二:CORDIC算法实验报告学院:信息与通信工程学院 班级:     姓名:          学号:          一、实验目的:()掌握FPGA设计中的流水线技术()掌握Cordic算法的基本原理及其实现方法()了解通过在片内生成ROM的方式进行在板模块测试的方法。二、实验内容:按实验指导书所给出的步骤在FPGA上实现Cordic算法用于计算sin(x)(次迭代)。三、程序基本信息:CORDIC算法计算sin(x)(次迭代):以下介绍程序中的输入输出参数和临时变量在这里首先要说明一点本程序主要进行的是二进制位运算因此所有角度和函数值也都是采用二进制表示具体描述如下:角度值:均采用位二进制数表示也就是(十进制)对应角度值中的π因此对应π(°)对应π(°)依此类推。每一最低位表示°。函数值:程序中输出的三角函数值同样采用位二进制数表示但三角函数有正有负因此实际采用的是位补码第一位是符号位(为正为负)后面位为数据位即()对应而()对应到每一最低位表示。输入及输出参数:clk:时钟信号rst:重置信号ena:启动信号该信号置时系统开始运算过程phasein(位二进制数):输入的角度值sinout(位二进制数):输出的sin函数值函数变量(仅在运行中调用):cosout(位二进制数):计算得到的cos函数值与sinout同时产生但不输出phaseinreg(位二进制数):程序中实际参与运算的角度值下面会进行说明xx、yy、zz(均为位二进制数):在迭代算法中使用的临时参数x和y参数存储三角函数值z存储角度值。x、y、z存储初值其它参数存储次迭代的临时值。quadrant(个位存储器):存储输入角度值的相位信息具体用处见下面说明。PIPELINE:流水线必须和数据位长相同。本程序使用级流水线。四、程序流程图:CORDIC算法的旋转模式:它采用二进制位运算即:、zi(di)正负的判断:通过判断zi符号位(首位)、^(i)的实现:即每次迭代时对xi或yi作除操作具体实现方法为把原二进制值向右移动一位移出的空位补。、每次迭代时z的值要减去的角度值满足公式tan^()〖^(i)〗。根据原输入角度值所在象限对迭代后的结果进行处理:利用三角函数的性质由于结果是在角度位于第一象限的情况下获得的因此可作如下处理。(输入角度在)第二象限:sinx值不变cosx值取负。第三象限:sinx和cosx值均取负。第四象限:cosx值不变sinx取负。取负方法:所有二进制位取反加一(补码)。五、功能测试记录:、CORDIC算法计算sin(x)值、Chipscope在板调试波形:六、调试过程中的主要问题及难点:、Chipscope的仿真波形显示错误。由如下原因导致Chipscope内核定义文件设置有误程序中采用了双触发源因此TriggerPorts应有个。、ModelSim仿真信号混乱。应该在确保选中测试文件的情况下进行仿真、双击“AnalyzeDesignUsingChipscope”时系统报错。是因为顶层测试文件中实例化IPCore模块语句中IPCore名字与工程中创建的IPCORE名字不一致。七、实验总结:接触到了一种比较新的Cordic算法并对其有了一个比较初步的了解。再一次地熟悉了ISE集成开发环境和Modelsim软件的使用方法。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/6

北邮FPGA实验二cordic

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利