- 博客(56)
- 收藏
- 关注
原创 Windows Live Writer Test
刚装了Windows Live Writer,测试一下!刚装了Windows Live Writer,测试一下!刚装了Windows Live Writer,测试一下!刚装了Windows Live Writer,测试一下!刚装了Windows Live Writer,测试一下!
2010-04-20 21:16:00
701
原创 source insight设置头文件
source insight 工程中只有本工程的c文件和头文件,当include 本工程之外的头文件的时候就无法轻松查看(按住Ctrl,鼠标单击程序中的这个头文件名)这个头文件的内容了。这些头文件一般都是在某编译器安装目录下,并且使用频繁,如果不能像本工程的文件查看那样方便就不太爽了。怎么解决呢?鼓捣半天后得到这个办法:source insight有一个BASE工程,这个工程是一个
2010-03-29 20:46:00
4018
转载 参数化模块库(LPM)的使用
LPM(Library Parameterized Modules)即参数化的宏功能模块库。应用这些功能模块库可以大大提高IC设计的效率。LPM标准在1990年被推出,1993年4月,LPM作为电子设计交换格式(EDIF)的附属标准,纳入了电子工业协会(EIA)的临时标准。在MAX+PLUS II 和 Quartus II中调用LPM库函数非常方便,用户既可以在图形输入法中直接调用,也可以
2009-10-12 10:27:00
16805
原创 SCPI(Standard Commands for Programmable Instruments)
Standard Commands for Programmable Instruments The Standard Commands for Programmable Instruments (SCPI) (often pronounced "skippy") defines a standard set of commands to control programmable test
2009-10-11 10:22:00
2635
转载 干接点(干节点)和湿接点(湿节点)的定义、使用场合和调理方法
干接点好像是俗称,但是,实际上,在工业控制领域中,已经是一个标准的名词了。 干接点的定义:无源开关;具有闭合和断开的2种状态;2个接点之间没有极性,可以互换;常见的干接点信号有:1、各种开关如:限位开关、行程开关、脚踏开关、旋转开关、温度开关、液位开关等;2、各种按键;3、各种传感器的输出,如:环境动力监控中的传感器:水浸传感器、火灾报警传感器、玻璃破碎、振动、烟雾和凝
2009-10-09 15:28:00
42248
原创 存储类
存储类:C为变量提供了5种不同的存储类,还有基于指针的第6种存储类。不同的存储类提供了变量的作用域、链接和存储时期的不同组合。作用域:描述了程序中可以访问的一个标识符的一个或多个区域。一个C变量的作用域可以是代码块作用域(code scope)、函数原型作用域(function prototype scope),或者文件作用域(file scope)。一个代码块是包含在开始花括号和结束
2009-10-06 18:24:00
966
原创 集成电路的电平参数
VOL表示电路输出低电平时允许的最高电平;VIL表示电路输入低电平时允许的最高电平;VOH表示电路输出高电平时允许的最低电平;VIH表示电路输入高电平时允许的最低电平; Vth称为阈值电平,是进行粗略估计用的。当大于它,就认为是高电平;反之,则为低电平。
2009-09-26 19:04:00
1288
原创 一个简单的2选1数据选择器的测试平台(Testbench)
`include "mux2.v" module t; reg ain, bin, sel; reg clk; wire outw;initial // 把寄存器变量初始化为确定值 begin ain = 0; bin = 0; sel = 0; clk = 0; endalways #50 clk = ~clk; // 产生一个不断
2009-09-14 14:17:00
11719
1
原创 Verilog HDL仿真激励的产生
一、变量初始化变量初始化的基本原则为:可综合代码中完成内部变量的初始化,Testbench中完成可综合代码所需的各类接口信号的初始化。初始化的方法有两种:一种是通过initial语句块初始化;另一种是在定义时直接初始化。当initial语句块中有多条语句时,需要用begin…end或者fork…join语句。直接初始化,如:reg [7:0] cnt = 8b00000000
2009-09-13 19:48:00
23484
2
原创 Verilog HDL语言的用户自定义元件
Verilog HDL语言提供了一种扩展基元的方法,允许用户自己定义元件(User Defined Primitives,UDP)。通过UDP,可以把一块组合逻辑电路或时序逻辑电路封装在一个UDP内,并把这个UDP作为一个基本门元件来使用。需要注意的是,UDP是不能综合的,只能用来仿真。 1、定义UDP的语法: primitive 元件名(输出端口名, 输入端口名1, 输入端口名2,…)
2009-09-13 18:05:00
2864
原创 Verilog HDL常用的行为仿真描述语句(六)
六、串行激励与并行激励语句 begin…end语句用于启动串行激励,fork…join语句用于启动并行激励。 fork…join语句语法格式如下: fork : 时间控制1 行为语句1; … 时间控制n 行为语句n; join 其中,fork…join块内被赋值的语句必须为寄存器型变量。其主要特点如下: 并行块内语句是同时开
2009-09-13 16:47:00
1886
原创 Verilog HDL常用的行为仿真描述语句(五)
五、task和function语句task语句和function语句可以将固定操作封装起来,配合延时控制语句,可精确模拟大多数常用的功能模块。 例:timescale 1ns / 1psmodule tb_tri; parameter bsize = 8; parameter clk_period = 2; parameter cac_delay = 6;
2009-09-13 16:13:00
1669
原创 Verilog HDL常用的行为仿真描述语句(四)
四、事件控制语句在仿真程序中,可以通过“@(事件表达式)”来完成单次事件的触发。分电平触发和信号跳变沿(posedge上升沿和negedge下降沿)触发两大类。
2009-09-13 15:58:00
1612
原创 Verilog HDL常用的行为仿真描述语句(三)
三、wait语句wait语句是一种不可综合的电平触发事件控制语句,有如下两种形式: wait(条件表达式) 语句/语句块;wait(条件表达式);对于第一种形式,语句块可以是串行块(begin…end)或并行块(fork…join)。当逻辑表达式为“真”时,语句块立即得到执行;否则,暂停进程并等待,直到逻辑表达式变为“真”,再开始执行。对于第二种形式,当仿真执行
2009-09-13 15:50:00
12433
原创 Verilog HDL常用的行为仿真描述语句(二)
二、force和release语句 force/release语句用来跨越进程对一个寄存器或一个电路网络进行赋值。 force语句可为寄存器类型和线网类型变量强制赋值。 当应用于寄存器变量时,寄存器当前值被force覆盖;当release语句应用于寄存器变量时,寄存器当前值将保持不变,知道重新赋值。 当force语句应用于线网变量时,数值立即被force覆盖;当relea
2009-09-13 15:24:00
5064
原创 Verilog HDL常用的行为仿真描述语句(一)
一、循环语句1、forever语句forever语句必须写在initial模块中,主要用于产生周期性波形。2、利用for、while循环语句完成遍历for、while语句常用于完成遍历测试。当设计代码包含了多个工作模式,那么就需要对各个模式都进行遍历测试。其典型的应用模板如下:parameter mode_num = 5;initial begin
2009-09-13 14:40:00
6702
原创 Verilog HDL中的延迟控制语句
延迟语句用于对各条语句的执行时间进行控制,从而快速满足用户时序的要求。 Verilog HDL语言中延时控制的语法格式有两类: # 行为语句; #; 其中,“#”是延迟控制的关键字符,可以是直接指定的延迟时间量,并以多少个仿真时间单位的形式给出。延迟时间可以是常量数字,也可以是表达式或变量。
2009-09-13 14:06:00
10573
1
原创 Verilog HDL的Testbench简介
Testbench模块没有输入输出,在Testbench模块内例化待测设计的顶层模块,并把测试行为的代码封装在内,直接对测试系统提供测试激励。下面是一个基本的Testbench结构模块: module testbench; // 数据类型声明 // 对被测试模块实例化 // 产生测试激励 // 对输出响应进行收集 endmodu
2009-09-13 09:57:00
9379
原创 Verilog HDL的编译预处理语句
一、宏定义define语句 包括宏定义指令包括:define和undef。 声明语法格式:define 在代码中的应用格式:macro_name 和parameter的区别: 作用域不同:parameter作用于声明的那个文件。而define的作用范围从编译器读到define语句开始,到undef语句结束。可以超过单个文件的
2009-09-11 17:09:00
10093
1
原创 Verilog HDL的任务和函数
Technorati 标签: FPGA,CPLD,Verilog HDL 任务和函数只能实现组合逻辑,而对时序逻辑无能为力。 一、任务 任务就是一段封装在“task…endtask”之间的程序。任务可以彼此调用,而且任务内还可以调用函数。 1、任务定义 形式如下: task task_id; // 任务名 [declaration]
2009-09-11 15:35:00
6093
原创 Verilog HDL运算符
一、逻辑运算符:&&:逻辑与; ||:逻辑或; !:逻辑非。 二、关系运算符:==:逻辑相等; !=:逻辑不等; ===:全等; !==:不全等。 "==="和"!=="可以比较含有x和z的操作数,在模块的功能仿真中有着广泛的应用。三、位运算符:~:非; &:与; |:或; ^:异或; ^~:同或。 四
2009-09-10 22:19:00
38420
1
原创 Verilog HDL数据类型
Verilog HDL的数据类型分为两大类:线网类型和寄存器类型。线网类型主要表示Verilog HDL中结构化元件之间的物理连线,其数值由驱动元件决定。如果没有驱动元件接到线网上,则其默认值为高阻z。寄存器类型主要表示数据的存储单元,其默认值为不定x。二者最大的区别在于:寄存器类型数据保持最后一次的赋值,而线网类型数据则需要持续的驱动。 一、线网类型:wire:标准连线(默认为该
2009-09-10 22:06:00
12812
原创 关于FPGA/CPLD的VCCINT与VCCIO
VCCINT:Supply voltage for internal logic and input buffers,即为内部逻辑电路和输入缓冲提供电压。VCCIO:Supply voltage for output buffers,即为输出缓冲提供电压。 一般说来,VCCINT为1.2V,而VCCIO有3.3、2.5、1.8、1.5几种。
2009-09-10 15:45:00
5919
转载 Cyclone II 器件的外部存储器接口
在新的以及现有的FPGA市场上,Cyclone? II器件扩展了FPGA在低成本、大批量应用领域的角色。FPGA如今不再仅限于外围应用,可以在系统中执行很多关键性处理任务。随着FPGA越来越多地应用于系统的数据路径,当系统存储需求超过片内丰富的存储器资源时,FPGA必须具有和外部存储器件的接口。 Altera基于成功的Cyclone器件系列,通过和业界领先的存储器供应商合作,确保了用户能够将最
2009-09-10 15:11:00
3590
原创 基于FPGA/CPLD应用设计的23点经验总结——关于VHDL代码风格
摘自《FPGA/CPLD应用设计200例》 对所有的信号名、变量名和端口名都用小写,对常量名和由用户定义的类型用大写。 使用有意义的信号名、变量名、端口名和参数名。 信号名长度不要太长,力求简洁明了。 对于时钟信号使用clk作为信号名或信号名的前缀(当设计中存在多个时钟时)。 对来自同一驱动源的信号,在不同的子模块中采用相同的名字。这要求在芯片总体设计时就定
2009-09-09 16:04:00
1614
原创 FPGA芯片配置方式详解与选择
广义的来说,FPGA的配置包括直接使用下载电缆对FPGA器件进行编程、对外部EEPROM和FLASH进行编程、使用MPU对FPGA器件进行编程、外部EEPROM和FLASH对器件进行编程等。 FPGA器件配置方式分三大类:主动配置、被动配置和JTAG配置。 主动配置:由FPGA器件引导配置操作过程。被动配置:由计算机或控制器控制配置过程。上电后,控制器件或主控器把存储在外部存储
2009-09-09 14:03:00
7258
转载 怎样理解阻抗匹配?
阻抗匹配是指信号源或者传输线跟负载之间的一种合适的搭配方式。阻抗匹配分为低频和高频两种情况讨论。 我们先从直流电压源驱动一个负载入手。由于实际的电压源,总是有内阻的(请参看输出阻抗一问),我们可以把一个实际电压源,等效成一个理想的电压源跟一个电阻r串联的模型。假设负载电阻为R,电源电动势为U,内阻为r,那么我们可以计算出流过电阻R的电流为:I=U/(
2009-09-09 09:14:00
986
原创 常用电路定理
叠加定理:在线性电路中,任一支路的电流(或电压)都可以看成是电路中每一个独立电源单独作用于电路时,在该支路产生的电流(或电压)的代数和。戴维南定理:任何含有独立源、线性电阻以及受端口内部参量控制的受控源,都可以用一个电压源和一个线性电阻的串联支路来替代。诺顿定理:任何含有独立源、线性电阻以及受端口内部参量控制的受控源,都可以用一个电流源和一个线性电阻的并联支路来替代。特勒根定理:对
2009-09-09 08:53:00
2127
原创 数模转换器静态特性参数
一、分辨率数模转换器的分辨率定义为转换器的输出量(电压或电流)可能被离散的数目。N位二进制输入的数模转换器的分辨率为2N。 二、精度数模转换器的精度是指对给定的数字输入,其模拟量输出的实际值和理想值之间的最大偏差。分为绝对精度和相对精度两种。在不对失调误差调零和不校正输出满量程值的条件下测得的精度为绝对精度,是失调误差、增益误差、线性误差和噪声等累加的结果。器件手册中一
2009-09-03 18:47:00
2064
原创 如何根据项目选择FPGA/CPLD器件
一、CPLD还是FPGAFPGA适合完成时序逻辑,CPLD适合完成各种算法和组合逻辑;CPLD的时序延时是均匀的和可预测的,而FPGA的布线结构决定了其延时的不可预测性;FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现;CPLD无需外部存储器芯片,而FPGA的编程信息需存放在外部存储器上,使用方法复杂;CPLD保密性比FPGA强;一般情况下,CPLD的功耗要
2009-09-02 18:37:00
2722
转载 FPGA与CPLD的区别
转自:http://tvb2058.spaces.eepw.com.cn/articles/article/item/15358 尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:①CPLD更适合完成各种算法和组合逻辑,FP GA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而
2009-08-26 18:53:00
1145
原创 集成电路封装形式介绍
SIP:单列直插式封装。该类型的引脚在芯片单侧排列,引脚节距等特征与DIP基本相同。ZIP:Z型引脚直插式封装。该类型的引脚也在芯片单侧排列,只是引脚比SIP粗短些,节距等特征也与DIP基本相同。S-DIP:收缩双列直插式封装。该类型的引脚在芯片两侧排列,引脚节距为1.778 mm,芯片集成度高于DIP。SK-DIP:窄型双列直插式封装。除了芯片的宽度是DIP的1/2以外,其它特征与D
2009-08-20 10:34:00
2783
原创 IIC总线
I2C协议是一种二线的串行总线协议。最新的I2C规范,数据传输率可达3.4Mbps,且提供10位寻址。常见的设备都可以与I2C总线接口,包括EPROM、FLASH存储器、看门狗计数器和单片机等。 I2C总线由两条导线构成,数据导线称为串行数据线(SDA),时钟导线称为串行时钟线(SCL)。连接到总线上的设备称为执行设备,分两类:主执行设备和从执行设备。它们都可以是数据的发送器和接收器,但是
2009-07-27 11:01:00
3227
1
原创 ARM链接器(一):链接的一般概念
ARM链接器可以把编译(或汇编)生成的多个目标文件和所需要的多个库文件链接在一起,生成可执行的ELF格式的输出文件。在链接过程中,如果在链接器的输入文件中同时包含ARM代码和Thumb代码,链接器可以自动为实现不同代码之间的链接生成一个veneer文件。该文件用来帮助目标处理器实现两种不同状态之间的转换,并可以实现长跳转。链接器还可以为指令代码段和或数据段指定在目标存储器中的位置。1
2009-07-26 20:21:00
4522
3
原创 BootLoader中PLL的初始化代码分析
PLL、CLK分类S3C2410 CPU默认的工作主频为12MHz,使用PLL电路可以产生更高的主频供CPU及外围器件使用。S3C2410有两个PLL:MPLL和UPLL,UPLL专用与USB设备。MPLL用于CPU及其他外围器件。通过MPLL会产生三个部分的时钟频率:FCLK、HCLK、PLCK。FCLK用于CPU核,HCLK用于AHB总线的设备(比如SDRAM),PCLK用于A
2009-07-25 19:32:00
4146
原创 Don't know how to make "cardserv.lib" 的解决办法
cardserv.lib,从字面意思就可以看出,是PC Card相关的库文件,在编译PCMCIA驱动的时候用到。 很多开发板的BSP里没有放这个文件,本文后面我会提供。 将下载得到的cardserv.lib拷贝到%_WINCEROOT/PUBLIC/COMMON/OAK/LIB/ARMV4I/RETAIL下面,编译就可以通过了。 cardserv.lib下载地址:ht
2009-07-24 17:48:00
793
原创 JTAG接口电路
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、测试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。 标准的JTAG接口是4线:TMS、TCK、TDI、TDO。通过JTAG接口可以
2009-07-23 16:26:00
5424
原创 Boot.bib与config.bib
.bib文件是用来指导WinCE的编译系统产生可执行二进制文件的,其中使用的地址都是虚拟地址。BOOT.BIB先来看boot.bib。boot.bib用来设置Eboot程序中的虚拟内存分配。 ;******************************************************************************; TITLE:
2009-07-21 10:07:00
1536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人