2013年8月26日

基于Verilog语言的可维护性设计技术

摘要: 【注】本文内容主体部分直接翻译参考文献[1]较多内容,因此本文不用于任何商业目的,也不会发表在任何学术刊物上,仅供实验室内部交流和IC设计爱好者交流之用。“曲意而使人喜,不若直节而使人忌;无善而致人誉,不如无恶而致人毁”——《菜根谭》【摘要】本文以VerilogHDL为例,从可重用性、代码可扩展性、可读性、变量本地化、参数(parameter)和宏(`define)的对比以及封装子程序的角度探讨了可维护性设计应遵守的几条基本原则。【关键词】设计重用;可维护性设计;本地化;参数;宏前言随着集成电路制造技术的发展,对设计提出了更多的挑战,随着设计复杂度的增加,又提出了片上系统(SoC)的概念。为了 阅读全文

posted @ 2013-08-26 21:16 略过天涯 阅读(698) 评论(0) 推荐(1) 编辑

影响FPGA设计中时钟因素的探讨。。。转

摘要: http://www.fpga.com.cn/advance/skill/speed.htmhttp://www.fpga.com.cn/advance/skill/design_skill3.htm时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错;因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义。1.1 建立时间与保持时间 建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数. 阅读全文

posted @ 2013-08-26 20:34 略过天涯 阅读(523) 评论(0) 推荐(1) 编辑

FPGA设计中的电源管理(转载)

摘要: 过去,FPGA设计者主要关心时序和面积使用率问题。但随着FPGA不断取代ASSP和ASIC器件,设计者们现正期望能够开发低功耗设计,在设计流程早期就能对功耗进行正确估算,以及管理和对与FPGA相关的各种内部电压及I/O电压排序。电源管理已成为FPGA设计者的一个重要考虑因素,特别是在设计便携式、电池供电的产品时。通过功率监控设计技术能够减少功耗、增强可靠性、降低生产成本,并减少对电源和冷却的要求。设计者可能会面临的与FPGA电源相关的主要问题如下:系统级电源要求是什么?将要消耗多少电流?要求多大的电压水平以及上电和断电问题?器件的温度条件如何,在该设计给定的温度环境下器件能否可靠地工作?在电路 阅读全文

posted @ 2013-08-26 20:32 略过天涯 阅读(1179) 评论(0) 推荐(0) 编辑

巧用FPGA中资源

摘要: 随着FPGA的广泛应用,所含的资源也越来越丰富,从基本的逻辑单元、DSP资源和RAM块,甚至CPU硬核都能集成在一块芯片中。在做FPGA设计时,如果针对FPGA中资源进行HDL代码编写,对设计的资源利用和时序都有益。下面主要讲解一下如何巧用FPGA中资源:1.移位寄存器 FPGA中的移位寄存器使用在前面的博文中有所论述,Xilinx FPGA中的LUT可以作为SRL使用,主要可参考此博文《Xilinx 7系列FPGA使用之CLB探索》,在此想补充论述一下SRL的延时,首先看一下如下代码,实现了一个19级的移位寄存器。 1 module srl_test( 2 input clk, 3... 阅读全文

posted @ 2013-08-26 20:25 略过天涯 阅读(5961) 评论(0) 推荐(1) 编辑

FPGA design flow

摘要: FPGA engineering process usually involves the following stages:Architecture design. This stage involves analysis of the project requirements, problem decomposition and functional simulation (if applicable). The output of this stage is a document which describes the future device architecture, struct 阅读全文

posted @ 2013-08-26 19:58 略过天涯 阅读(710) 评论(0) 推荐(0) 编辑

LVDS原理及设计指南

摘要: LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平衡电缆上以 几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。 IEEE 在两个标准中对LVDS 信号进行了定义。ANSI/TIA/E IA -644 中,推荐最大速率为 655Mbps ,理论极限速率为1.923Mbps一、LVDS组成 LVDS 信号传输一般由三部分组成:差分信号发送器,差分信号互联器,差分信号接收器。 差分信号发送器:将非平衡传输的TTL 信号转换成平衡传输的LVDS 信号。差分信号接收器:将平衡传输的LVDS 信号转换成非平衡传输的TTL 信号。差分信号互联... 阅读全文

posted @ 2013-08-26 19:51 略过天涯 阅读(1413) 评论(0) 推荐(0) 编辑

什么叫软核,固核,硬核?

摘要: IP核模块有行为、结构和物理三级不同程度的设计,对应描述功能行为的不同分为三类,即软核(Soft IP Core)、完成结构描述的固核(Firm IP Core)和基于物理描述并经过工艺验证的硬核(Hard IP Core)。 (1)什么是软核? IP软核通常是用HDL文本形式提交给用户,它经过RTL级设计优化和功能验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路级设计网表,并可以进行后续的结构设计,具有很大的灵活性,借助于EDA综合工具可以很容易地与其他外部逻辑电路合成一体,根据各种不同半导体工艺,设计成具有不同性能的器件。软IP内核也称为虚拟组件(VC... 阅读全文

posted @ 2013-08-26 19:45 略过天涯 阅读(1597) 评论(0) 推荐(0) 编辑

“杜拉拉思维模式”之六:小组面试提升术

摘要: “杜拉拉思维模式”之六:小组面试提升术编者按:杜拉拉生存法对处在职业围墙外的大学生们发现了这样一种实现梦想的小说模式;有人戏称它是女版“奋斗”。看到小组里面有人对它说:“梦想带来的, 是贫贱残忍的现实,也是充裕的热烈幻想。”谁都不知结局如何,让我们随着这些HiAll求职帮的思维训练,面朝前方无限期待;并且也要看好脚下,走好每一 步。 ------------------------------------- 无领导小组讨论就是大家俗称的小组面试,主要考察个人的交际与合作(Relationship Skill & Team Spirits),以及建立在此之上的个人性格与能力(Indivi 阅读全文

posted @ 2013-08-26 19:43 略过天涯 阅读(315) 评论(0) 推荐(0) 编辑

硬件工程师电路设计必须紧记的十大要点

摘要: 一、电源是系统的血脉,要舍得成本,这对产品的稳定性和通过各种认证是非常有好处的。1.尽量采用∏型滤波,增加10uH电感,每个芯片电源管脚要接104旁路电容;2.采用压敏电阻或瞬态二极管,抑制浪涌;3.模电和数电地分开,大电流和小电流地回路分开,采用磁珠或零欧电阻隔开;4.设计要留有余量,避免电源芯片过热,攻耗达到额定值的50%要用散热片。二、输入IO记得要上拉;三、输出IO记得核算驱动能力;四、高速IO,布线过长采用33殴电阻抑制反射;五、各芯片之间电平匹配;六、开关器件是否需要避免晶体管开关时的过冲特性;七、单板有可测试电路,能独立完成功能测试;八、要有重要信号测试点和接地点;九、版本标识; 阅读全文

posted @ 2013-08-26 19:38 略过天涯 阅读(232) 评论(0) 推荐(0) 编辑

面试的“群殴”宝典

摘要: 群殴,也叫做无领导小组面试,是如今很多大公司招聘MT、销售类、市场类职位的首选面试方式,其特点是一次面试的人多,比较适合于海面,节省HR的时间。 从群殴中,在要展示给HR的是你综合能力和素质,比如说领导能力、分析问题能力、沟通表达能力、团队合作能力、专业知识运用能力、情绪控制能力和反应能力等。 由于较常采用,群殴成为很多人的槛!而我个人在Siemens、AVON、GE、华为这四家公司的群殴中都顺利突围,算是积累了一定的经验。在招工过程中,有很多同学和朋友向我请教如何通过群殴,我也是一而再再而三的和他们讲述,为了让大家不再谈群殴色变, 下面就群殴的主要类型及其分析方法、技巧做简单探讨。一、... 阅读全文

posted @ 2013-08-26 19:37 略过天涯 阅读(335) 评论(0) 推荐(0) 编辑

三段式状态机 [CPLD/FPGA]

摘要: 状态机的组成其实比较简单,要素大致有三个:输入,输出,还有状态。 状态机描述时关键是要描述清楚前面提高的几个状态机的要素,即如何进行状态转移;每个状态的输出是什么;状态转移是否和输入条件相关等。 有人习惯将整个状态机写到一个always模块里面,在该模块中同时描述了状态转移,又描述状态的输入和输出。这种写法一般被称为一段式FSM描述方法; 还有一种写法是用2个always模块,其中一个always模块采用同步时序描述状态转移;另一个采用组合逻辑判断状态转移描述状态转移规律,这种写法 被称为两段式FSM描述;还有一种是在两段式基础之上发展出来的,这种写法使用3个always模块,一个always 阅读全文

posted @ 2013-08-26 19:35 略过天涯 阅读(836) 评论(0) 推荐(1) 编辑

有限状态机的三种写法及优缺点

摘要: 状态机描述时关键是要描述清楚前面提到的几个状态机的要素,即如何进行状态转移;每个状态的输出是什么;状态转移是否和输入条件相关等。具体描述时方法各种各样,有的设计者习惯将整个状态机写到1 个always 模块里面,在该模块中即描述状态转移,又描述状态的输入和输出,这种写法一般被称为一段式FSM 描述方法;还有一种写法是将用2 个always 模块,其中一个always 模块采用同步时序描述状态转移;另一个模块采用组合逻辑判断状态转移条件,描述状态转移规律,这种写法被称为两段式FSM 描述方法;还有一种写法是在两段式描述方法基础上发展出来的,这种写法使用3 个always 模块,一个always模 阅读全文

posted @ 2013-08-26 19:34 略过天涯 阅读(5770) 评论(0) 推荐(2) 编辑

数字信号处理C语言集(1.1 随机数的产生)

摘要: main.cpp所建工程文件如下图所示uniform.h#ifndef _UNIFORM_H_ #define _UNIFORM_H_ double uniform(double a,double b, long int *seed); #endifuniform.cpp#include "uniform.h" #include "stdio.h"#define Lamda 2045 #define Miu 1 #define M 1048576double uniform(double a, double b, long int *seed) { do 阅读全文

posted @ 2013-08-26 19:30 略过天涯 阅读(398) 评论(0) 推荐(0) 编辑

10010序列检测器的三段式状态机实现(verilog)

摘要: 序列检测器是时序数字电路设计中经典的教学范例,夏宇闻的《verilog数字系统设计教程》一书中有这个例子,用verilog设计一个“10010”序列的检测器。看完后我觉得F和G两个状态多余了,并且刚学了三段式状态机的写法,所以改写了这个程序,代码如下: 1 module seqdet(nrst,clk,x,z); 2 input nrst,clk; 3 input x; 4 output z; 5 reg z; 6 7 reg [4:0]CS,NS; 8 parameter [4:0] 9 IDLE=5'b00000,10 ... 阅读全文

posted @ 2013-08-26 19:28 略过天涯 阅读(2839) 评论(0) 推荐(1) 编辑

脉冲边沿检测的实现

摘要: module edge_detect(clk, rst_n, trig_in, pose_detect, nege_detect);input clk; //输入时钟input rst_n; //复位信号input trig_in; //输入,待检测的边沿脉冲output pose_detect;//输出,上升沿检测output nege_detect;//输出,下降沿检测reg trig_r0, trig_r1, trig_r2;always @(posedge cl... 阅读全文

posted @ 2013-08-26 19:27 略过天涯 阅读(576) 评论(0) 推荐(1) 编辑

优化时序之补全if else

摘要: 时序优化中重要的一项就是提高模块的最高工作频率,工作频率由关键路径决定,通常的提高工作频率的步骤是:利用时序分析工具找到关键路径,分析关键路径主要延迟是布线延迟还是逻辑延迟,然后轮番十八般武器,如果是逻辑延迟过大就用逻辑切割,插入D触发器,如果布线延迟太长,则复制触发器,减小负载等等,按部就班后,有时可以明显改善,但很多时候由于设计需求所限不能插入触发器,或是面积受限无法复制触发器,这些程式化的优化方法收效就甚微了,此时,该怎么办呢?马克思爷爷曾经说过:“世上任何事物都不是孤立的,而是相互联系的,相互制约,相互作用”。受此启发,我们所看到的关键路径,并不是单单由关键路径上的逻辑决定的,而是由工 阅读全文

posted @ 2013-08-26 19:23 略过天涯 阅读(1841) 评论(0) 推荐(2) 编辑

三段式状态机的思维陷阱

摘要: 用三段式描述状态机的好处,国内外各位大牛都已经说的很多了,大致可归为以下三点:1.将组合逻辑和时序逻辑分开,利于综合器分析优化和程序维护;2.更符合设计的思维习惯;3.代码少,比一段式状态机更简洁。对于第一点,我非常认可,后两点在Clifford E. Cummings著的(Synthesizable Finite State Machine Design Techniques Using the New SystemVerilog 3.0 Enhancements和The Fundamentals of Efficient Synthesizable Finite State Machine 阅读全文

posted @ 2013-08-26 19:22 略过天涯 阅读(834) 评论(0) 推荐(2) 编辑

导航