什么 FPGA 可综合

作者&投稿:超炊 (若有异议请与网页底部的电邮联系)
阐述fpga设计中可综合性的概念,什么是可综合性~

所谓综合,就是将设计向前推进的过程。而推进设计,就意味着将抽象化的描述转换成形象化的描述。例如,将真值表转换成逻辑表达式、将状态图转换成逻辑方程,都是综合的体现(也称行为综合),同样,将逻辑表达式或者逻辑方程转换成逻辑电路图,也是综合(也称逻辑综合),再进一步,将逻辑电路图转换成集成电路芯片的掩模图,或者印刷电路板(PCB)的布局布线图,还是综合(版图综合)。所以,综合是将较高层次(抽象)描述转换成较低层次(形象)描述的过程。
因为不是所有的高层次描述都可以转换成较低层次地描述的。所以可综合设计,则是指可以转换成较低层次描述的较高层次描述。

  要保证Verilog HDL赋值语句的可综合性,在建模时应注意以下要点:
  (1)不使用initial。
  (2)不使用#10。
  (3)不使用循环次数不确定的循环语句,如forever、while等。
  (4)不使用用户自定义原语(UDP元件)。
  (5)尽量使用同步方式设计电路。
  (6)除非是关键路径的设计,一般不采用调用门级元件来描述设计的方法,建议采用行为语句来完成设计。
  (7)用always过程块描述组合逻辑,应在敏感信号列表中列出所有的输入信号。
  (8)所有的内部寄存器都应该能够被复位,在使用FPGA实现设计时,应尽量使用器件的全局复位端作为系统总的复位。
  (9)对时序逻辑描述和建模,应尽量使用非阻塞赋值方式。对组合逻辑描述和建模,既可以用阻塞赋值,也可以用非阻塞赋值。但在同一个过程块中,最好不要同时用阻塞赋值和非阻塞赋值。
  (10)不能在一个以上的always过程块中对同一个变量赋值。而对同一个赋值对象不能既使用阻塞式赋值,又使用非阻塞式赋值。
  (11)如果不打算把变量推导成锁存器,那么必须在if语句或case语句的所有条件分支中都对变量明确地赋值。
  (12)避免混合使用上升沿和下降沿触发的触发器。
  (13)同一个变量的赋值不能受多个时钟控制,也不能受两种不同的时钟条件(或者不同的时钟沿)控制。
  (14)避免在case语句的分支项中使用x值或z值。
  (1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,parameter。
  (2)所有综合工具都不支持的结构:time,defparam,$finish,fork,join,initial,delays,UDP,wait。
  (3)有些工具支持有些工具不支持的结构:casex,casez,wand,triand,wor,trior,real,disable,forever,arrays,memories,repeat,task,while。
  通常需要综合成硬件实现时,写成可综合的风格,写验证时候,可以随便一些..当然了,要确切的弄明白,还是要多实践啊!!fighting..

可综合就是说可以由你的代码(verilog/VHDL)通过综合工具生成门级电路。


安顺市17723916464: 除actel以外,还有什么公司提供混合信号FPGA -
潘池美沙: 1、Altera 2、Xilinx 3、Actel 4、Lattice 其中Altera和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺.Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺.Lattice(莱迪思)公司是主要的PLD供应商.后来Altera和Xilinx公司后发制人,占据了主要市场.Lattice公司在2005年推出了它的第一款FPGA产品.

安顺市17723916464: fpga的综合指什么? -
潘池美沙: fpga的综合就是将RTLcode(VHDL或者Verilog),翻译成另外一种描述性质的文件.然后MAPPER和布局布线工具就可以根据这个描述性质的文件进行下一步的布局布线工具. 其实更直接的方法是你直接把.edf文件打开来读一下,就能明白个大概了. 如果不好理解话,你就把他当成C语言到汇编语言的过程,虽然这个映射不是很对...

安顺市17723916464: Verilog HDL中什么是可综合模块 -
潘池美沙: (1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,...

安顺市17723916464: 阐述fpga设计中可综合性的概念,什么是可综合性 -
潘池美沙: 所谓综合,就是将设计向前推进的过程.而推进设计,就意味着将抽象化的描述转换成形象化的描述.例如,将真值表转换成逻辑表达式、将状态图转换成逻辑方程,都是综合的体现(也称行为综合),同样,将逻辑表达式或者逻辑方程转换成逻辑电路图,也是综合(也称逻辑综合),再进一步,将逻辑电路图转换成集成电路芯片的掩模图,或者印刷电路板(PCB)的布局布线图,还是综合(版图综合).所以,综合是将较高层次(抽象)描述转换成较低层次(形象)描述的过程.因为不是所有的高层次描述都可以转换成较低层次地描述的.所以可综合设计,则是指可以转换成较低层次描述的较高层次描述.

安顺市17723916464: FPGA 综合 什么意思 -
潘池美沙: 综合是将电路的高级语言转化为低级的,可与FPGA\CPLD或构成ASIC的门阵列基本结构相映射的网表文件或程序. 综合包括编译,转换,调度,分配,控制器综合和结果的生成等几个步骤.

安顺市17723916464: 在FPGA 中,什么时候可以综合,什么时候不可以综合 -
潘池美沙: 要保证Verilog HDL赋值语句的可综合性,在建模时应注意以下要点:(1)不使用initial.(2)不使用#10.(3)不使用循环次数不确定的循环语句,如forever、while等.(4)不使用用户自定义原语(UDP元件).(5)尽量使用同步方式设计电路....

安顺市17723916464: verilog综合是什么意思 -
潘池美沙: 可综合指那些可以综合成FPGA(ASIC)中某种结构的语言要素.而不可综合则主要用于设计的验证、仿真.比如流行的quartusII软件只支持可综合的verilog语言,因为它编译分配时使用已有的逻辑器件,如cyclone等等.

安顺市17723916464: quartus中对哪些verilog是支持可综合的,对哪些是不支持课综合的? -
潘池美沙: 来这里看http://quartushelp.altera.com/13.1/mergedProjects/hdl/vlog/vlog_list_support.htm 这里列出了所有的quartus ii支持或不支持综合的verilog语法,不过我觉得这个太繁杂没必要太关注..一般的教材都会写哪些语法会被大部分的编译器支持的.写代码的时候别用太抽象的东西就行

安顺市17723916464: VHDL中什么是可综合的数据类型,可综合具体是什么意思? -
潘池美沙: 个人认为,就是最终可以用FPGA内部寄存器的逻辑来实现 比如,加法、减法、乘法、赋值什么的都是可综合的,但是如,文件读写等仅能在仿真中使用,不可能烧写到FPGA中去.

安顺市17723916464: 什么是fpga逻辑综合? -
潘池美沙: 将HDL语言转化成FPGA器件库. 逻辑综合(英语:logic synthesis)是所需电路的高级抽象描述,转换到逻辑门级别的电路连线网表的过程.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网