2011年2月9日

基于FPGA的等精度测频方法

摘要: 1、多周期等精度测频的时序预置闸门时间产生电路产生预置闸门时间TP,TP经同步电路产生与被测信号(fx)同步的实际闸门时间T。主门Ⅰ与主门Ⅱ在时间T内被同时打开,计数器Ⅰ和Ⅱ分别对 fx和 f0 进行计数。2、实现1. 闸门信号与被测信号同步2. 在闸门信号与被测信号的同步下降沿锁存计数值3、Verilog硬件描述语言[代码]4、综合后逻辑电路工程文件:/Files/lwpo2008/mesureFreq.rar 阅读全文

posted @ 2011-02-09 22:16 fpga_hjh 阅读(6538) 评论(0) 推荐(0) 编辑

FPGA/PLD 中毛刺问题

摘要: 和可靠性有关的几个概念  建立时间和保持时间 图1建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间, 如果保持时间不够,数据同样不能被打入触发器。 如图1。 数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时间的值可以为零。 PLD/FPGA开发软件可以自动计算两个相关输入的建立和保持时间(如图2) 竞争和冒险几乎所有关于数字电路的教材,都会提到数字电路中的竞争和冒险问题,但是这个问题 阅读全文

posted @ 2011-02-09 22:11 fpga_hjh 阅读(1163) 评论(0) 推荐(0) 编辑

在verilog设计中实例化VHDL单元

摘要: 在verilog设计中实例化VHDL单元。如果是实例化一个VHDL实体,首先声明一个与你要实例化的VHDL实体同名的module名字,形成一个一般的verilog实例。只有一个实例化的VHDL结构在verilog中构建,没有其他的VHDL结构在verilog中可见。当如此做时,XST使用entity和architecture对作为verilog或VHDL的边界。XST在verilog设计中实例化VHDL单元时有以下限制:1.外部端口联接必须使用。也就是说,通常的有效的端口名字必须在端口映射表中定义。2.所有的parameter必须在实例化时传输,即使他们没有变化。3.所有的参数通过名字关联而非 阅读全文

posted @ 2011-02-09 22:06 fpga_hjh 阅读(1046) 评论(0) 推荐(0) 编辑

一种基于ARM-Linux的FPGA程序加载方法

摘要: 摘要:本文实现了一种基于 ARM-Linux的 FPGA程序加载方法,详细讨论了加载过程中各个阶段程序对配置管脚的操作,给出了硬件实现,编写了运行于 ARM处理器的嵌入式 Linux上的驱动程序。 1、引言  FPGA在系统上电时,需要从外部载入所要运行的程序,此过程被称为程序加载。多数情况下,FPGA从外部专用的 EPROM读入程序。这种方式速度慢,而且只能加载固定的程序。显然,当系统需要容量大而且 FPGA要加载的程序可以根据需要有选择的加载时不能采用这种方法。本文实现了一种基于外部处理器的加载方法,速度快,而且可以根据设置给FPGA加载相应的程序。  对于 Xilinx公司的 FPGA芯 阅读全文

posted @ 2011-02-09 22:03 fpga_hjh 阅读(1533) 评论(0) 推荐(0) 编辑

时钟使能电路的设计

摘要: 时钟使能电路是同步设计的重要基本电路,在很多设计中,虽然内部不同模块的处理速度不同,但是由于这些时钟是同源的,可以将它们转化为单一的时钟电路处理。在FPGA的设计中,分频时钟和源时钟的skew不容易控制,难以保证分频时钟和源时钟同相。故此推荐采用使用时钟使能的方法,通过使用时钟使能可以避免时钟“满天飞”的情况,进而避免了不必要的亚稳态发生,在降低设计复杂度的同时也提高了设计的可靠性。   我们可以利用带有使能端的D触发器来实现时钟使能的功能。在上图中clk1x是CLK的四分频后产生的时钟,clk1x_en是与clk1x同频的时钟使能信号,用clk1x_e 阅读全文

posted @ 2011-02-09 22:01 fpga_hjh 阅读(2029) 评论(1) 推荐(1) 编辑

UART通信实验-------深入浅出玩转FPGA(转)

摘要: UART通信实验-------深入浅出玩转FPGA(转)[代码][代码][代码][代码] 阅读全文

posted @ 2011-02-09 22:00 fpga_hjh 阅读(1075) 评论(0) 推荐(1) 编辑

RST_n的问题

摘要: 有一个灰常郁闷的问题。。。module CLK_Generater( input CLOCK_100, input RST_n, input Key, output reg [3:0] CLK_DivChoose, );reg [19:0] count; //Delay_10msreg CLK_100Hz; //100HZ(10ms)时钟信reg [2:0] state; //状态标志 reg [16:0] cnt;reg [17:0] Div_cnt; always @(posedge CLOCK_100 or negedge RST_n)begin if(!RST_n) begin 阅读全文

posted @ 2011-02-09 21:54 fpga_hjh 阅读(1660) 评论(0) 推荐(0) 编辑

全局时钟--复位设计

摘要: 首先,感谢特权和Master eBoy对我的影响……参考:http://blog.ednchina.com/yuchen576/57388/message.aspx在暑假的时候编写“逻辑分析仪”的时候,纠结过这个问题,因为系统大了,就会有稳定的问题,那时候一知半解,云里雾里……如今,在设计一个摄像头(CPU,SDRAM,SRAM,ADV7120)的系统时候,老是发现系统不稳定的问题,于是再次回到了起点:“异步复位、同步复位”的问题&am 阅读全文

posted @ 2011-02-09 21:52 fpga_hjh 阅读(990) 评论(0) 推荐(1) 编辑

FPGA/CPLD状态机稳定性研究

摘要: 摘要 在FPGA/CPLD设计中频繁使用的状态机,常出现一些稳定性问题,本文提出了一些解决方法,实验表明该方法有效地提高了综合效率.   随着大规模和超大规模FPGA/CPLD器件的诞生和发展,以HDL(硬件描述语言)为工具、FPGA/CPLD器件为载体的EDA技术的应用越来越广泛.从小型电子系统到大规模SOC(Systemonachip)设计,已经无处不在.在FPGA/CPLD设计中,状态机是最典型、应用最广泛的时序电路模块,如何设计一个稳定可靠的状态机是我们必须面对的问题.1、状态机的特点和常见问题 标准状态机分为摩尔(Moore)状态机和米立(Mealy)状态机两类.Moore状态机的输 阅读全文

posted @ 2011-02-09 21:49 fpga_hjh 阅读(791) 评论(0) 推荐(0) 编辑

FPGA 状态机(FSM)的三段式推荐写法

摘要: 用一段式建模FSM 的寄存器输出的时候,必须要综合考虑现态在何种状态转移条件下会进入哪些次态,然后在每个现态的case 分支下分别描述每个次态的输出,这显然不符合思维习惯;而三段式建模描述FSM 的状态机输出时,只需指定case 敏感表为次态寄存器,然后直接在每个次态的case 分支中描述该状态的输出即可,根本不用考虑状态转移条件。本例的FSM 很简单,如果设计的FSM 相对复杂,三段式的描述优势就会凸显出来。另一方面,三段式描述方法与两段式描述相比,虽然代码结构复杂了一些,但是换来的优势是使FSM 做到了同步寄存器输出,消除了组合逻辑输出的不稳定与毛刺的隐患,而且更利于时序路径分组,一般来说 阅读全文

posted @ 2011-02-09 21:46 fpga_hjh 阅读(1541) 评论(0) 推荐(0) 编辑

导航