2014年4月11日

摘要: 上图为实现Cordic的原理框图。CORDIC的实现可以采用迭代的方式实现,这意味着CORDIC会执行一次迭代n次。CORDIC可以展开实现,即上图的结构,每一个部分处理相同的迭代,执行一次迭代一次。 1 `timescale 1ns / 1ps 2 module Cordic_t1(clk,rst_n,ena,phase_in,sin_out,cos_out,eps); 3 4 input clk; 5 input rst_n; 6 input ena; 7 8 //输入的角度采用16位表示 9 //最高位表示符号位,1为负数。0为正数 10 //接下来的7位,表示角度... 阅读全文
posted @ 2014-04-11 13:20 天涯一客 阅读(450) 评论(0) 推荐(0) 编辑

2014年4月7日

摘要: Cordic算法又称为:坐标旋转数字计算方法,在最初是作为坐标变换的算法,现在发展为计算各种复杂函数的运算。背景:现代数字信号处理的一个主要发展趋势是算法结构日趋复杂、计算量大、实时性要求高,且包含大量的三角函数、开方等复杂函数计算,MAC单元不能适合此类函数的需求,而cordic算法可以讲多种难以用硬件实现的复杂运算分解为统一的简单移位、加法迭代运算。而且结构规则、运算周期可以预测,适合VLSI电路实现。Cordic是用于计算广义矢量旋转的一种迭代算法,主要用于三角函数、双曲函数、指数、对数的运算,使之转化为加减和移位的运算。在 xy 坐标平面上将点 (x1, y1) 旋转角度到点(x2, 阅读全文
posted @ 2014-04-07 16:04 天涯一客 阅读(227) 评论(0) 推荐(0) 编辑

2014年4月6日

摘要: 直接数字频率合成技术(DDS)或者是压控振荡器,在许多数字通信系统中是重要的组成部分,工作原理是采用查找表方案,即通过查找表存储正余弦信号的采样值,数字的相位累加器生成合适的相位参数对查找表进行映射获得期望得到的输出波形。如下图是DDS的结构框图。相位累加器是A1和D1的部分,The quantizer Q1, which is simply a slicer, accepts the high-precision phase angle θ(n)andgenerates a lower precision representation of the angle denoted Θ(n)as 阅读全文
posted @ 2014-04-06 20:46 天涯一客 阅读(526) 评论(0) 推荐(0) 编辑

2014年4月5日

摘要: 1 //设计的过程实际是从一种形式到另一种形式的转换,比如从设计规格到RTL代码,从RTL 2 3 //到门级网表,从门级网表到版图等。说的其实是设计的流程的转变,很有道理 4 //验证的目的就是保证每一步的设计转换过程中都准确无误。 5 //功能验证指的是从验证RTL代码是否符合原始的设计需求和规格。 6 //仿真:使用EDA工具通过对设计实际工作情况的模拟验证设计的正确性。 7 //testbench的使用首先知道它是什么个玩意?testbench是测试平台的意思,就是在仿真的时候testbench产生测试激励给待验证设计(DUT) 8 // 并检查DUT的输出是否与预... 阅读全文
posted @ 2014-04-05 16:24 天涯一客 阅读(989) 评论(0) 推荐(0) 编辑
摘要: 串/并行乘法器的速度比较慢,本节就是在上节的基础上对电路进行改进,提高速度。引入流水线的形式,将相邻的两个部分积乘积结构再以加法树的形式相加,形成了结构上的流水化处理。缩短关键路径代码:16位的乘法器相乘module Multiply(clk,rst,dataa,datab,dout);input clk; input rst;input [7:0] dataa;input [7:0] datab;output [15:0] dout; reg [15:0]stored0;reg [15:0]stored1;reg [15:0]stored2;reg [15:0]stored3;reg [1. 阅读全文
posted @ 2014-04-05 16:23 天涯一客 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 实现两个N位二进制数dataa、datab的乘积,用简单的方法计算就是利用移位操作来实现。dataa进行位扩展左移累加的操作,datab不便右移的操作。module Multiply(clk,rst,dataa,datab,dout);input clk; input rst;input [7:0] dataa;input [7:0] datab;output reg[15:0] dout; parameter s1 = 0,s2=1,s3=2; //reg [7:0]dataareg;reg [7:0]databreg;reg [1:0]state; reg [15:0]tmp;reg [1 阅读全文
posted @ 2014-04-05 16:20 天涯一客 阅读(1104) 评论(0) 推荐(0) 编辑

2013年9月25日

摘要: 具体的基本原理参考下面的网址。http://ee.52ic.net/Article/ShowArticle.asp?ArticleID=61方法一:filePath = '1.jpg';I = imread(filePath); %读取JPEG彩色图像%可以直接调用rgb2ycbcr函数进行空间变换YCBCR = rgb2ycbcr(I);方法二:filePath = '1.jpg';I = imread(filePath); %读取JPEG彩色图像[m, n, dim]=size(I);%图像的RGB %matlab读入图像的数据是uint8,而matlab中 阅读全文
posted @ 2013-09-25 19:56 天涯一客 阅读(414) 评论(0) 推荐(0) 编辑

导航