数字集成电路设计实现分析

上传人:无*** 文档编号:101342871 上传时间:2022-06-04 格式:DOC 页数:37 大小:1.27MB
收藏 版权申诉 举报 下载
数字集成电路设计实现分析_第1页
第1页 / 共37页
数字集成电路设计实现分析_第2页
第2页 / 共37页
数字集成电路设计实现分析_第3页
第3页 / 共37页
资源描述:

《数字集成电路设计实现分析》由会员分享,可在线阅读,更多相关《数字集成电路设计实现分析(37页珍藏版)》请在装配图网上搜索。

1、-数字集成电路设计与实现1.绪论2.根本流程2.1 代码编写2.2 功能验证2.3 逻辑综合2.4 静态时序分析2.5 物理综合3.设计技术3.1 RTL代码3.2数据通道设计3.3 状态机设计3.4 系统设计4.验证技术4.1 测试平台5.逻辑综合技术5.1 标准单元库5.2 设计约束6.物理综合技术第1章 绪论1.1 数字集成电路的特点数字电路通常是由简单的单元电路构成的规模庞大的系统,表达了简单性与复杂性的对立统一。根本的数字单元电路,如各种逻辑门电路和触发器、锁存器等,其电路构造比拟简单,且实现的逻辑功能与其中晶体管尺寸无关。数字电路的性能指标相对较少,主要包括速度、功耗、面积三个方面

2、,设计思路比拟简单。但是,一个数字电路系统通常是非常复杂的,可能包含数百万个根本逻辑单元,其逻辑功能也需要有其它领域的知识才能理解。具有存储功能的数字逻辑单元,其输入信号和控制信号需要满足一定的时序关系才能正确实现逻辑功能。在到达一定规模后,各个单元电路的时序要求很难同时满足。制造工艺的进步,对数字电路性能提高作用显著。同样的设计,用特征尺寸更小的工艺实现,各方面都性能会有很大提高。因此,数字电路设计需要有较好的可移植性或重用性,以适应制造工艺的开展。数字电路的这些特点,决定了其设计技术的开展方向。1.2 现代数字电路设计方法在早期的集成电路设计中,数字电路与模拟电路的设计方法没有什么区别,都

3、是全定制设计。全定制设计是一种晶体管级的设计,任何电路都要描述为由晶体管构成的电路网络。由于晶体管与幅员之间具有明确的对应关系,这种设计方法的实现步骤相对较少,对EDA工具的依赖程度相对较低。在全定制设计问题中,设计者可以任意确定每个单元电路的构造和其中晶体管的尺寸,理论上讲,能够实现最优化的电路性能。由于具有较高的灵活性和设计自由度,全定制设计至今仍是模拟电路和规模较小的混合信号电路的设计方法。但是,对于规模庞大的数字电路来说,这种设计方法不仅设计工作量大,而且对电路的时序关系验证也十分困难,对于规模到达百万、千万晶体管的电路,完全采用全定制设计是不现实的。现代数字集成电路设计方法来自对传统

4、设计方法的总结和对计算机软件技术的引入。在对电路性能的要求没有到达工艺极限时,不需要对每个单元电路都进展特殊设计,可先设计出各种根本单元电路cell,包括原理图和幅员,形成一个标准单元库,再利用库中的cell实现复杂的逻辑关系。这种方法使得自动化设计成为可能。即使在全定制设计中,对电路功能的描述也是层次化的,而不是直接描述为晶体管网络。有了标准单元库,一个电路就可以理解为由标准单元构成的网表,也就是说描述级别由晶体管级提升到了门级。复杂的电路在门级仍然难以看出逻辑功能,需要更高级别的描述。一个复杂的数字电路系统可以理解为由假设干个具有典型逻辑功能的模块和一个控制电路组成的,常见的模块包括存放器

5、、计数器、算术和逻辑运算单元和存储器等。控制电路是一个有限状态机,在时钟的作用下,状态机根据当前的状态和输入信号不断地进展状态转换,同时产生输出信号,控制各个逻辑模块工作。这种级别的描述称为架构级,是最重要的设计级别。最高级别的描述是系统级,在这个级别,一般只定义系统的功能、外部接口和其中主要功能模块。最低级别的描述是幅员,幅员实际上就是一组几何图形,根据幅员可以生成光刻版。一个设计实际上总是要从系统级开场考虑,然后是架构级、门级、晶体管级,最后是幅员级。在传统的设计流程中,可验证的设计描述是从晶体管级开场的,用晶体管构成逻辑门,再由逻辑门构成功能模块,最后连接成系统。全部设计工作都要由设计者

6、来完成,尽管也使用EDA工具,但这些工具只是代替了纸、笔和计算器,不能自动生成任何东西。计算机技术的开展,使得从高级别的描述自动生成低级别的描述成为可能,这个过程与从高级语言编写的程序生成机器码的过程相似。用电路图描述复杂电路是很困难的,也很难被计算机理解,于是产生了硬件描述语言。硬件描述语言具有很强的描述能力,一段几百行的代码,有时可以代替几百图纸。硬件描述语言诞生之初是为了保存设计或进展功能仿真,用于生成电路是后来的事。硬件描述语言也存在级别的概念,分为行为级、存放器传输级RTL级、门级、晶体管级等。幅员的细节很难用语言描述,目前还不能自动生成,因此在所谓的自动化设计流程中,标准单元库中的

7、根本单元的幅员还是手工设计的。在现代的ASIC设计方法中,标准单元库是由芯片制造厂提供的,设计者只需要用硬件描述语言写出对电路功能的描述,再用EDA工具的脚本语言,写出对电路性能的要求,大局部工作将由EDA工具实现。这种方法极提高了设计速度,也提高了设计的重用性。本文主要介绍这种设计方法,按业界习惯说法,简称为ASIC设计方法。ASIC设计方法可以归纳为两局部工作,即设计和实现。设计指描述和验证电路功能,这局部工作需要由设计者完成。另一局部工作是实现的流程,在这局部工作中,设计者的任务是将对电路性能的要求,按EDA工具规定的形式,提供应EDA工具,用EDA工具自动生成基于cell的电路网表、幅

8、员和各种性能报告,最后确定设计的交付。用EDA工具自动实现的设计工作称为综合,从硬件描述语言得到由cell网表的工作称为逻辑综合,由cell网表自动生成幅员的工作称为物理综合。设计过程的主要任务是给出可综合的描述,并验证其逻辑功能的正确性。对于复杂的设计,电路功能需要通过多个级别的描述来完成。数字电路设计分为系统级、架构级、存放器传输级RTL、门级和晶体管级等。所谓级别包括两方面含义,一是设计者对电路的认识,二是允许使用的描述方法。系统级设计的任务主要是定义电路的功能和外部特性,设计者只需要将电路为假设干个抽象的功能模块,并将各个功能模块的逻辑功能定义清楚即可。架构级设计要具体一些,在这个级别

9、,电路要描述成相互连接的假设干个典型逻辑部件和控制其数据传输的状态机。典型逻辑部件包括计数器、存放器、算术运算单元等,又称为数据通道Data path,状态机则是一个设计中具有特殊性的局部,它控制数据通道的工作。以上两种描述,描述方法没有什么限制,将问题说清楚即可。存放器传输级的描述是ASIC设计中最重要的描述,必须使用硬件描述语言完成。所谓存放器传输级描述是基于这样一种认识,即任何数字电路,无论功能如何,都是由存放器和存放器之间的组合逻辑电路实现的,存放器用来保存数据,组合电路用于传输数据。RTL代码必须保证可综合性,只能使用硬件描述语言中的局部描述语句。从RTL代码中应可隐约看出电路构造,

10、又不要写得过于具体。细化到逻辑门和触发器的代码并不好,因为从RTL描述到cell的转换是逻辑综合工具的任务,人为 写到cell一级不仅降低了代码的可读性,也不利于优化。在ASIC设计中,门级和晶体管级电路是由EDA工具生成的,设计者的任务是给出功能正确的RTL级代码。验证RTL代码的正确性需要编写验证代码,这局部代码称为测试平台Testbench。Testbench用于给RTL代码输入信号和判断输出的正确性,也要用硬件描述语言编写,但与RTL代码不同,这局部代码不需要生成电路,对语言的使用没有限制。1.3 硬件描述语言硬件描述语言HDL是一种用于描述电路功能的语言,具有与计算机编程语言类似的语

11、法,看起来与C语言等计算机编程语言很相似,但两者有本质区别。硬件描述语言编写的代码是对电路的描述,而不是程序。程序是指令的序列,是有执行次序的,而电路则不存在执行次序的概念。实际上,HDL语言与SPICE语言属于同一类型,但抽象级别较高。在进展仿真分析,SPICE更准确,但速度太慢,不适合用于大规模电路。HDL代码的仿真速度要快得多,但只能反映逻辑功能和延迟,无法提供全面信息,也不如SPICE准确。常用的硬件描述语言有VHDL,Verilog,SystemC等,这些硬件描述语言各有特点。每一种硬件描述语言都支持多个抽象级别的描述,支持级别有所不同。System C主要用于系统级建模和功能验证。

12、VHDL和Verilog都支持RTL级描述,但VHDL侧重更高级别描述,语法复杂。Verilog主要支持RTL和RTL以下级别,语法与C语言十分相似,应用最为广泛。1.4 设计与实现流程在IC设计领域,设计流程有两层含义,一是指一般意义的设计流程,强调的是设计步骤和各个步骤的关系,但不具体确定各个步骤的所使用的EDA工具。二是具体的设计流程,例如*个公司的设计的特有设计流程,这种流程对EDA工具也有明确要求。图1-1 简化的设计流程图1-1是一般意义的简化设计流程。设计流程并不是直线进展的,往往需要屡次迭代,主要是解决时序收敛问题。本文将前端的前3个环节称为设计过程,而将以后的环节称为实现过程

13、。(1) 编写设计规格书编写设计规格书SPEC是最重要设计环节,它实际上包含了系统级和架构级两局部设计容。SPEC中包括电路功能定义,芯片制造工艺和标准单元库选择,对最高时钟频率、输入输出时序、功耗、面积等性能方面的要求,以及对工作电压围、环境温度、静电防护ESD、可测性等方面的要求等。此外,电路的根本架构一般也要在这个阶段确定。SPRC就是技术文档,一般采用文字、框图、状态机、时序图等表示。大型的电路设计需要一个设计队伍来完成,在这个队伍中,每个人只负责一个环节或一个环节的一局部。SPEC是协调整个设计队伍的依据。2编写RTL代码根据Specification,用硬件描述语言编写可综合的代码

14、。工具:文本编辑器,如UltraEdit32,ActiveHDL等。(2) RTL仿真编写测试平台TestBench,给出输入信号,验证RTL代码与SPEC的一致性。常用的工具有:ModelsimWindows、VCSUni*,Linu*等。(3) 逻辑综合ASIC:利用综合工具将RTL代码转换为门级网表。门级网表中的根本元件包括触发器、逻辑门和缓冲器Buffer等称为cell,由流片厂家Foundry以库的方式提供,门级网表就是cell和连接关系的集合。常用综合工具是Synopsys的DCDesign piler。规模较大的设计需要考虑可测性设计DFT,Design For Test问题,低

15、功耗设计需要进展功耗优化,如时钟门控、操作数隔离等,可使用Synopsys的Power piler进展功耗优化。4布线前的静态时序分析STA和门级仿真。静态时序分析是根据门延迟和设计约束,通过计算分析设计是否满足时序要求。主要工具是Synopsys的PTPrimeTime。门级仿真是用门级网表代替RTL代码,利用与RTL仿真一样的Testbench,重新进展功能验证。主要使用Synopsys的VCS。也可以使用Modelsim。布线前的静态时序分析和动态仿真中,cell的延迟是比拟根本准确的,但时钟通常使用理想时钟,连线延迟不考虑。因此,在这个阶段,只能说明设计是有可能实现的,允许有一些时序上

16、的violation存在,需要在提取布线信息后解决。(5) 布局布线根据门级网表和流片厂家的库文件,利用工具自动完成电路的幅员设计并进展设计规则和电气规则校验。可以使用Synopsys的Astro或Cadence的Encounter进展幅员设计。(6) 参数提取参数提取e*tract就是从幅员中提取实际的延迟信息和各种寄生参数,可采用Synopsys的Star-rc*t提取。(7) 布线后的静态时序分析STA和门级仿真把从幅员中提取实际的延迟信息假设到网表中,重新进展STA和动态仿真,如果能够通过,则可交付流片Tapeout。否则需返回6进展修正,如仍无法解决,需返回4甚至返回2。第2章 根本

17、流程2.1 概述本章以一个简单例子对数字电路的ASIC设计流程进展展示,目的是使读者迅速了解设计过程的全貌,明确学习目标。2.2 编写RTL代码2.1.1 设计要求本例要求设计一个4位二进制的计数器,输入输出引脚定义如图2-1所示。具体功能要求如下:(1) 正常工作状态下按二进制方式计数,时钟clk上沿计数。(2) 采用异步复位模式,复位信号rst高有效。(3) 具有同步预置功能,预置ld输入为1时,时钟上沿后,计数器输出q等于预置输入d。(4) 计数可由使能端控制,使能en信号为1时,可计数,使能为0时,停顿计数。(5) 计数值到达1111时,进位输出信号co为1。 主要性能要求为,在负载电

18、容为5PF,最高输入延迟为时钟频率的20%时,最高时钟频率可到达100MHz。要求写出Verilog代码,验证功能的正确性,并用一个标准单元库进展逻辑综合和物理综合,最终得到该电路模块的幅员。图2-1 计数器2.1.2 编写设计代码根据设计要求,编写设计代码如下:/-/ Design unit : E*ample 1 for Digital IC design and impletation/ File name : counter.v/ System : Verilog 1993/ Author : *in*iaoNing/ Revision : Version 1.0 2/24/2005/

19、-timescale 1ns/1psmodule counter(rst , clk , ld , en , d , q , co );/-/ data type definitions./- input rst; / system reset signal,active high input clk; / system clock signal.input ld; / signal for load d to q.input en; / count enable signal.input3:0 d; / data input to counter.output3:0 q; / counter

20、 outputs.output co; / carray signal./-reg3:0 q;reg co;/-always (posedge clk or posedge rst)begin if(rst = 1b1) q = 4b0000; else if(ld = 1b1) q = d; else if(en = 1b1) q = q + 1b1;end/-always (q)begin if(q = 4b1111) co = 1b1; else co = 1b0;end/- END -endmodule这是一个典型的RTL代码,从这个例子中可以看出Verilog语言的根本语法构造,现对

21、主要容进展总结。(1) Verilog代码的根本单位是模块,以保存字module开场,以endmodule完毕。(2) 紧跟module的是模块名称,这里是counter。(3) 模块名称后的括号中的容是输入、输出端口名称,以逗号分隔;右括号后要有;。(4) 代码的主体分为两局部,即信号声明局部和信号赋值局部。(5) 信号声明局部包括端口信号声明和部信号声明。端口信号要声明其方向和位宽。方向分为input、output和inout等3种,位宽以n:0的格式声明。(6) 部信号分为reg和wire两种类型;实际的存放器信号必须用reg声明,但reg类型的信号并不一定对应或生成存放器。凡以alwa

22、ys方式赋值的信号都要声明为reg类型。(7) 时序电路局部,即包含存放器,又时钟控制的电路,描述方式为always (posedge clk or posedge rst)begin ;end其特征是使用了posedge上沿或negedge下沿关键字来描述信号变化的条件。其含义为,只有用edge声名的输入信号,发生规定方向的变化时,该赋值语句块部的信号才可能发生变化。(8) 组合逻辑局部的描述方法为always (q)begin if(q = 4b1111) co = 1b1; else co = 1b0;end特征是不使用posedge或negedge,即任何时刻,当输入信号变化时,输出都

23、有可能发生变化。(9) 两个always语句之间没有执行次序问题,它们都是对电路的描述。(10) / 后写是注释。(11) timescale是定义时间单位和精度,这里定义根本单位为1ns,分辨到1ps,即在仿真时,时间可有3位小数。此外,还需注意Verilog语言是区分大写和小写的,所有保存字都需要小写。以上是设计代码局部,要验证设计局部正确性,需要另外编写一段testbench代码,因为设计代码的输入信号必须从外部提供。学习HDL的关键在于要始终考虑所描述的电路,写的是代码,想的是电路。2.1.3 编写验证代码与设计代码不同,验证代码不需要综合出电路,对语言的使用没有限制。为了更方便地生成

24、各种鼓励信号,验证代码可以写得抽象一些。在验证代码中,可以使用一些类似程序的编写方法,如使用任务、函数、循环和数据文件等。在Verilog中,使用#表示时间的变化,例如#1表示时间走过一个根本单位。仿真工具默认的时间单位是1ns,可以使用timescale语句来修改。Testbench也是一个模块,但没有输入输出端口。/-/ Design unit : testbench of counter/ File name : counter_tb.v/ System : Verilog 1993/ Author : *in*iaoNing/ Revision : Version 1.0 2/24/2

25、005/-timescale 1ns/1psmodule testbench();/-/ Signals for mapping Testting module/-reg rst,clk,ld,en;reg 3:0 di;wire co;wire 3:0 qo;/- ponent under test -counter UUT(.rst(rst) , .clk(clk) , .ld(ld) , .en(en) , .d(di) , .q(qo) , .co(co);/-task half_pulse;inout clock; #10 clock = clock;endtask/-task pu

26、lse;input7:0 num;integer i; for(i=0;i $DC_WORK_DIR/rpt/setup_time.rptreport_timing -delay min $DC_WORK_DIR/rpt/hold_time.rpt# 生成Verilog格式的cell网表文件write -format verilog -hier -o $DC_WORK_DIR/nt/counter_gate.vDC有多种启动方式,以下只介绍一种。首先,使用cd命令进入工作目录,然后输入design_vision,回车后将出现图2-2所示图形界面。图2-2 design_vision的操作界面利

27、用菜单操作FileE*cute Script后弹出以下窗口,找到脚本文件后,点Open开场执行逻辑综合。图2-3 弹出窗口如果脚本和设计代码无误,即可得到综合后的电路图、网表和时序分析报告等文件。图2-4 综合后的电路图电路中的各个cell,如逻辑门、多路选择器和触发器等都来自标准单元库。MU*如果设计代码中有错误,将在窗口中出现错误或警告信息。电路图是由cell网表得到的,以下是verilog格式的网表,与标准单元库提供的各个cell的verilog文件放在一个project中,就进展门级仿真。DC还可生成各种报告文件,其中最重要的是时序报告。以下是网表文件。module counter (

28、 rst, clk, ld, en, d, q, co );input 3:0 d;output 3:0 q;input rst, clk, ld, en;output co; wire n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16; MU*2 U3 ( .O(n15), .S(ld), .A(n7), .B(d2) ); INV2 U4 ( .O(n8), .I(n4) ); MU*2 U5 ( .O(n14), .S(ld), .A(n9), .B(d1) ); MU*2 U6 ( .O(n16), .S

29、(ld), .A(n6), .B(d3) ); AN2B1P U7 ( .O(n3), .I1(q2), .B1(n4) ); MU*2 U8 ( .O(n13), .S(ld), .A(n11), .B(d0) ); DFFRBP q_reg1 ( .Q(q1), .D(n14), .CK(clk), .RB(n12) ); DFFRBP q_reg0 ( .Q(q0), .QB(n2), .D(n13), .CK(clk), .RB(n12) ); INV1 U9 ( .O(n10), .I(n5) ); *OR2 U10 ( .O(n6), .I1(q3), .I2(n3) ); DFF

30、RBP q_reg3 ( .Q(q3), .D(n16), .CK(clk), .RB(n12) ); *OR2 U11 ( .O(n9), .I1(q1), .I2(n10) ); *OR2 U12 ( .O(n7), .I1(q2), .I2(n8) ); DFFRBT q_reg2 ( .Q(q2), .D(n15), .CK(clk), .RB(n12) ); *OR2 U13 ( .O(n11), .I1(en), .I2(q0) ); AN4 U14 ( .O(co), .I1(q1), .I2(q0), .I3(q3), .I4(q2) ); INV4 U15 ( .O(n12)

31、, .I(rst) ); OR2B1P U16 ( .O(n5), .I1(n2), .B1(en) ); OR2B1P U17 ( .O(n4), .I1(n5), .B1(q1) );endmodule以下是建立时间的报告。在建立时间报告中给出了一个最坏路径的延迟信息。最终结论是最后的一句,满足时序要slackMET,不满足则为violated。Information: Updating design information. (UID-85) Operating Conditions: Wire Load Model Mode: enclosed Startpoint: en (inpu

32、t port clocked by clk) Endpoint: q_reg3 (rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: ma* Des/Clust/Port Wire Load Model Library - counter enG5K fsa0a_c_sc_tc Point Incr Path - clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 input e*ternal delay 2.

33、00 2.00 f en (in) 0.03 2.03 f U16/O (OR2B1P) 0.19 2.21 r U17/O (OR2B1P) 0.12 2.33 r U7/O (AN2B1P) 0.15 2.49 f U10/O (*OR2) 0.14 2.63 r U6/O (MU*2) 0.13 2.76 r q_reg3/D (DFFRBP) 0.00 2.76 r data arrival time 2.76 clock clk (rise edge) 10.00 10.00 clock network delay (ideal) 0.00 10.00 clock uncertain

34、ty -0.10 9.90 q_reg3/CK (DFFRBP) 0.00 9.90 r library setup time -0.09 9.81 data required time 9.81 - data required time 9.81 data arrival time -2.76 - slack (MET) 7.05以下是保持时间的报告,结论也是MET。Operating Conditions: Wire Load Model Mode: enclosed Startpoint: d0 (input port clocked by clk) Endpoint: q_reg0 (

35、rising edge-triggered flip-flop clocked by clk) Path Group: clk Path Type: min Des/Clust/Port Wire Load Model Library - counter enG5K fsa0a_c_sc_tc Point Incr Path - clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 input e*ternal delay 0.10 0.10 f d0 (in) 0.01 0.11 f U8/O (MU*2)

36、 0.13 0.25 f q_reg0/D (DFFRBP) 0.00 0.25 f data arrival time 0.25 clock clk (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00 clock uncertainty 0.10 0.10 q_reg0/CK (DFFRBP) 0.00 0.10 r library hold time -0.01 0.09 data required time 0.09 - data required time 0.09 data arrival time -0.25 -

37、slack (MET) 0.16从这个例子可以初步了解从代码编写到功能验证,再到逻辑综合的过程。在学习RTL级代码设计时,考虑代码的可综合性是必要的。逻辑综合工具比一般的仿真分析工具要严格得多。代码的可读性和综合结果是判断代码质量的依据。设计流程的其它环节涉及较多根底知识,将在后续章节介绍。第3章 Verilog HDL的RTL子集Verilog语言能够用于各种抽象级别的描述,但其中只有局部表示法可用于逻辑综合,有些表示法只能用于在仿真时编写测试平台,*些低级别的表示法,如门原语等,虽然能够被综合,但是在编写RTL代码时,不推荐使用。这里将能够被大多数逻辑综合工具接收的数据类型、信号类型和语句

38、称为Verilog语言的RTL子集。3.1数据类型及常数、信号3.1.1 常数1数字完整的数字表示法:位宽进制 数字。例如: 2b01,8h1f,4d12等。注意,不管进制如何,这里的位宽都是指转换为二进制后的位数,例如8h1f = 8b00011111。可以在数字中间加下划线以增加可读性。例如:16b1101_1100_0010_1010;(2) 信号的值在Verilog语言中,一个数字信号可有4种取值,即0,1,z, *。其中z表示高阻态,*表示不定值。3参数parameterparameter的作用是用符号代替常量,类似C语言中的宏定义。例如: parameter2:0 DATA_WID

39、TH = 8;parameter3:0 IDLE_STATE = 4b0000。在编写代码时,使用参数代替常数是一种好习惯,可以提高代码的可读性。当同一常数多处使用时,修改也比拟方便。3.1.2 信号和变量在Verilog语言本身并没有对信号和变量加以区分,但两者在概念上有本质的不同。信号对应于电路的输入、输出或连线。而变量则与电路没有对应关系例如上一章中,testbench中任务pulse中的i是变量,而不是信号。通常在RTL代码中只有信号,而变量只出现在测试平台中。信号和变量的命名规则一样,与C语言类似,第一个字符只能是字母,其后可跟字母、数字或下划线。Verilog语言是区分大小写的,在RTL代码中,推荐的写法是所有的信号都用小写字母加下划线表示。RTL代码中,信号只推荐使用两种类型,即reg 型和wire型。电路中的存放器触发器的输出只能声明为reg型,但并非所有的reg型信号都是存放器器的输出。Verilog语言中规定所有用alwa

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!