我的新博客

随笔分类 -  FPGA

摘要:卷积码 卷积码是一种特殊的编码方式,不仅与当前的输入有关,还与之前的输入有关。可以用一个多项式来表示一个卷积编码,多项式表示有多少个移位寄存器以及他们怎么与模2加法器相连。比如,下图中的无反馈的卷积编码器有一个输入、两个输出和两个以为寄存器。 无反馈的卷积编码器的描述包含2个部分:约束长度和生成多项 阅读全文
posted @ 2016-10-19 00:48 Leon#0534 阅读(982) 评论(0) 推荐(0)
摘要:使用的流程 W9825G6JH winbond sdram 4M words X 4banks X 16bits=. Accesses to the SDRAM are burst oriented. Up to 200MHz CAS Latency 2 and 3 Burst Length 1,2 阅读全文
posted @ 2015-01-28 09:11 Leon#0534 阅读(544) 评论(0) 推荐(0)
摘要:1: // clock divider 2: `timescale 1ns/1ps 3: module clgen 4: #(parameter DIVIDER_LEN = 8) 5: ( 6: input wire clk_in, 7: input wire rst, 8: ... 阅读全文
posted @ 2014-08-10 11:35 Leon#0534 阅读(279) 评论(0) 推荐(0)
摘要:直接型的信号流图 采用转置得到广播结构的信号流图 对于一个常系数四阶的FIR滤波器 直接型的RT L结构如下: 转置后的RTL结构 阅读全文
posted @ 2014-07-04 19:43 Leon#0534 阅读(471) 评论(0) 推荐(0)
摘要:参考自fpga4fun.com part 1.跨时钟域的信号 如果时钟域B需要使用来自时钟域A的信号,那么需要对这个信号进行同步。 如果输入信号比起时钟B来讲变化较慢,可以使用两个触发器来完成 1: module Signal_CrossDomain( 2: input clkA, // we actually don't need clkA... 阅读全文
posted @ 2014-06-30 17:55 Leon#0534 阅读(851) 评论(0) 推荐(0)
摘要:1. 资源共享的应用限制在同一个module里 这样 综合工具才能最大限度地发挥其资源共 享综合作用 2. 尽可能将Critical path上所有相关逻辑放在同一个module里 这样 综合工具能够发挥其 最佳综合效果 3. Critical path 所在的module与其它module分别综合 对critialpath采用速度优先的综合策 略 对其它... 阅读全文
posted @ 2014-06-11 15:48 Leon#0534 阅读(231) 评论(0) 推荐(0)
摘要:速度,在FPGA设计中包括三个方面的含义:流量(吞吐量,Throughput),时滞(latency)和时序(timing)。其中流量或吞吐量指的是每个时钟处理的数据量;时滞指从数据输入到处理结束输出数据经过的时钟延时;时序指的是时序元件之间的延时.比如我们说一个设计不满足时序时指的是关键路径的延时,即两个触发器之间的延时大于时钟周期。 1.高流量 流水线设计可以提高设计的吞吐率,缺点是增... 阅读全文
posted @ 2014-02-08 15:31 Leon#0534 阅读(698) 评论(0) 推荐(1)
摘要:主要关于Quartus II TimeQuest Timing Analyzer 和 SDC基础。时序基本概念。1 Cells 基本结构单元 2Pins Cell的输入输出端口,不是器件的输入输出引脚 3Nets 一个Cell中,输入和输出间的逻辑。 4Ports 顶层逻辑的输入和输出,对应器件的管脚 5 Clocks 时钟类型的Pin 6 Keepers 泛指Port和寄存器类型的Cell 7 NodesTimeQuest进行时序分析的对象Edges: Port-Pin, Pin-Pin, Pin-Port. Edges根据起止路径分为三类。1 Clock paths:从Clock Port 阅读全文
posted @ 2013-12-03 15:13 Leon#0534 阅读(2681) 评论(0) 推荐(2)
摘要:以例子来说明 我要用testbench lpf_direct_tb.v 来测试文件lpf_direct.v 命令行方式和图形界面两种方式都可以 1 映射库 .在编译源文件之前,创建一个库存放编译的结果. vlib lpf_direct_tb 把库映射到工作目录 vmap work lpf_direct_tb 2编译设计文件 vlog lpf_direct.v lpf_di... 阅读全文
posted @ 2013-11-27 01:42 Leon#0534 阅读(589) 评论(0) 推荐(2)
摘要:推荐阅读1 介绍该接收机主要使用了PLL模块,通过相位比较使输出 与输入频率相关。2结构该接收机由一个PLL加一个低通滤波器组成,结构如Fig1:2.1鉴相器鉴相器输出输入信号和NCO的相位差,这个模块使用了一个乘法器。输入信号 是一个调频信号,可表示如下PLL可以使NCO产生 一个和输入信号相同频率的输出正弦信号检波器输出是两个信号的乘积,用三角函数展开为是鉴相器的增益.式3中的第一项是高频分量,第二项是两信号的相位差.用一个低通滤波器涉除高频成分,就可以得到相位差.鉴相器的结构如图Fig2.输入1为调频信号fmin,输入2是NCO的输出,都是8位补码。使用一个单位延时来同步。乘法器的输出是 阅读全文
posted @ 2013-11-25 01:29 Leon#0534 阅读(1886) 评论(1) 推荐(3)
摘要:1 创建Tcl scipt文件 1.1建立新工程 project –new 1.2添加源文件 add_file –verilog 或 add_file –vhdl 1.3 综合控制命令设置目标器件、设计速度目标等。调用symbolic FSM complier及其它option设置。 set_option 1.4供应商提供的指令 vendor—specific 1.5添加约束文件 ad... 阅读全文
posted @ 2013-11-24 21:18 Leon#0534 阅读(1548) 评论(0) 推荐(1)
摘要:booth乘法节省面积、速度较移位相加速度也更快。 一个例子:14乘以-5,乘数和被乘数都用5bit补码表示,结果有10bit表示。 14的补码:01110, -5的补码11011 ,正确结果为-70:11 1011 1010 使用一个状态机实现这个乘法,IDLE下初始化等待数据输入,再进行加法和移 阅读全文
posted @ 2013-11-24 16:28 Leon#0534 阅读(1990) 评论(2) 推荐(3)
摘要:近来一个项目中用到MAC层实现大数据量高速传输,移植使用了MAC IP核,并分析学习。MAC 位于数据链路层,向下将帧数据发送给物理层,MAC实现802.3标准。 以太网和802.3 标准都 使用了CSMA/CD的技术,可以随时接入网络。在发送前,对网络进行监听确定是否被占用。如果在占用则等待一段时间后重新监听,否则立即发送数据。当两个发送方同时监听一个网络的空闲状态时会产生冲突,这时双方的传输都会受影响,backoff算法再等待一段时间还发送。 以太网和802.3都是广播形式的,数据虽然有目的地址,但会经常每一个节点,收到数据后根据目的地址选择丢弃还是处理后送上一层处理。帧格式:帧开始是1. 阅读全文
posted @ 2013-11-23 01:33 Leon#0534 阅读(757) 评论(0) 推荐(0)
摘要:声明:本部分代码非原创,作者系电子科技大学电科院李浩老师,仅加少许注释。如有不妥,请告之。 要求是给出雷达天线的船首信号bz脉冲此时表示天线方向角对准船首位置,我们需要此时产生的方位角为0,一个bp信号,用以计算此时的方位角。由于天线的方向性问题可以产生的bp信号不能满足要求,需要在其中均匀的插入脉冲信号。其中azimuth_pulse为处理后的脉冲信号,azimuth为此脉冲的方向角。 首先... 阅读全文
posted @ 2013-11-20 23:14 Leon#0534 阅读(1559) 评论(0) 推荐(1)
摘要:假设一个信号中混合200KHz和15MHz的信号 ,设计一个低通滤波器滤波高频分量。 MATLAB仿真 采样率为50Mhz,使用Matlab设计滤波器 这个7阶的滤波器得其8位量化的系数: 4 28 46 61 61 46 28 4。 Matlab仿真文件: 1验证上面得到的滤波器 2量化后的滤波器 阅读全文
posted @ 2013-11-11 14:24 Leon#0534 阅读(4186) 评论(7) 推荐(2)
摘要:一个Pipelined结构 16极流水线 代码如下。但是有错误在pi/2相位整数倍点多了一个毛刺 。 还请各位指正 谢谢 代码如下: 1: 2: module cordic (clk,rst_n,ena,phase_in,sin_out,cos_out,eps); 3: 4: parameter D 阅读全文
posted @ 2013-10-30 09:06 Leon#0534 阅读(670) 评论(1) 推荐(0)
摘要:CORDIC算法实现极坐标(polar)到直角坐标系(Cartesian)的变换。 1: function [horizonal,vertical]=polar2car(mag, pha); 2: x =mag; 3: y =0; 4: z=pha; 5: d=0; 6: i=0; 7: k = 0.6073; %K 增益 8: x = k*x; 9: while i=c d = 1; 13: else d = -1; 14: end 15: x =xNew-y*d*(2^(-i)); 16: ... 阅读全文
posted @ 2013-10-25 11:38 Leon#0534 阅读(632) 评论(0) 推荐(0)
摘要:CORDIC算法的来历与用途大家网上随处可以见到,这里写 一下自己的理解。将P(x,y)旋转角度a得到新的坐标P’(x’,y’)。这里的坐标变换为:x’= x cos(a) – y sin(a) = cos(a)(x-y *tan(a))y’= y cos(a) + xsin(a) = cos(a)(y+x*tan(a))旋转角度a为常数时,如果tan(a)=2-i ,即可用移位代替乘法便于快速高效在FPGA中实现。每次都旋转固定角度delta, 则cos(delta)=cos(arctan(2-i)).而从而得到简便计算如下:atan(2^-i)的结果是预先计算好存储下来了K­i= 阅读全文
posted @ 2013-10-24 18:58 Leon#0534 阅读(1582) 评论(0) 推荐(0)
摘要:较上次的仿真,这次我们增加了FFT计算的长度到64点,使用MATLAB产生波形的64采样点的值存储在单口ROM中,观察仿真结果。 一Matlab 生成*.coe文件的方法(借用他人的方法) x=0:1:63;%64个点,此处点数改变,波形数据点数改变 Y=round(299*sin(2*pi*x/3 阅读全文
posted @ 2012-04-03 23:30 Leon#0534 阅读(570) 评论(0) 推荐(0)
摘要:第一次使用Xilinx 的FFT的IP core。没有太多的资料和实例可以学习,只有一个软件自带的文档xfft_ds260,而且是英文的,看了很长时间受益不大。然后决定一边用一边再学习,就自己建立了一个工程实验。 这个IP核可以选择多种结构的,什么基4的,基2,基lite,pipelined.str 阅读全文
posted @ 2012-04-02 23:28 Leon#0534 阅读(1143) 评论(0) 推荐(0)

我的新博客

专注天线学习,欢迎交流 yangli0534@gmail.com - 创建于 2010年

我永远是茫茫EE领域的一名小学生。