逻辑综合synthesis(测试版)

合集下载

组合逻辑电路的功能测试实验

组合逻辑电路的功能测试实验

组合逻辑电路的功能测试实验
一、实验目的
掌握组合逻辑电路的设计与测试方法
二、实验原理
1、使用中、小规模集成电路来设计组合电路是最常见的逻辑电
路。

设计
组合电路的一般步骤如图2-1所示。

图2-1 组合逻辑电路设计流程图
根据设计任务的要求建立输入、输出变量,并列出真值表。

然后用逻辑代数或卡诺图化简法求出简化的逻辑表达式。

并按实际选用逻辑门的类型修改逻辑表达式。

根据简化后的逻辑表达式,画出逻辑图,用标准器件构成逻辑电路。

最后,用实验来验证设计的正确性。

2、组合逻辑电路设计举例
用“与非”门设计一个表决电路。

当四个输入端中有三个或四个为“1”时,输出端才为“1”。

由卡诺图得出逻辑表达式,并演化成“与非”的形式
Z=ABC+BCD+ACD+ABD
根据逻辑表达式画出用“与非门”构成的逻辑电路如图2-2所示。

图2-2 表决电路逻辑图
三、实验设备与器件
1、数字电路试验箱
2、74LS00 74LS20 CC4030(74LS86)
四、实验内容
1、验证表决电路的逻辑功能,画出其真值表。

2、设计用与非门及用异或门组成的半加器电路。

3、设计一个一位全加器,要求用异或门及与非门组成。

五、实验报告
1、列写实验任务的设计过程,画出设计的电路图。

2、对所设计的电路进行实验测试,记录测试结果。

逻辑门电路与组合逻辑电路功能测试(共70页)

逻辑门电路与组合逻辑电路功能测试(共70页)

实验(shíyàn)一逻辑(luó jí)门电路与组合(zǔhé)逻辑电路功能测试一、实验(shíyàn)目的1.熟悉(shúxī)电子实验箱的功能及使用方法。

2.学习集成电路型号及引脚排列识别,使用电子实验箱完成逻辑门电路逻辑功能测试。

3.复习利用摩根定律实现五种逻辑函数表达式的转换。

4.学习如何写简单逻辑电路图的逻辑关系表达式及最简式。

二、实验用元器件1.四2输入“与非”门7400×22.二4输入“与非”门7420×13.四“异或”门7486×1实验中使用7400四2输入“与非”门和7420二4输入“与非”门。

引脚图如图1—1和图1—2,7400内部有四个独立的2输入“与非”门,7420内有二个4输入“与非”门。

图1—1 7400集成电路图1—2 7420集成电路实验中提供的集成电路有74LS系列的低功耗肖特基TTL电路和74HC系列的高速CMOS电路。

它们在逻辑上兼容,但具体物理参数不同。

CMOS电路输出高电平≈Vcc,输出低电平≈0V(规定输入高电平电压≥0.7Vcc,输入低电平电压≤0.3 Vcc),在我们的实验中Vcc=+5V。

TTL电路的输出高电平为2.4~3.6V,输入开门电平1.4~1.8V。

输出低电平为0~0.5V,输入关门电平0.8~1V。

在实验(shíyàn)中采用同一电源,经实际测定可以直接联接,但有些条件下须要(xūyào)通过接口转接,用74LS门电路驱动(qū dònɡ)74HC门电路时,输出(shūchū)高电平电压应大于3.5V。

而74HC门电路驱动(qū dònɡ)74LS门电路时要加下拉电阻,扇出系数应小于10。

三、实验前准备工作及注意事项1.检查实验用具是否齐全:电源一个、电子实验箱一个、万用表一个(表笔两只)、实验线若干。

逻辑综合

逻辑综合

逻辑综合
可逻辑综合的VHDL代码示例
• 异步复位D触发器
DFFA: PROCESS(clk, reset) BEGEN IF (reset = ‘0’) THEN data_out <= (OTHERS => ‘0’); ELSIF (clk’EVENT AND clk = ‘1’) THEN data_out <= data_in; END IF; END PROCESS DFFA;
3
4
5
6
7
8
逻辑综合
• 优化策略
数字电路的设计原则上是分 层次的。最高层(Top-Level) 通常是由互相联系的块组成 右图显示了从VHDL语言到目 标网表的步骤 优化策略包含两项:
• 平面化 • 结构化
technology: mapping netlist in target technology gate level: netlist logical level: boolean equations VHDL description flattening structuring
data_out <= (OTHERS => ‘0’); ELSIF (clk ‘EVENT AND clk = ‘1’) THEN data_out <= in1 XOR in2; END IF; END PROCESS SYNC;
逻辑综合
可逻辑综合的VHDL代码示例
• 带反馈回路的触发器
PROCESS (clk) BEGIN IF (clk ‘EVENT AND clk = ‘1’) THEN IF (ena = ‘1’) THEN data_out <= a; END IF; END IF; END PROCESS;

综合 Synthesis

综合 Synthesis

综合步骤
综合步骤1:源文件准备
源文件的准备主要是检查 rtl的书写规范,时钟域划分是否 合理,一般有专业的工具进行检查
综合 Synthesis
刘海林
基本概述
概念:行为描述的电路、RTL级的电路 门级网表
综合的不同层次:逻辑级、RTL级、行为级
目的:决定电路门级结构、寻求时序和与面积的平衡、寻 求功耗与时序的平衡、增强电路的测试性
综合工具:Design Com程:Translation 、map 、optimization Translation是指把设计的HDL描述转化为GTECH库元件组 成的逻辑电路 Mapping 是指将 GTECH 库元件映射到某一特定的半导体 工艺库上,此时的电路网表包含了相关的工艺参数 Optimization是根据设计者设定的时延、面积、线负载模 型等综合约束条件对电路网表进一步优化的过程

实验三组合逻辑电路的功能测试

实验三组合逻辑电路的功能测试

实验三组合逻辑电路的功能测试基本逻辑门测试:1.与门测试:在输入端口分别接入两个输入信号A、B,并将输出端口接入示波器。

通过输入不同的逻辑电平(0或1),观察输出信号。

当输入信号都为1时,输出信号应为1;其他情况下,输出信号应为0。

2.或门测试:与与门测试类似,在输入端口分别接入两个输入信号A、B,并将输出端口接入示波器。

通过输入不同的逻辑电平(0或1),观察输出信号。

当输入信号都为0时,输出信号应为0;其他情况下,输出信号应为13.非门测试:在输入端口接入输入信号A,并将输出端口接入示波器。

通过输入不同的逻辑电平(0或1),观察输出信号。

当输入信号为0时,输出信号应为1;当输入信号为1时,输出信号应为0。

4.异或门测试:在输入端口分别接入两个输入信号A、B,并将输出端口接入示波器。

通过输入不同的逻辑电平(0或1),观察输出信号。

当输入信号相同(均为0或均为1)时,输出信号应为0;当输入信号不同(一个为0,一个为1)时,输出信号应为1组合逻辑电路测试:1.与门与非门的组合测试:在输入端口分别接入两个输入信号A、B,并将输出端口接入示波器。

通过输入不同的逻辑电平(0或1),观察输出信号。

当输入信号都为1时,输出信号应为0;其他情况下,输出信号应为12.或门与非门的组合测试:与与门与非门的组合测试类似,只需将与门替换为或门,测试结果应与与门与非门的组合测试相反。

3.封装后的组合逻辑电路测试:使用封装后的组合逻辑电路实现具体的逻辑功能,如加法器、选择器等。

通过输入不同的逻辑电平(0或1),观察输出信号,验证实现的逻辑功能是否正确。

在进行功能测试时,需要注意输入信号的切换时间、输出信号的稳定时间,确保电路能够正常工作。

此外,还可以通过逻辑表或真值表对测试结果进行验证,确保组合逻辑电路的正确性。

总结:实验三组合逻辑电路的功能测试是通过对基本逻辑门和组合逻辑电路进行输入输出信号的观察和测试,验证其功能正确性。

逻辑综合中的基本概念

逻辑综合中的基本概念

1. 逻辑综合 (Logic Synthesis)EDA工具把数字电路的功能描述(或结构描述)转化为电路的结构描述。

实现上述转换的同时要满足用户给定的约束条件,即速度、功耗、成本等方面的要求。

2. 逻辑电路(Logic Circuit)逻辑电路又称数字电路,在没有特别说明的情况下指的是二值逻辑电路。

其电平在某个阈值之上时看作高电平,在该阈值之下时看作低电平。

通常把高电平看作逻辑值1;把低电平看作逻辑值0。

3. 约束(restriction)设计者给EDA工具提出的附加条件,对逻辑综合而言,约束条件一般包括速度、功耗、成本等方面的要求。

4. 真值表(Truth Table)布尔函数的表格描述形式,描述输入变量每一种组合情况下函数的取值。

输入变量组合以最小项形式表示,函数的取值为真或假(1 或0)。

5. 卡诺图(Karnaugh Map)布尔函数的图形描述形式,图中最小方格和最小项对应,两个相邻的最小方格所对应的最小项只有一个变量的取值不同。

卡诺图适合于用观察法化简布尔函数,但是当变量的个数大于4时,卡诺图的绘制和观察都变得很困难。

6. 单输出函数(Single-output Function)一个布尔函数的单独描述。

7. 多输出函数(Multiple-output Function)输入变量相同的多个布尔函数的统一描述。

8. 最小项(Minterm)设a1,a2,…ai,…an是n个布尔变量,p为n个因子的乘积。

如果在p中每一变量都以原变量ai或反变量的形式作为因子出现一次且仅出现一次,则称p为n 个变量的一个最小项。

最小项在卡诺图中对应于最小的方格;在立方体表示中对应于顶点。

9. 蕴涵项(Implicant)布尔函数f的"与-或"表达式中的每一乘积项都叫作f的蕴涵项。

例如:f=+中的乘积项和都是函数f的蕴涵项。

蕴涵项对应于立方体表示法中的立方体。

10.质蕴涵项(Prime Implicant,PI)设函数f有多个蕴涵项,若某个蕴涵项i所包含的最小项集合不是任何别的蕴涵项所包含的最小项集合的子集的话,则称i为函数f的质蕴涵项。

第5章 逻辑综合

第5章 逻辑综合

第5章逻辑综合5.1 逻辑综合(Synthesis)的概念逻辑综合是指将硬件描述语言描述的RTL级的代码转换为由芯片制造商(Foundry)提供的基本单元电路实现的门级网表的过程。

逻辑综合是由综合工具完成的,但设计者必须提供对芯片的时序、面积、功耗等方面的约束。

综合过程可以分为三个步骤:(1)翻译(Translation)将硬件描述语言翻译为符合综合工具内部规定的逻辑方程,不做任何逻辑优化,与具体工艺无关。

(2)优化(Optimization)根据时序和面积约束,对逻辑方程进行重组和优化。

(3)映射(Mapping)根据时序和面积约束,从目标工艺库(Target Technology)中搜索适当的单元来实现实际电路。

芯片制造商(Foundry)提供的工艺库中,有各种基本单元,如各种逻辑门、触发器、数据选择器等。

在工艺库中,对这些基本单元电路的特性有完整的描述,如面积、输入端电容、输出端的驱动能力等等。

综合的目标就是用工艺库中的这些单元实现RTL代码描述的逻辑功能,并满足设计者提出的面积和时序要求。

逻辑综合将生成门级网表文件、标准延迟文件(SDF)和各种报告。

面向ASIC的主流综合工具是Synopsys公司的Design Compiler。

本章主要介绍用基于的Design Compiler逻辑综合方法。

5.2 Design Compiler 简介5.2.1 Linux Red Hat 7.2 基本操作Design Compiler有Unix和Linux两种平台下的版本,Linux下的版本必须使用Linux Red Hat 7.2操作系统。

软件安装参见本章附录。

以下介绍Linux文件系统的基本思想和基本操作命令。

●基本思想初学Linux要适应文件系统基本思想,Linux将整个计算机中的各种软件、硬件都理解为文件,以统一的文件系统方式组织。

其中/ 为最上层的根目录,其它都是根目录下的子目录。

Linux的文件路径分为绝对路径和相对路径。

逻辑综合

逻辑综合

13
设计读入
读入设计有多种方法,DC支持读入Verilog,VHDL,可以是RTL级代码,也 可以是门级网表,也可是ddc格式的文件。综合前的设计不需用RTL格式(虽 然也有其它格式)输入到DC中。 可以用以下命令读入设计: 1.analyze和elaborate命令:这是两个不同的命令,它使得设计人员可以在 建立设计通用逻辑之前先对设计进行语法错误和RTL转换分析。 2.read_file命令:如: read_file –format verilog sd_clk.v 3.read_verilog或read_vhdl命令,这些是从read_file中分离出来的命令, 如: read_verilog sd_clk.v 读入代码后用命令current_design和link将读入的设计和综合库连接起来。
2
3
综合过程中时序与面积的关系 从下图中可以看出面积与延迟的折衷关系,综合工具以约束为指导,在满足时 序的情况下获得最小面积。如果不施加约束,综合工具会产生非优化的网表, 而这是不能满足要求的网表。所以约束对于综合来说是必不可少的。
4
综合的基本流程 1.准备RTL代码:RTL代码经过前端仿真后才能用于综合。 2.定义库:设定好所需要用到的综合库等多种库。 3.读入设计:综合工具读入RTL代码并进行分析。 4.定义设计环境:设定设计的工作环境、端口的驱动和负载,线负载模型等 5.设置设计约束:这是综合的一个极其重要的环节,设定好正确的约束才能 得到正确的综合结果。约束要适当,不能过紧或过松。主要是定义时钟和I/O 的约束。 6.设置综合策略:有top-down和bottom-up两种策略,各有所长,对于不同的 设计要具体分析。 7.优化设计:综合工具可以根据约束对电路进行优化,也可以人为地加入命 令,改变优化方法。 8.分析和解决设计的问题:在设计综合(compile)后,根据报告来分析设计 中出现的问题,进而修订所出现的问题。 9.保存设计数据:综合完成后,保存各种数据,以供后续的布局布线使用( 需先通过验证)。 5

逻辑综合

逻辑综合

一逻辑综合1 逻辑综合的含义实现在满足设计电路的功能,速度及面积等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。

2 逻辑综合的原因RTL代码是理想的情况,在实际情况中会有门的延时,导线的延时,信号的转换时间及时钟信号到达各个触发器的时间不相等情况。

3综合的过程主要包括转译(Translation),优化(Optimization),映射(Mapping)三个过程。

3.1 转译:用HDL语言描述的电路转化为用GTECH库元件组成的逻辑电路的过程。

GTECH是synopsys的通用工艺库,它仅表示逻辑函数的功能,并没有映射到具体的厂家工艺库,是独立于厂家工艺的。

3.2优化:根据设计者对电路设定延时和面积等约束条件对电路进行优化设计的过程。

它通过各种方法尽量满足设计者对电路的要求。

3.3映射:把用GTECH库元件的电路映射到某一固定厂家的工艺库上,此时的电路包含了厂家的工艺参数Library Cells.4综合的目标:得到一个功能和时序都满足的网表。

达到面积最小化,功耗最小化和性能最大化。

二综合软件(DC)Design Compile是synopsys的综合软件,它的功能是把RTL级的代码转化为门级网表。

DC综合的流程如下:1 综合环境建立1.1 启动文件启动文件用来指定综合工具所需要的一些初始化信息。

DC使用名为“.synopsys_dc.setup”的启动文件,启动时,DC会以下述顺序搜索并装载相应目录下的启动文件:1)、DC的安装目录;2)、用户的home目录;3)、当前启动目录。

注意:后装载的启动文件中的设置将覆盖先装载的启动文件中的相同设置。

search_path= search_path + {“.”, synopsys_ro ot + “/dw/sim_ver” }search_path= search_path + { “~/risc32/synthesis/libraries” }target_library={ tcb773stc.db }synthetic_library={dw_foundation.sldb}link_library = { “*”, dw_foundation.sldb, tcb773stc.db }symbol_library = { tcb773s.sdb }synlib_wait_for_design_license = {"DesignWare-Foundation"}alias rt “report_timing”designer= XXXXXc ompany= “ASIC Lab, Fudan Univ.”search_path指定了综合工具的搜索路径。

逻辑综合

逻辑综合

一逻辑综合1 逻辑综合的含义实现在满足设计电路的功能,速度及面积等限制条件下,将行为级描述转化为指定的技术库中单元电路的连接。

2 逻辑综合的原因RTL代码是理想的情况,在实际情况中会有门的延时,导线的延时,信号的转换时间及时钟信号到达各个触发器的时间不相等情况。

3综合的过程主要包括转译(Translation),优化(Optimization),映射(Mapping)三个过程。

3.1 转译:用HDL语言描述的电路转化为用GTECH库元件组成的逻辑电路的过程。

GTECH是synopsys的通用工艺库,它仅表示逻辑函数的功能,并没有映射到具体的厂家工艺库,是独立于厂家工艺的。

3.2优化:根据设计者对电路设定延时和面积等约束条件对电路进行优化设计的过程。

它通过各种方法尽量满足设计者对电路的要求。

3.3映射:把用GTECH库元件的电路映射到某一固定厂家的工艺库上,此时的电路包含了厂家的工艺参数Library Cells.4综合的目标:得到一个功能和时序都满足的网表。

达到面积最小化,功耗最小化和性能最大化。

二综合软件(DC)Design Compile是synopsys的综合软件,它的功能是把RTL级的代码转化为门级网表。

DC综合的流程如下:1 综合环境建立1.1 启动文件 启动文件用来指定综合工具所需要的一些初始化信息。

DC使用名为“.synopsys_dc.setup”的启动文件,启动时,DC会以下述顺序搜索并装载相应目录下的启动文件:1)、DC的安装目录;2)、用户的home目录;3)、当前启动目录。

注意:后装载的启动文件中的设置将覆盖先装载的启动文件中的相同设置。

search_path= search_path + {“.”, synopsys_root + “/dw/sim_ver” }search_path= search_path + { “~/risc32/synthesis/libraries” }target_library={ tcb773stc.db }synthetic_library={dw_foundation.sldb}link_library = { “*”, dw_foundation.sldb, tcb773stc.db }symbol_library = { tcb773s.sdb }synlib_wait_for_design_license = {"DesignWare-Foundation"}alias rt “report_timing”designer= XXXXXcompany= “ASIC Lab, Fudan Univ.”search_path指定了综合工具的搜索路径。

逻辑综合synthesis(测试版)

逻辑综合synthesis(测试版)

逻辑综合synthesis(测试版)综合复习资料(综合测试版)⼀、名词解释1、Synthesis:synthesis is the transformation of an idea into a manufacturable device to carry out an intended function.2、SOLD(Synopsys On-Line Documentation): It is a website to provide answers.3、STA(Static Timing Analysis): A method for determining of a circuit meets timing constraints without having to simulate clock cycles.4、Clock skew:To account for varying delays between the clock network branches.5、Jitter:Because some uncertain factors,which leads to the clock happen drift.6、RTL(Register Transfer Level):It is a coding style means describing the register architecture, the circuit topology, and the functionality between registers.7、TCL(Tool Command Language): It is an “open”, industry-standard language, developed at UCA Berkeley.8、PVT: STA scales each cell and net delay based on Process, Voltage, and Temperature variations.9、CTS(Clock Tree Synthesis):Buffer clock timing device in the right place, and avoid the CLOCK to SKEW.10、BDD(Binary Decision Diagram):The binary decision diagram is used to represent the data structure of the Boolean functions.⼆、填空1、Design objects: Design、Cell、Reference、Port、Pin、Net、Clock2、The advantages of synthesis: reusability、verifiable、portability、prestige、productivity、abstraction、design tricks3、Synthesis is Constraint-Driven, is Path-Based.4、Synthesis=translation + optimization + mapping5、GTECH has nothing to do with technology.三、简答1、Cell-BaBehavioral Level答:1.Behavioral level 2.RTL Level 3.Logic Synthesis 4.Logic Level Design 5.Circuit Level Design/doc/22830ed0195f312b3169a5a3.html yout Level Design 7.Post Verificationsed-Flow2、Logic Synthesis Overview答:1.RTL Design 2.HDLCompiler3.DesignCompiler4.OptimizedGate-level Netlist3、What .synopsys_dc.setup defined答:link_librarytarget_librarysymbol_librarysearch_pathsynthetic_library4、what is .synopsys_dc.setup?答:启动⽂件(startup files)DC : .synopsys_dc.setupDefined process path to the library and the other for the logic synthesis parameters.定义⼯艺库的路径和其他⽤于逻辑综合的参数。

逻辑综合理论

逻辑综合理论

关于RM逻辑介绍逻辑综合与优化是一类用逻辑门实现电路功能或描述的完整过程,而逻辑优化的关键内容之一是电路表达式或函数的化简。

这是由于电路的面积,功耗,速度和可验证性与电路结构直接相关,而具体的电路结构可由表达式或函数的繁简程度反映。

因此,函数表达式的化简是很有必要的,IC 设计者可根据需求对电路表达式进行改善,以实现理想的面积、速度和功耗等性能。

对于运算电路、通信电路、奇偶检测电路等特定电路,使用 RM 逻辑往往能够实现更好的面积、速度和功耗等性能RM 逻辑电路主要包括 XOR/AND 和XNOR/OR 这两种表示形式,依据极性分为固定极性 Reed-Muller(FPRM)表达式、混合极性 Reed-Muller(MPRM)表达式; fixed polarity固定;mixedpolarity 混合;XOR——异或门,符号标志为“⊕”;XNOR——同或门,数学符号为“⊙”;Boolean 逻辑仍是当前电路设计的主流逻辑形式,为了更好的使用 RM 逻辑并进行相关优化,首先就需要实现从 Boolean 逻辑函数到 RM 逻辑函数的转换。

极性转换方法提供了 Boolean 逻辑到RM 逻辑以及 RM 逻辑中极性间的转换。

FPRM 电路相较于MPRM 电路实现更简单,其极性转换方法更简便适用;FPRM 电路相关的极性转换方法较多,主要有:列表法、系数矩阵法、不相交乘积项等;MPRM 电路的极性转换方法主要有:图形变换法、OKFDDs(Ordered Kronecker Functional Decision Diagrams)法。

逻辑综合概述认识逻辑综合用Verilog之类的程序设计语言将硬件的高级描述转换成一个优化的数字电路网表,一个由相互连接的布尔逻辑门组成的网络,从而实现该功能。

逻辑综合设计流程大型数字电路设计流程如下:EDA是用来完成芯片的功能设计、综合、验证、物理设计等流程的设计方式,其中,逻辑级自动综合与优化属于EDA前端设计技术;逻辑综合完成就进入后端设计阶段;布局:就是将综合后的门级电路网表的每个工艺单元合理的摆放到芯片的各个位置;布局的任务是确定每个单元的位置,尽可能减小布线的开销。

FPGA的设计开发流程主要包括四个步骤设计输入

FPGA的设计开发流程主要包括四个步骤设计输入

FPGA的设计开发流程主要包括四个步骤设计输入FPGA的设计开发流程主要包括四个步骤:设计输入(Design Entry)、逻辑综合(Logic Synthesis)、布局布线(Place and Route)和配置生成(Configuration Generation)。

下面将详细介绍每个步骤。

1.系统级设计:在此阶段,设计工程师需要定义系统的功能需求和性能要求,确定设计的输入输出接口,以及设计中需要使用的外设和IP核。

2.架构设计:在此阶段,设计工程师需要将系统级设计转化为硬件描述语言(HDL)的形式。

设计工程师需要使用HDL来描述系统的功能和行为,并将其分解为模块化的子系统。

3.模块级设计:在此阶段,设计工程师需要进一步细化模块的功能和行为,并将其转化为HDL的形式。

设计工程师需要定义每个模块的输入输出接口,并编写相应的HDL代码。

逻辑综合(Logic Synthesis)是将HDL代码转化为逻辑电路网表(logic circuit netlist)的过程。

逻辑综合工具会根据设计工程师的代码描述,将其转化为逻辑门级的电路。

在逻辑综合过程中,设计工程师可以进行优化和约束设置,以达到设计的性能和资源利用率要求。

布局布线(Place and Route)是将逻辑电路网表映射到FPGA芯片上的过程。

在布局布线过程中,设计工程师需要将逻辑电路网表中的逻辑元件(如逻辑门、寄存器等)放置到FPGA芯片的可用资源上,并通过信号线将它们连接起来。

布局布线工具会根据设计工程师的约束和优化目标,自动进行布局和布线的优化。

配置生成(Configuration Generation)是将布局布线后的电路转化为FPGA可执行的配置文件的过程。

配置文件包含了将电路映射到FPGA芯片上的信息,以及FPGA芯片的配置信息。

设计工程师可以使用配置生成工具将布局布线完成的电路转化为配置文件,并将其加载到FPGA芯片中进行验证和测试。

IC设计中逻辑综合的一般步骤及相关基本概念

IC设计中逻辑综合的一般步骤及相关基本概念

IC设计中逻辑综合的一般步骤及相关基本概念第一篇:IC设计中逻辑综合的一般步骤及相关基本概念IC设计中逻辑综合的一般步骤及相关基本概念综合中的延迟及关键路径图1 常见的时序路径示意图图1中给出了常见的两个寄存器R1和R2之间的时序路径。

R1和R2分别具有延迟T ck-q和Tsetup,TM和TN分别是M和N逻辑具有的延迟。

B对R1来说是输出端口,输出延迟为Tsetup+TN,而对R2是输入端口,输入延迟为T ck-q+TM,于是这条单周期路径的总延迟为Tck-q+TM+Tsetup+TN。

从延迟的角度来说,关键路径就是指那些总延迟大于相应周期时间的路径。

消减关键路径的延迟要从消减路径中的各部分延迟入手,主要方法就是利用综合工具对路径施加约束条件来限制优化,达到减小路径延迟的目的。

综合的主要过程1.翻译:读入电路的RTL级描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构。

这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化。

2.优化:根据所施加的时序和面积约束,按照一定的算法对翻译结果进行逻辑重组和优化。

3.映射:根据所施加的时序和面积约束,从目标工艺库中搜索符合条件的单元来构成实际电路的逻辑网表。

一般的综合步骤如表1所示。

从表1中可以看出,约束条件是综合过程的重要组成部分。

综合正是通过设置约束条件来优化设计,以达到设计要求的。

对关键路径延迟的主要约束处理方法通过选择器件的处理方法从最直观的角度看,时序逻辑和组合逻辑都由基本的电路单元组成,因此,选择延迟小且不影响芯片性能的器件是既简易又高效的处理方法。

例如,基本电路单元库中的DFFXL寄存器虽然面积较小,但它的延迟相关参数T ck-q、Tsetup较大,容易形成关键路径,于是可以通过设置set_dont_use等约束来禁用它。

在一些特殊情况下,基本电路单元库中的器件不能满足要求,这时需要采用自定义的电路单元。

对端口间逻辑的处理方法这是诸方法中最常用、最有效、最重要的,一般通过set_input_delay、set_output_delay、set_max_delay等来实现,有以下几种情况:如果两个寄存器之间的逻辑比较少,那么可以对其输入延迟和输出延迟施加较宽裕的约束,即设置较大的set_input_delay和set_output_delay值,表明所做逻辑不受压缩,映射电路基本单元库的自由度较大。

综合Synthesis

综合Synthesis

综合步骤1:源文件准备
源文件的准备主要是检查rtl的书写规范,时钟域划分是否 合理,一般有专业的工具进行检查
Hale Waihona Puke 基本概述概念:行为描述的电路、RTL级的电路 门级网表 综合的不同层次:逻辑级、RTL级、行为级 目的:决定电路门级结构、寻求时序和与面积的平衡、寻 求功耗与时序的平衡、增强电路的测试性 综合工具:Design Compile
逻辑综合过程
逻辑综合的过程:Translation 、map 、optimization
Translation是指把设计的HDL描述转化为GTECH库元件组 成的逻辑电路 Mapping是指将GTECH库元件映射到某一特定的半导体 工艺库上,此时的电路网表包含了相关的工艺参数 Optimization是根据设计者设定的时延、面积、线负载模 型等综合约束条件对电路网表进一步优化的过程
综合步骤

vivado中synthesis(综合)和implementation(实现)

vivado中synthesis(综合)和implementation(实现)
博客园 用户登录 代码改变世界 密码登录 短信登录 忘记登录用户名 忘记密码 记住我 登录 第三方登录/注册 没有账户, 立即注册
vivado中 synthesis(综合)和 implementation(实现)
综合:将高级抽象层次的电路描述转化为较低层次的描述。 即将语言描述的电路逻辑转化为与门、或门、非门、触发器等基本逻辑单元的互连关系。
实现:布局+布线 综合后生成的门级网表只是表示了门与门之间的虚拟的链接关系,并没有规定每个门的位置以及连线的长度等。
不考虑上板子的话,在vivado只

实验三组合逻辑电路的功能测试

实验三组合逻辑电路的功能测试
实验三 组合逻辑电路的 分析方法与功能测试
一. 实验目的
1.掌握组合逻辑电路的分析方法 2掌握组合逻辑电路的功能测试方法 3.验证半加器和全加器的逻辑功能
二.实验内容
1.组合逻辑电路功能测试 (1)用两片CC4011组成图示逻辑电路。
A



Y1

B

C


Y2
(2)图中A、B、C接电平开关,Y1、Y2接发光管显示。 (3)按下表要求,改变A、B、C的状态填表并写出Y1、 Y2逻辑表达式。 (4)将运算结果与实验比较。
Ai
Bi
Ci-1
Si
Ci
0
0
0
0
0
1
0
1
0
0
1
1ቤተ መጻሕፍቲ ባይዱ
1
0
0
1
0
1
1
1
0
1
1
1
三.实验报告
(1)整理实验数据、图表并对实验结果 进行分析讨论。
(2)总结组合逻辑电路的分析方法。 (3)写出心得体会。
3.测试全加器的逻辑功能
(1)写出图示电路的逻辑表达式。 ﹠
﹠ X2 ﹠ Si
Ai

﹠ Y ﹠ X1
Bi


X3 ﹠
Ci
Ci-1
(2)根据逻辑表达式列真值表并画出Si和Ci的卡诺图。 (3)填写下表中各点状态。
全加器各点状态表
Ai
Bi
Ci Y
X1
X2 X3 Si Ci
0
00
0
01
0
10
0
11
1
00

第4章 逻辑综合(重点)

第4章 逻辑综合(重点)

第4 章逻辑综合(重点)4.1 逻辑综合概述4.1.1 逻辑综合的概念综合(synthesis):就是把思想转换为实现欲想功能的可制造的设计。

综合是约束驱动和基于路径的。

在这里,综合也就是把行为级或 RTL 级的 HDL 描述转换为门级电路的过程,用公式表示就是:综合等于 = 翻译 + 优化 + 映射( Synthesis = Transiation + Optimization + Mapping ) 用图形表示就是:(见图4.1)图 4.1 综合的概念4.1.2 逻辑综合的工具介绍。

工具操作界面设计编译器(Design Compiler 简称 DC)是 Synopsys 综合工具的核心。

综合一个设计时,可以选用两种界面: A 。

设计分析器(Design Analyzer 简称 DA)-图形窗口界面。

B 。

dc_shell—命令行界面。

DA 图形窗口界面的启动:%dadc_shell 命令行界面的启动;%dc_shelldc_shell 界面的提示符为:dc_shell >dc_shell 命令行界面支持两种脚本语言:dcsh 模式和 dctcl 模式。

dcsh 是使用源于 Synopsys 的语言。

dctcl 使用工具命令语言( Tool Command Langugae )。

dcsh 模式和 dctcl 模式比较tcl 是一种开放型的工业标准语言。

它比 dc_shell 更加强大。

启动 dcsh 模式用 dc_shell 命令,启动 dctcl 模式用 dc_shell -t如果你已经有了 dcsh 的 setup 文件或脚本文件(.scr),你想转换为 Tcl 的 setup 文件和约束文件,则我们只需执行下面命令即可.setup 文件的转换:设 dcsh 的 setup 文件为.synopsys_dc.setup.old,要转换为 Tcl 的 setup 文件.synopsys_dc.setup 则% dc-transcript .synopsys_dc.setup.old .synopsys_dc.setup 脚本文件的转换:设 dcsh 的约束文件为 old_scriptfile.scr,dctcl 的约束文件为 tcl_script.tcl ,则 % dc-transcript old_scriptfile.scr tcl_script.tcl由于 dcsh 和 dctcl 是可以转换的,以下的介绍中,在支持 dcsh 的地方,将都用 dcsh 命令。

实验一 组合逻辑实验

实验一 组合逻辑实验

实验一 组合逻辑实验一、实验目的:1.学习Xilinx 软件的基本使用;熟悉FPGA 的现场可编程特性2.初步掌握用硬件描述语言(HDL )设计电路的方法;掌握top-down 设计方法,并利用FPGA 来实现简单的组合电路3.了解3-8译码器的性能与特点;学习利用多种描述方式实现功能。

4.学习modelsim 仿真工具的使用方法,掌握各种仿真流程与实现方法。

二、实验任务:1、本实验要求利用FPGA 实现常用的标准3-8译码逻辑电路。

利用MODELSIM6.1观察结果。

2、分别利用IF 语句和CASE 语句两种方法实现。

3、用testbench waveform 建立合适的测试向量,看行为仿真和布线后仿真波形。

4、试建立一个顶层文件,将原实现的实体作为元件,重新编译和仿真。

判别在相同测试向量下,行为仿真与布线后仿真波形是否相同。

三、实验设备:1、PC 机一台。

2、清华大学EDA 可编程ASIC 实验箱一套。

3、导线若干。

四、实验原理3-8译码器是一种最常用的小规模集成电路。

它的功能就是对从地址输入端A 、B 、C 输入的二进制数据进行译码,以确定输出端Y0~Y7的哪一个输出端变为有效(低电平),从而达到译码的目的。

只有在G1=1,G2A=0,G2B=0时,3-8译码器才能进行正常译码,否则Y0~Y7输出均为高电平。

电路功能说明:3-8译码器是一种最常用的小规模集成电路。

它的功能就是对从地址输入端A 、B 、C 输入的二进制数据进行译码,以确定输出端Y0~Y7的哪一个输出端变为有效(低电平),从而达到译码的目的。

只有在G1=1,G2A=0,G2B=0时,3-8译码器才能进行正常译码,否则Y0~Y7输出均为高电平。

3-8译码器五、实验报告要求1、写出代码2、贴出行为仿真图3、对设计的流程进行描述;4、通过此次实验的收获、感想及建议;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

综合复习资料(综合测试版)一、名词解释1、Synthesis:synthesis is the transformation of an idea into a manufacturable device to carry out an intended function.2、SOLD(Synopsys On-Line Documentation): It is a website to provide answers.3、STA(Static Timing Analysis): A method for determining of a circuit meets timing constraints without having to simulate clock cycles.4、Clock skew:To account for varying delays between the clock network branches.5、Jitter:Because some uncertain factors,which leads to the clock happen drift.6、RTL(Register Transfer Level):It is a coding style means describing the register architecture, the circuit topology, and the functionality between registers.7、TCL(Tool Command Language): It is an “open”, industry-standard language, developed at UCA Berkeley.8、PVT: STA scales each cell and net delay based on Process, Voltage, and Temperature variations.9、CTS(Clock Tree Synthesis):Buffer clock timing device in the right place, and avoid the CLOCK to SKEW.10、BDD(Binary Decision Diagram):The binary decision diagram is used to represent the data structure of the Boolean functions.二、填空1、Design objects: Design、Cell、Reference、Port、Pin、Net、Clock2、The advantages of synthesis: reusability、verifiable、portability、prestige、productivity、abstraction、design tricks3、Synthesis is Constraint-Driven, is Path-Based.4、Synthesis=translation + optimization + mapping5、GTECH has nothing to do with technology.三、简答1、Cell-BaBehavioral Level答:1.Behavioral level 2.RTL Level 3.Logic Synthesis 4.Logic Level Design 5.Circuit Level Design yout Level Design 7.Post Verificationsed-Flow2、Logic Synthesis Overview答:1.RTL Design 2.HDLCompiler3.DesignCompiler4.OptimizedGate-level Netlist3、What .synopsys_dc.setup defined答:link_librarytarget_librarysymbol_librarysearch_pathsynthetic_library4、what is .synopsys_dc.setup?答:启动文件(startup files)DC : .synopsys_dc.setupDefined process path to the library and the other for the logic synthesis parameters.定义工艺库的路径和其他用于逻辑综合的参数。

Three distinct files are read and executed when DCis invoked1st. system-wide (do not modify):(e.g. $SYNOPSYS/admin/setup/)2nd. User’s home directory (e.g. ~ccyang/)3rd. User’s current working directory (e.g. ~ccyang/dc/)5、Static Timing Analysis (Design Time)答:A method for determining if a circuit meets timingconstraints without having to simulate clock cycles.1.Designs are broken down into sets of timing paths2.The delay of each path is calculated3.All path delays are checked to see if timing constraintshave been met6、Timing GroupsHow to organize timing paths into group?答:7、Timing Path Exercise答:How many timing paths do you see? 11How many path groups are there? 38、HDL Coding Style for Synthesis答:1.Synthesizable Verilog HDL2.Some tricks in Verilog HDL3.Designware library9、Design Constraints Setting答:1.Setting Design Environment2.Setting Design Constraint10、operating environment答:The operating environment affects the components selected from target library and timing through your design.11、Operating Condition/Input Drive Impedance12、Wire Load Model答:1.Wire load model estimates wire capaon chip area & cell fanout.2.Setting this information during compmodel the design more accurately .13、Sequential Circuit - Specify Clock答:1.Select clock port2.Attributes/Clocks/Specifycreate_clock : define your clock’s waveform &respect the set-up time requirements of all clockedflip-flopsdc_shell>create_clock “clk” -period 50 -waveform {0 25}set_fix_hold : respect the hold time requirementof all clocked flip-flopsdc_shell>set_fix_holdclkset_dont_touch_network : do not re-buffer theclock networkdc_shell>set_dont_touch_networkclk14、group FSM答:To group FSM, use the following dc_shellcommanddc_shell>set_fsm_state_vector {present_State[2],present_State[1], present_State[0]}dc_shell>group -fsm -design_namefsm_name15、What is Setup Time and Hold Time?答:Setup Time: The length of time that data must stabilize before the clock transition. The maximum data path is used to determine if setup constraint is met. Hold Time: The length of time that data must remain stable at the input pin after the active clock transition. The minimum data path is used to determine if hold time is met.16、What is the name of library and what are the functions of library?答:1.Link_library: the library used for interpreting input description.2.Target_library: the ASIC technology that the design is mapped to.3.Symbol_library: used during schematic generation.4.Synthetic_library: designware library to be used.17、Why partition a design?答:Partitioning is driven by many (often competing) needs:1.Separate distinct functions.2.Achieve workable size and complexity.3.Manage project in team environment.4.Design reuse.5.Meet physical constraints.18、How to Partitioning?19、How to constraint ?答:set_max_area 100create_clock–period 10 [get_portsclk]set_dont_touch_network [get_clocksclk]set_input_delay–max 4 –clock clk [get_ports A]set_output_delay–max 5.4 –clock clk [get_port B]20、Timing path答:Design Time breaks designs into sets of signal paths, each path has a startpoint and an endpoint.Startpoints: input ports clock pins of sequential devicesEndpoints: output ports data inputs pins of sequential device21、Set_driving_cell and Set_load答:Set_driving_cell allows the user to specify a realistic external cell driving the input ports.syntax:set_driving_cell–lib_cell and2a0 \ [get_ports IN1]Set_load allows the user to specify the external capacitive load on ports.syntax: set_load 5 [get_ports OUT1]22、Time BudgetingBudget:40% of clock period23、What are virtual clocks?答:Clocks in the environment of the design to be synthesized that:Are defined clock objects within Design Compiler’s memoryDo not clock any sequential devices within the current_designServe as references for input or output delays24、How do I create a virtual clock?答:It is the same as defining a clock, but do not specify a clock pin or port Example: create_clock–name vTEMP_CLK–period 2025、Why to use virtual clocks?Timing Goals for Multiple Clock DesignsMethod is the same as that for single clock designs:1. Define the clock(s), using virtual clocks if necessary2. Specify I/O delays relative to the clock(s)26、Optimization can occur at each of three levels: Architectural、Logic-Level、Gate-Level27、RTL Block Synthesis28、The method to describe a circuit:BDD(二叉决判决图)、HDL(硬件描述语言)、Schematic(电路图)、Netlist(网表)、Boolean expression(布尔表达式)、Gate-level Schematic(门级电路图)、Layout(版图)、Transistor-level schematic(晶体管级电路图)、PCB(PrintedCircuitBoard,印制电路板)29、自己画综合结果答:1.有关阻塞与非阻塞的一个Verilog程序综合2.异步复位与同步复位30、写一段Verilog程序SR锁存器moduleSR_latch(Q,Qbar,Sbar,Rbar); outputQ,Qbar;inputSbar,Rbar;nand n1(Q,Sbar,Qbar);nand n2(Q,Rbar,Q);endmoduleD触发器module DFF(CLK,RST,DFF_DI,DFF_DO); inputCLK,RST,DFF_DI;output DFF_DO;reg DFF_DO;always @ (posedgeCLK or negedge RST) beginif(!RST)DFF_DO<= 0;elseDFF_DO<= DFF_DI;endendmoduleT触发器module TFF( C LK,RST,TFF_DI,TFF_DO);inputCLK,RST,TFF_DI;outputTFF_DO;reg TFF_DO;always @ (posedge CLK or negedge RST)beginif(!RST)TFF_DO <= 0;elseTFF_DO <= TFF_DO_N;endassign TFF_DO_N = (TFF_DI) ? (~TFF_DO) : (TFF_DO); endmodule3-8译码器module DECODE_3_8(CODE, DATA);input [2:0] CODE;output [7:0] DATA;reg [7:0] DATA;always @ (*)begincase(CODE)3'h0 : DATA = 8'b0000_0001;3'h1 : DATA = 8'b0000_0010;3'h2 : DATA = 8'b0000_0100;3'h3 : DATA = 8'b0000_1000;3'h4 : DATA = 8'b0001_0000;3'h5 : DATA = 8'b0010_0000;3'h6 : DATA = 8'b0100_0000;3'h7 : DATA = 8'b1000_0000;default : DATA = 8'bz;endcaseendendmodule加法器module adder(din1,din2,clk,ci,rst_n,dout,co);input din1,din2,inputclk,input ci,inputrst_n,outputregdout,outputreg coalways @ (posedgeclk or negedgerst_n)beginif(!rst_n) {co,dout}<=2'b0;else {co,dout}<=din1+din2+ci;endendmodule由于时间仓促,答案可能存在纰缪之处,如经发现请与作者联系7.3日小开献上。

相关文档
最新文档