最新日志

发表于:2008-5-11 17:26:46
标签:无标签

1

fpgaJTAG原理 学习

fpgaJTAG原理  学习笔记。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(185)
发表于:2008-5-11 16:44:08
标签:无标签

0

布局布线注意(对应fpga内部)

个人观点,仅供参考。原创

点击此处查看原文 >>

系统分类: 电子制造   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(46)
发表于:2008-5-11 16:32:31
标签:无标签

0

触发GRAY计数器的系统性能的提升方法

触发GRAY计数器的系统性能的提升方法,试验过的。原创。点击下载

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(194)
发表于:2008-5-11 16:28:39
标签:无标签

0

UTOPIA1 接口介绍季程序解析

点击下载项目用的UTOPIA1 接口介绍季程序解析(原创)

点击此处查看原文 >>

系统分类: 通信网络   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(60)
发表于:2008-5-11 16:12:31
标签:无标签

0

开发SDH芯片有关

docdoc开发SDH芯片有关。型号5358

仅供参考。APS模式的硬件配置和电压注意相关

点击此处查看原文 >>

系统分类: 通信网络   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(52)
发表于:2008-5-11 16:10:10
标签:无标签

1

fpga时序报告分析笔记

点击下载时序报告分析笔记。

供参考。哈

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类: 无分类    |    来源: 原创

评论(1) | 阅读(68)
发表于:2008-5-11 16:02:38
标签:无标签

0

dci

关于dci,供点击下载参考

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(30)
发表于:2008-1-7 23:18:36
标签:无标签

0

VHDL的package使用(有疑惑)

package的作用就是 程序包首的说明语句可收集多个VHDL设计所需的公共信息。弄了好久才勉强的能够

---在一个文件中,两者顺序严格这样,否则出现找不到“类型”提示-------

-------这是对package的声明-------------

library IEEE;
use IEEE.STD_LOGIC_1164.all;

package mcu_package is
  type command_type is (MOVE,ADD,SUB,MUL,CJE,LOAD,READ0,NOP);
  type register_type is (reg0,reg1,reg2,reg3,reg4,reg5,reg6,reg7,reg8,reg9,reg10,reg11,reg12,reg13,reg14,reg15);
  type array_size is array (0 to 15) of std_logic_vector(31 downto 0);
  constant ZERO   : std_logic_vector (31 downto 0) := (others =>'0');
end mcu_package;

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
library work;    -------重新声明
use work.mcu_package.all;   -------重新声明

这样声明后才不会出现不认“类型”的状况。有点怪!!!不知道为什么???

点击此处查看原文 >>

系统分类: 汽车电子   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(434)
发表于:2007-12-26 22:06:32
标签:FPGA  

0

1:1占空比的3分频的编写

         
难度蛮大的奥。编写中。。。。

搞定一个版本的(原创):用6个(外加一个)实现,3个用上升沿,3个用下降沿触发(VHDL是通过反相clk,然后上升沿有效)开始赋值“001100”(不能用“000100”)然后每个clk的跳变沿循环左移一位。3个时钟周期循环左移6次,每移三次,clk1_3反相。从而得到。但是中间由于存在组合逻辑,故占空比不能达到严格的1:1.布线FPGAxilinx器件,仿真结果15.8:14.2(周期10ns)还是有一定差距的。

entity fre_div is
    Port ( clk : in  STD_LOGIC;
           rst : in  STD_LOGIC;
     q0_o,q1_o,q2_o,q3_o,q4_o,q5_o :out std_logic;
     clk180_o: out std_logic;
     change3_2_o: out std_logic;
           clk1_3 : out  STD_LOGIC);
end fre_div;

architecture Behavioral of fre_div is
signal d0,d1,d2,d3,d4,d5 :std_logic;
signal q0,q1,q2,q3,q4,q5 :std_logic;
signal change3_2,clk0,clk180:std_logic;
begin
clk180<= not clk0;
clk0<=clk;
q0_o<=q0;
q1_o<=q1;
q2_o<=q2;
q3_o<=q3;
q4_o<=q4;
q5_o<=q5;
clk180_o<=clk180;
change3_2_o<=change3_2;
 
process(rst,q0,q1,q2,q3,q4,q5)
begin
    if rst='1' then
     d0<='0';
   d1<='0';
   d2<='1';
   d3<='1';
   d4<='0';
   d5<='0';
  else
    d0<=q5;
  d1<=q0;
  d2<=q1;
  d3<=q2;
  d4<=q3;
  d5<=q4;
  end if;
end process;

process(clk0)
begin
 if (clk0'event and clk0='1')  then 
     q0<=d0;
   q2<=d2;
   q4<=d4;

end if;
end process; 

process(clk180)
begin
 if (clk180'event and clk180='1') then
   q1<=d1;
   q3<=d3;
   q5<=d5;
 end if;
end process;

change3_2<=(( d5) and (not d4) and (not d3) and (not d2) and (not d1) and ( d0))
 or ((not d5) and (not d4) and ( d3) and ( d2) and (not d1) and (not d0));

process(change3_2)
begin
   if (change3_2'event and change3_2='1') then
   clk1_3<= not clk1_3;
  end if;
end process;

end Behavioral;

改进措施:在synplify中加入retiming选项,效果明显好转。15.1:14.9(布局布线原因很大)

仿真结果:

欢迎切磋!

感谢ostrich1983 的补充,他的方案,跟家的简洁,易懂。自己的是从数字电路设计的角度编写的。而ostrich1983 的方案设计的层次更高,,仿真了下,占空比基本上也是14.9:15.1。

下面是ostrich1983 方案的综合:

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类: 无分类    |    来源: 原创

评论(3) | 阅读(509)
发表于:2007-12-26 14:44:02
标签:无标签

0

高速时钟线的处理

2 时钟线的处理
2.1)
建议先走时钟线。
2.2)
频率大于等于66M的时钟线,每条过孔数不要超过2个,平均不得超过1.5个。
2.3)频率小于66M的时钟线,每条过孔数不要超过3个,平均不得超过2.5
2.4)
长度超过12inch的时钟线,如果频率大于20M,过孔数不得超过2个。
2.5)
如果时钟线有过孔,在过孔的相邻位置,在第二层(地层)和第三层(电源层)之间加一个旁路电容、如图2.5-1所示,以确保时钟线换层后,参考层(相邻层)的高频电流的回路连续。旁路电容所在的电源层必须是过孔穿过的电源层,并尽可能地靠近过孔,旁路电容与过孔的间距最大不超过300MIL。图2.5-1过孔处的旁路电容
2.6)
所有时钟线原则上不可以穿岛。下面列举了穿岛的四种情形。
2.6.1)
跨岛出现在电源岛与电源岛之间。此时时钟线在第四层的背面走线,第三层(电源层)有两个电源岛,且第四层的走线必须跨过这两个岛,如图2.6-1所示。
2.6.2)
跨岛出现在电源岛与地岛之间。此时时钟线在第四层的背面走线,第三层(电源层)的一个电源岛中间有一块地岛,且第四层的走线必须跨过这两个岛。如图2.6-2所示。
2.6.3)
跨岛出现在地岛与地层之间。此时时钟线在第一层走线,第二层(地层)的中间有一块地岛,且第一层的走线必须跨过地岛,相当于地线被中断。如图2.6-3所示。
2.6.4)
时钟线下面没有铺铜。若条件限制实在做不到不穿岛,保证频率大于等于66M的时钟线不穿岛,频率小于66M的时钟线若穿岛,必须加一个去耦电容形成镜像通路。以图6.1为例,在两个电源岛之间并靠近跨岛的时钟线,放置一个0.1UF的电容。
2.7)
当面临两个过孔和一次穿岛的取舍时,选一次穿岛。
2.8)
时钟线要远离I/O一侧板边500MIL以上,并且不要和I/O线并行走,若实在做不到,时钟线与I/O口线间距要大于50MIL
2.9)时钟线走在第四层时,时钟线的参考层(电源平面)应尽量为时钟供电的那个电源面上,以其他电源面为参考的时钟越少越好,另外,频率大于等于66M的时钟线参考电源面必须为3.3V电源平面。
2.10)
时钟线打线时线间距要大于25MIL
2.11)
时钟线打线时进去的线和出去的线应该尽量远。尽量避免类似图A和图C所示的打线方式,采用类似图B和图D的打线方式,若时钟线需换层,避免采用图E的打线方式,采用图F的打线方式。
2.12)
时钟线连接BGA等器件时,若时钟线换层,尽量避免采用图G的走线形式,过孔不要在BGA下面走,最好采用图H的走线形式。
2.13) 注意各个时钟信号,不要忽略任何一个时钟,包括AUDIO CODECAC_BITCLK,尤其注意的是FS3-FS0,虽然说从名称上看不是时钟,但实际上跑的是时钟,要加以注意。
2.14) Clock Chip
上拉下拉电阻尽量靠近Clock Chip

 

 

36、对于全数字信号的 PCB,板上有一个 80MHz 的钟源。除了采用丝网(接地)外,为了保证有足够的驱动能力,还应该采用什么样的电路进行保护?

确保时钟的驱动能力,不应该通过保护实现,一般采用时钟驱动芯片。一般担心时钟驱动能力,是因为多个时钟负载造成。采用时钟驱动芯片,将一个时钟信号变成几个,采用点到点的连接。选择驱动芯片,除了保证与负载基本匹配,信号沿满足要求(一般时钟为沿有效信号),在计算系统时序时,要算上时钟在驱动芯片内时延。

1.       在实际设计中建议使用实体地和电源层,避免电源和地被分割,这种分割可能导致复杂的电流环路。电流环路越大辐射也越大,所以必须避免任何信号尤其是时钟信号在分割地上布线。 2.将时钟驱动器布局在电路板中心位置而不是电路板外围。将时钟驱动器放置在电路板外围会增加磁偶极矩(magnetic dipole moment) 3.为了进一步降低顶层时钟信号线的EMI,最好是在时钟线两侧并行布上地线。当然,更好将时钟信号布在地层与电源层之间的内部信号层上。 4.时钟信号使用4mil8mil的布线宽度,由于窄的信号线更容易增加高频信号衰减,并降低信号线之间的电容性耦合。 5.由于直角布线会增加布线电容并增加阻抗的不连续性,从而导致信号劣化,所以应该尽量避免直角布线和T型布线。 6.尽量满足阻抗匹配。绝大多数情况下,阻抗不匹配会引起反射,而且信号完整性也主要取决于阻抗匹配。 7.时钟信号布线不能并行走得太长,否则会产生串扰从而导致EMI增大。

 

(13) 时钟、总线、片选信号要远离I/O线和接插件

 

时钟电路之EMC设计

 时钟电路在数字电路中占有重要地位,同时时钟电路也是产生电磁辐射的主要来源。一个具有2ns上升沿的时钟信号辐射能量的带宽可达160MHz,其可能辐射带宽可达十倍频,即1.6GHz。因此,设计好时钟电路是保证达到整机辐射指标的关键。时钟电路设计主要的问题有如下几个方面。

1    阻抗控制:计算各种由印制板线条构成的微带线和微带波导的波阻抗、相移常数、衰减常数等等。许多设计手册都可以查到一些典型结构的波阻抗和衰减常数。特殊结构的微带线和微带波导的参数需要用计算电磁学的方法求解。

2    传输延迟和阻抗匹配:由印制线条的相移常数计算时钟脉冲受到的延迟,当延迟达到一定数值时,就要进行阻抗匹配以免发生终端反射使时钟信号抖动或发生过冲。阻抗匹配方法有串联电阻、并联电阻、戴维南网络、RC 网络、二极管阵等。

3    印制线条上接入较多容性负载的影响:接在印制线条上的容性负载对线条的波阻抗有较大的影响。特别是对总线结构的电路容性负载的影响往往是要考虑的关键因素。

表达传输线可以采用三种方式:

a、 用传输波阻抗(Z0)和传输时延(td)两个参数描述传输线。

b、 用传输波阻抗和(与波长有关的)规一化长度描述传输线。

c、 用单位长度的电感、电容和印制线的物理长度来描述传输线。

在印制板设计中经常采用第一种方式描述由印制线条构成的传输线。此时,传输时延的大小决定了印制线条是否需要采取阻抗控制的措施;当线条上有很多电容性负载时,线条的传输时延将会增大,与原来的传输时延有如下的关系,为不考虑容性负载时的线条传输时延,C0 为不考虑容性负载时的线条分布电容,lm为无匹配的最大印制线条长度。还有许多其它时钟电路设计问题,如时钟区与其它功能区的隔离,同层板中时钟线条屏蔽等问题。

时钟电路电磁兼容设计技巧

A    首先要进行恰当的布线,布线层应安排与整块金属平面相邻。这样的安排是为了产生通量对消作用。

B    其次,时钟电路和高频电路是主要的干扰和辐射源一定要单独安排、远离敏感电路。

C    选择恰当的器件是设计成功的重要因素,特别在选择逻辑器件时,尽量选上升时间比五纳秒长的器件,决不要选比电路要求时序快的逻辑器件。EDA中国门户网站-qS!lW,@G

D    层间跳线应当最小

3和图4的情况分别说明两种情况,图3表示的是好的和比较好的时钟布线的层间跳线安排。图4的情形是不允许的情形。

 

3:比较好的时钟布线的层间跳线安排

4:不允许的时钟布线的层问跳线安排

E    时钟布线的转接安排

时钟布线经连接器输出时,连接器上的插针要在时钟线插针周围布满接地插针,如图5所示。

5:时钟线插针在连接器上的安排

F    时钟输出布线时不要采用向多个部件直接串行地连接〔称为菊花式连接〕;而应该经缓存器分别向其它多个部件直接提供时钟信号。

  逻辑电路的使用

对在线路设计中所使用的逻辑集成电路的建议是:

凡是能不用高速逻辑电路的地方就不要用高速逻辑电路。

G0•注意在IC近端的电源和地之间加旁路去耦电容(一般为104)。

s0•注意长线传输过程中的波形畸变。

RS触发器作设备控制按钮与设备电子线路之间配合的缓冲。

 

 

  隔离敏感信号 
       
有些敏感信号(如高频时钟) 对噪声干扰特别敏感,对它们要采取高等级隔离措施。高频时钟(20MHZ以上的时钟,或翻转时间小于5ns的时钟)必须有地线护送,时钟线宽至少10mil,护送地线线宽至少20mil,高频信号线的保护地线两端必须由过孔与地层良好接触,而且每5cm 打过孔与地层连接;时钟发送侧必须串接一个22Ω220Ω的阻尼电阻。可避免由这些线带来的信号噪声所产生的干扰。

 

时钟晶体振荡器的外壳最 ...

1.        高速信号线、时钟线采用走线屏蔽规则。把高速的时钟线用地线包住。适用范围:在两层或者四层板上,由于PCB的板层的限制导致高速时钟的回流路径不良,在这种情况下使用该条屏蔽规则会取得比较好的效果。

随着信号上升沿时间的减小,信号频率的提高,电子产品的EMI问题,也来越受到电子工程师的关注。
高速PCB设计的成功,对EMI的贡献越来越受到重视,几乎60%的EMI问题可以通过高速PCB来控制解决。

规则一:高速信号走线屏蔽规则

如上图所示:
在高速的PCB设计中,时钟等关键的高速信号线,走需要进行屏蔽处理,如果没有屏蔽或只屏蔽了部分,都是会造成EMI的泄漏。
建议屏蔽线,每1000mil,打孔接地。

规则二:高速信号的走线闭环规则
由于PCB板的密度越来越高,很多PCB LAYOUT工程师在走线的过程中,很容易出现这种失误,如下图所示:

时钟信号等高速信号网络,在多层的PCB走线的时候产生了闭环的结果,这样的闭环结果将产生环形天线,增加EMI的辐射强度。

规则三:高速信号的走线开环规则
规则二提到高速信号的闭环会造成EMI辐射,同样的开环同样会造成EMI辐射,如下图所示:

时钟信号等高速信号网络,在多层的PCB走线的时候产生了开环的结果,这样的开环结果将产生线形天线,增加EMI的辐射强度。在设计中我们也要避免。

规则四:高速信号的特性阻抗连续规则
高速信号,在层与层之间切换的时候必须保证特性阻抗的连续,否则会增加EMI的辐射,如下图:

也就是:同层的布线的宽度必须连续,不同层的走线阻抗必须连续。

规则五:高速PCB设计的布线方向规则
相邻两层间的走线必须遵循垂直走线的原则,否则会造成线间的串扰,增加EMI辐射,如下图:

相邻的布线层遵循横平竖垂的布线方向,垂直的布线可以抑制线间的串扰。

规则六:高速PCB设计中的拓扑结构规则
在高速PCB设计中有两个最为重要的内容,就是线路板特性阻抗的控制和多负载情况下的拓扑结构的设计。在高速的情况下,可以说拓扑结构的是否合理直接决定,产品的成功还是失败。

如上图所示,就是我们经常用到的菊花链式拓扑结构。这种拓扑结构一般用于几Mhz的情况下为益。高速的拓扑结构我们建议使用后端的星形对称结构。

规则七:走线长度的谐振规则

检查信号线的长度和信号的频率是否构成谐振,即当布线长度为信号波长14的时候的整数倍时,此布线将产生谐振,而谐振就会辐射电磁波,产生干扰。

规则八:回流路径规则

所有的高速信号必须有良好的回流路径。近可能的保证时钟等高速信号的回流路径最小。否则会极大的增加辐射,并且辐射的大小和信号路径和回流路径所包围的面积成正比。

规则九:器件的退耦电容摆放规则
<