Quartus_II常见问题集锦
Quartus使用问题及解决方法总结
Quartus使用问题及解决方法总结(转载)在QuartusII下进行编译和仿真的时候,会出现一堆warning,有的可以忽略,有的却需要注意,虽然按F1可以了解关于该警告的帮助,但有时候帮助解释的仍然不清楚,大家群策群力,把自己知道和了解的一些关于警告的问题都说出来讨论一下,免得后来的人走弯路.下面是我收集整理的一些,有些是自己的经验,有些是网友的,希望能给大家一点帮助,如有不对的地方,请指正,如果觉得好,请版主给点威望吧,谢谢1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated value with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
QuartusII有关错误和警告的编译信息总结
在QuartusII下进行编译和仿真的时候,会出现一堆warning,有的可以忽略,有的却需要注意,虽然按F1可以了解关于该警告的帮助,但有时候帮助解释的仍然不清楚,大家群策群力,把自己知道和了解的一些关于警告的问题都说出来讨论一下,免得后来的人走弯路.下面是我收集整理的一些,有些是自己的经验,有些是网友的,希望能给大家一点帮助,如有不对的地方,请指正,如果觉得好,请版主给点威望吧,谢谢1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated value with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
Quartus II 中常见Warning 及解决方法(转载)
14.Can't achieve minimum setup and hold requirement <text> along <number> path(s). See Report window for details.
原因:时序分析发现一定数量的路径违背了最小的建立和保持时间,与时钟歪斜有关,一般是由于多时钟引起的
21.Warning:Found xx output pins without output pin load capacitance assignment(网友:gucheng82提供)
原因:没有给输出管教指定负载电容
措施:该功能用于估算TCO和功耗,可以不理会,也可以在Assignment Editor中为相应的输出管脚指定负载电容,以消除警告
措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数
3.All reachable assignments to data_out(10) assign '0', register removed by optimization
原因:经过综合器优化后,输出端口已经不起作用了
措施:如果clk不是时钟,可以加“not clock”的约束;如果是,可以在clock setting当中加入;在某些对时钟要求不很高的情况下,可以忽略此警告或在这里修改:Assignments>Timing analysis settings...>Individual clocks...>...
和多时钟有关的Multicycle 和Multicycle Hold选项,如hold time为负,可使Multicycle hold的值>multicycle,如设为2和1。
QuartusII常犯错误
设计中从硬件到软件,不断有新的问题出现,先将出现的典型问题罗列如下。
1.Maxplus2功能问题:Maxplus2对用于数组描述的RAM及ROM在编译过程中会出错,有可能是M axplus2在语法支持上不太全面。
该用Quarters II运行或用元件例化的方法解决。
例如:subtype word is std_logic_vector(k-1downto0);type memory is array(0to2**w-1)of word;解决:在QuartusП上运行通过。
2.进行仿真实验时,结束时间设为100us时出现的问题:解决:不改动原状态的时间设置。
3.管脚编辑出现的问题:原因是自己改变了原来的管脚编号4.毛刺信号的产生信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。
延时的大小与连线的长短和逻辑单元的数目有关。
同时还受器件的制作工艺、工作电压、温度等条件的影响。
信号的高低电平转换也许要一定的过渡时间。
由于以上因素的影响,多路信号的电平变化时,在信号变化的瞬间,组合逻辑的输出状态不确定,往往会出现一些不正确的尖峰信号。
这些尖峰信号被称为“毛刺”。
许多逻辑电路产生的小的寄生信号,也能成为毛刺信号。
这些无法预见的毛刺信号可通过设计来传播并产生不需要的时钟脉冲。
应该明确的是,任何组合电路都可能是潜在的毛刺信号发生器,而时钟端口、清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错。
5.基本VHDL编程语法错误:①丢失关键字、符号及端口设置。
②前后不能呼应,丢失结尾等,如if对应end if。
③实体与保存名不一致,调用名与实际名不一致,前后应用名不一致。
④从其它机器或U盘转换到另台机器时,由于版本不一致,致使字符及符号出错。
⑤要求的数据位数与程序中数据位数不一致而出错⑥多个源冲突。
⑦设置端口、信号及变量数据类型出错。
⑧调用的文件必须与主文件在同一个文件包内。
⑨对一些运算及运行转换,必须加载库use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;use ieee.numeric_std.all;6.architecture struc of multi16isbeginprocessbeginif(clock'event and clock='1')thenresult<=dataa*datab;end if;end process;end struc;解决:加敏感量。
Quartus II 报错
1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋…0‟,便会被接地,赋…1‟接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins ing as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
Quartus Ⅱ中仿真出现错误解决方案汇总
一、Quartus中仿真时出现no simulation input file assignment specify 解决方法(转载)今天使用quartusII做了一下功能仿真,但是文件出现了问题 Error: Run Generate Functional Simulation Netlist (。
) to generate functional simulation netlist for top level entity bmg_control before running the Simulator (quartus_sim)在网上查了一下又解决的方法,在此转载此文长:翻译成中文就是仿真文件没有被指定,要仿真的话先要建一个仿真文件:file -> new -> 选择Other file选项卡 -> Vector Waveform File然后把输入输出端口加进去,再设置输入的信号,保存,就可以仿真了。
如果你之前已经建立过了,就打开assignments->settings->simulator settings看里面的有个文本框 simulation input 里面是否为空,为空的话就要找到你所建立的Vector Waveform File 文件,是以*.VMF结尾的,如果没找到,你又以为你建立了Vector Waveform File ,很可能粗心的你还没保存Vector Waveform File ,保存了才会在project里面找到。
找到之后进行仿真,如果是functional simulation,要做processing>generate functional simulation netlist..不然会出现Error: Run Generate Functional Simulation Netlist (quartus_map bmg_control--generate_functional_sim_netlist) to generate functional simulation netlist for top level entity bmg_control before running the Simulator (quartus_sim)之类的错误。
quartus ii 中常见warning 及解决方法(转载)(Quartus II中常见警告及解决方法(转载))
quartus ii 中常见warning 及解决方法(转载)(Quartus II中常见警告及解决方法(转载))Support original! I reprinted, you can download free1.Found clock-sensitive, change, during, active, clock, edge, at, time, <time>, on, register, <name>"Reason: vector, source, file, clock sensitive signals (such as data, allowing, clearing, synchronization, loading, etc.) change simultaneously on the edge of the clock. A clock sensitive signal cannot change at the edge of the clock. The consequence is that the result is incorrect.Measures: edit vector source file2.Verilog, HDL, assignment, warning, at, <location>: truncated, value, with, size, <number>, to, match,, size, of, target (<number>Reason: in HDL design, the number of targets is set, such as: reg[4:0] a, and default to 32 bits, the number of digits to the right sizeMeasure: if the result is correct, it needs no correction. If you don't want to see this warning, you can change the number of settings3.All, reachable, assignments, to, data_out (10), assign,'0', register, removed, by, optimizationReason: after the optimizer has been optimized, the output port is no longer functional4.Following 9, pins, have, nothing, GND, or, VCC, driving, datain, port - changes, to, this,, connectivity, may, change, results, fittingReason: ninth feet, empty or grounded or connected to the power supplyMeasures: sometimes the output port is defined, but the output is directly assigned to '0', which will be grounded and assigned '1' to the power supply. If these ports are used in your design, you can ignore these warning5.Found, pins, functioning, as, undefined, clocks, and/or, memory, enablesReason: you have no constraint information as the PIN of the clock. You can set the settings for the corresponding PIN. Mainly refers to some of your pin in the circuit played a role in the clock tube, such as the flip-flop CLK pin, and this pin has no clock constraint, so QuartusII CLK as undefined clock.Measures: if CLK is not a clock, can add "not clock" constraint; if it is, can be added in clock setting; in some of the clock requirements are not very high, you can ignore this warning or modified here: Assignments>Timing analysis settings... Individual clocks > >.....6.Timing, characteristics, of, device, EPM570T144C5, are,preliminaryReason: because MAXII is a relatively new component, the timing in QuartusII is not a formal version. Wait for Service PackMeasure: only affects Quartus's Waveform7.Warning:, Clock, latency, analysis, for, offsets, is, supported, for, the, current, device, family, but, is, PLL, not, enabledMeasure: change the on in setting, Requirements&Option-->More, Timing, Setting-->setting-->Enable, Clock, Latency, timing to OFF8.Found, clock, high, time, violation, at,, NS, on, register, |counter|lpm_counter:count1_rtl_0|dffs[11]"Reason: violated the steup/hold time, should be after the simulation, to see whether the waveform settings and the clock edge in line with steup/hold timeMeasure: adding a register in the middle can solve the problem9.warning:, circuit, may, not, operate.detected,non-operational,, paths, clocked, by, clock, clk44, with, clock,, skew, larger, delay, than, dataReason: clock jitter is greater than data delay, when the clock is very fast, and if and other classes of excessive levels of this problem will occur, but this problem is mostly in thedevice's highest frequency will appear措施:设置-->选项-->需要定时要求和改小一些违约,如改到50mhz10。
4_Quartus II应用向导_问题总结与解答
为什么要经常进行全程编译? 为什么要经常进行全程编译?
全程编译是一个软件自动查错,生成对应硬件结构方案, 全程编译是一个软件自动查错,生成对应硬件结构方案, 调用硬件资源并优化的过程。 调用硬件资源并优化的过程。 全程编译后,对应的硬件资源才能被确定, 全程编译后,对应的硬件资源才能被确定,需要的端口和 实现行为描述的RTL描述才能被确定。因此全程编译是形 描述才能被确定。 实现行为描述的 描述才能被确定 的基础。 成body的基础。 的基础 功能仿真、时序仿真、下载等都需要 功能仿真、时序仿真、下载等都需要body,有了 ,有了body才能 才能 进行内外部的对应。因此需要进行多次的全程编译。 进行内外部的对应。因此需要进行多次的全程编译。
设计输入 VHDL输入和原理图输入 输入和原理图输入 综合(全程编译)(语法) 综合(全程编译)(语法) )(语法 生成RTL级描述 级描述 生成 功能仿真和时序仿真(理论) 功能仿真和时序仿真(理论) 适配和下载(硬件实现) 适配和下载(硬件实现) 硬件功能调试 硬件bug的发现和修补 的发现和修补 硬件 SIGNALTAP 的使用 硬件功能的发展和升级
实验箱右方红色的拨键1、 、 拨上 其余拨下,数码管显示C1 拨上, 实验箱右方红色的拨键 、2、8拨上,其余拨下,数码管显示 拨码输入 SW1A: PIN_R22 SW2A: PIN_T22 SW3A: PIN_U21 SW4A: PIN_U22 按键输入 F1: PIN_U18 F2: PIN_AB17 F3: PIN_R18 F4: PIN_N21 LED输出 输出 LED0: PIN_W16 LED1: PIN_V14 LED2: PIN_Y13 LED3: PIN_AA16 LED4: PIN_U14 时钟: 时钟:PIN_L1 LED5: PIN_AA17 LED6: PIN_W15 LED7: PIN_AA18
quartus 2 软件常见问题集
措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数
3.All reachable assignments to data_out(10) assign '0', register removed by optimization
15.Can't achieve minimum setup and hold requirement <text> along <number> path(s). See Report window for details.
原因:时序分析发现一定数量的路径违背了最小的建立和保持时间,与时钟歪斜有关,一般是由于多时钟引起的
14.Warning: Can'tபைடு நூலகம்find signal in vector source file for input pin |whole|clk10m
原因:这个时因为你的波形仿真文件( vector source file )中并没有把所有的输入信号(input pin)加进去, 对于每一个输入都需要有激励源的
措施:在FF中设置较高的时钟频率
12.Warning: Found 10 node(s) in clock paths which may be acting as ripple and/or gated clocks -- node(s) analyzed as buffer(s) resulting in clock skew
注意在Applies to node中只用选择时钟引脚一项即可,required fmax一般比所要求频率高5%即可,无须太紧或太松。
Quartus II使用常见问题
在Quartus II下进行编译和仿真的时候,会出现一堆warning,有的可以忽略,有的却需要注意,虽然按F1可以了解关于该警告的帮助,但有时候帮助解释的仍然不清楚,大家群策群力,把自己知道和了解的一些关于警告的问题都说出来讨论一下,免得后来的人走弯路.下面是我收集整理的一些,有些是自己的经验,有些是网友的,希望能给大家一点帮助,如有不对的地方,请指正,如果觉得好,请版主给点威望吧,谢谢1.Found clock-sensitive change during active clock edge at time <time> on register "<name>"原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at <location>: truncated value with size <number> to match size of target (<number>原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋‘0’,便会被接地,赋‘1’接电源。
QUARTUS II常见错误解决方法
关于FPGA时钟,多说几句。FPGA设计中一般都会使用一个主时钟,也就是晶振的时钟。时序逻辑用到的各种时钟都是通过这个主时钟分频得到的。如果一个时钟驱动的逻辑门比较多的话,为了增加它的驱动能力就需要将它设置成全局时钟。多个时钟在FPGA内部是可以同时工作的,但是使用的时候要注意时序问题。
3.CLK 连接
SOPC综合后资源占用LE只有几百,警告数量数百。
原因一般是CLK的连接有问题。CPU在没有时钟的情况下形同虚设,在综合时被综合掉,产生大量警告。
4.负载电容(load capacitance)警告
Warning: Found 8 output pins without output pin load capacitance assignment
1.多模块或多进程驱动同一信号
Error (10028): Can't resolve multiple constant drivers for net "FLASH_A[7]"信号只能在一个进程中驱动,如果在多个进程中对其驱动的话将产生如上错误。解决方法为可以另加一个信号,通过在另一个进程中监视这个信号做出相应的动作。
QUARTUS II版本:9.0
FPGA型号:EP2C8Q208
配置芯片:EPCS4
SDRAM型号: HY57V28820HCT-H
FLASH型号 :TE28F320J3
之前已经接触QUARTUS II比较长的时间了,也遇到过不少问题,有些比较简单解决后就忘了,现在把能记得起来列在前面几个。后面的是自己后续遇到的问题的集锦...
6.仿真时存储器初始化
在使用FPGA内部的RAM时,会有一个初始化文件.mif,给RAM加上初始值或当作ROM用,因此仿真时必须把相应数据导入,首先要把mif文件转换为.hex文件或.rif文件。
Quartus 2 使用错误集锦
Quartus 2 使用错误集锦4月24日更新....1.Error: Top-level design entity "test" is undefined原因:顶层模块的module名没有和工程名同名解决方法:把顶层模块的module名改成和工程名同名2.Error (10278): Verilog HDL Port Declaration error at test.v(4): input port "clk_in" cannot be declared with type "reg"原因:输入变量不能定义成reg型,必须是wire型,我们做的一个芯片的输入引脚需要是实时采集输入数据的,所以必须是wire(导线),不能是寄存器型解决方法:把输入信号定义成线型wire3.Error (10137): Verilog HDL Procedural Assignment error at test.v(12): object "led" on left-hand side of assignment must have a variable data type原因:数据类型定义错误或者赋值类型错误解决方法:在always 过程块中被赋值的变量必须是reg (寄存器型),用assign 连续赋值的对象必须定义成wire(线型)4.Error: Can't place multiple pins assigned to pin location Pin_108 (IOC_X34_Y2_N0)原因:PIN_108是一个多功能管脚,还有一个功能是nCEO,也是默认的功能。
如果要用它当普通IO,需要提前设置一下解决方法:assignments>device>device and pin options>dual-purpose pins里面把nCEO 设置成use as regular i/o就可以了5.Error (10028): Can't resolve multiple constant drivers for net "key_flag" at clock.v(33)原因:一个变量不能同时被在两个always 过程块中被赋值解决方法:在两个always过程块中用两个不同的变量名,可以在module最后用assign 把变量的值作最后的统一,但是注意wire型和reg型的变量类型定义6.Warning (10230): Verilog HDL assignment warning at SMG_1S.v(21): truncated value with size 32 to match size of target (8)原因:赋值语句的等号两端数据的位宽不一致。
QuartusiiErrorWarning
QuartusiiErrorWarningQuartusII问题总结使用Quattus会遇到许多Warning,硬件描述语言和C不同,有些Warning是不允许存在的,有些可以忽略。
做一下对QuartusII Warnning的总结。
带编号的QuartusII Warnning:1、Warning (10227): Verilog HDL Port Declaration warning at v_led.v(4): data type declaration for "out" declares packed dimensions but the port declaration declaration does not 原因:输入输出没有定义位宽。
解决方法:对输出定义位宽。
有的教材书给的定义是output ...; reg[7:0] ...;这种定义会引起这种警告。
所以定义采用output reg[7:0] ...;就不会有这中警告。
2、Warning (10230): Verilog HDL assignment warning at v_led.v(13): truncated value with size 32 to match size of target (8)原因:Verilog默认的位宽是32位,你在编程是使用的类似counter=counter+1;后边的1没有给出数据宽度就会产生这种错误。
解决方法:对数据进行位宽的定义,例如counter=counter+8'd1;这种警告也可以忽略不管。
3、W arning (10240):Verilog HDL Always Construct warning at I2C_V_Config.v(153): inferring latch(es) for variable "LUT_DATA", which holds its previous value in oneor more paths through the always construct原因:信号被综合成了latch,锁存器的EN和数据输入端口存在一个竞争的问题解决方法:将计数器从里面抽出来4、Warning (10030): Net "rom.data_a" at control_store_dp.v(34) has no driver or initial value, using adefault initial value '0'原因:在同一时间对数据进行了赋值。
quartusii错误信息
quartusii错误信息1.Found clock-sensitive change during active clock edge at time on register ""原因:vector source file中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。
而时钟敏感信号是不能在时钟边沿变化的。
其后果为导致结果不正确。
措施:编辑vector source file2.Verilog HDL assignment warning at : truncated with size to match size of target (原因:在HDL设计中对目标的位数进行了设定,如:reg[4:0] a;而默认为32位,将位数裁定到合适的大小措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数3.All reachable assignments to data_out(10) assign '0', register removed by optimization原因:经过综合器优化后,输出端口已经不起作用了4.Following 9 pins have nothing, GND, or VCC driving datain port -- changes to this connectivity may change fitting results 原因:第9脚,空或接地或接上了电源措施:有时候定义了输出端口,但输出端直接赋…0?,便会被接地,赋…1?接电源。
如果你的设计中这些端口就是这样用的,那便可以不理会这些warning5.Found pins ing as undefined clocks and/or memory enables原因:是你作为时钟的PIN没有约束信息。
可以对相应的PIN做一下设定就行了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Quartus II常见问题集锦
1、
【问题】Pin Planner 的使用问题:在QuartusII 7.2 ,时序仿真都通过,但是,一旦使用Pin Planner设定引脚后,时序仿真就发生变化,与功能仿真结果不一致,不是理想的结果。
使用Pin Planner时要注意些什么问题呢?
【解答】如果在没有设定引脚时就进行时序仿真,那么在后仿真就会不准确。
因为当设定引脚以后,需要重新进行布局布线,这和没有设定引脚是不同的,因此,布线的改变自然会影响到时序的改变。
通常的做法是:先做好所有的设定,生成网表文件和延时文件,再加上激励文件进行仿真,这个时候的仿真结果是最接近实际情况的。
通常的pin设定没有特定要求,差分信号是成对的。
所以请不要搞错。
时钟信号尽量使用专用的时钟引脚;普通I/O没有什么限制,做好时序约束就可以了。
2、
【问题】怎样配置cyclone FPGA的管脚功能?
【解答】FPGA芯片的引脚分为好多类,有通用IO,有时钟网络,有复位网络,这些引脚的具体功能是在布线时由用户选择的。
你可以自由的配置这些引脚的功能,但最好根据芯片的数据手册进行选择,如将时钟配置到专用时钟引脚上,将复位配置到专用复位引脚上,否则会影响最终的布线结果。
3、
【问题】分配fpga管脚时该怎么选择,引脚有什么属性需要考虑,quartus2中引脚有几个属性:Reserved,Group,I/O Bank,Vref Group,I/O standard( 3.3-V LVTTL(default) )分别是什么意思,要怎么设置?
【解答】首先说IO standard:这个是用于支持对应不同的电平标准。
FPGA IO 口的电压由IO bank上的VCC引入。
一个bank上引入3.3V TTL电平,那么此时整个bank上输出3.3V的TTL电平。
设置这个第一是为了和current strength 一起计算功率。
第二个是用于在IO口上加载正确的上拉/下拉电阻。
只要你设置完成,Quartus会按照你的电平标准自动布线。
第二是IO Bank:你在quartus pin planner 的top view下右键然后点击 show IO banks,这个时候就会看到FPGA的管脚被几种颜色划分开了。
一种颜色下的IO口代表一组bank。
你在吧管脚的location约束完成以后。
IO Bank会自动填
充完毕的。
第三是Group:Group就是你所输出的信号的名字啦。
比如你有一组信号叫cnt。
你对cnt的某一根赋值,那么。
这里的Group会自动填充为cnt 。
第四是Reserved:这个是对管脚内部的IO逻辑进行约束的,你在下面可以看到一些值。
介绍几个吧。
bidrectional:双向,tri-state:三态等等。
这个约束的是FPGA在IO端的输入输出区域的逻辑。
比如你选择tri-state。
那么这个时候,在你IO口前部的IO区,quartus会自动给你生成一个三态门。
第五个是Vref Group:这个Group是bank内部的细分区域,因为一个bank可能多达60个脚。
为了快速定位,你可以利用这个vref group来找到某个管脚。
(这个是非修改属性)无法修改。
4、
【问题】我的理解:IO standard是根据你所要输入的电平来设置,Group是根据所分配的信号端口自动确定,而每个引脚的IO Bank本身已经确定!另外,分配的引脚所属的IO Bank不同有关系吗?引脚的分配除了要考虑专用引脚和用户引脚的区别外,还要考虑什么因素?
【解答】理解是正确的,另外,跨越IO bank的信号没有问题。
只是注意跨bank 的电平是否一致即可。
对于跨IO bank的延迟对于FPGA而言没有多少延迟。
管脚分配呢,你可以看一下quartus里面pin planner内部那张 top view对于每个管脚的说明。
大多数管脚是可以当做普通IO使用的。
只是有些特殊要求的时候。
只可以使用对应的IO,比如差分输入,高时钟输入等等。
这个是要参照对应器件的IO 手册来决定的。
而且对应的设计大多数的器件生产商都会给出参考设计。
里面包括了IO的设计,pcb的设计以及内部程序端口的约束。
所以具体问题具体分析。
5、
【问题】什么是锁相环(PLL)?锁相环的工作原理是什么?锁相环电路对硬件电路连接有什么要求?
【解答】锁相环是一种反馈电路,其作用是使得电路上的时钟和某一外部时钟的相位同步。
PLL通过比较外部信号的相位和由压控晶振(VCXO)的相位来实现同步的,在比较的过程中,锁相环电路会不断根据外部信号的相位来调整本地晶振的时钟相位,直到两个信号的相位同步。
在数据采集系统中,锁相环是一种非常有用的同步技术,因为通过锁相环,可以
使得不同的数据采集板卡共享同一个采样时钟。
因此,所有板卡上各自的本地80MHz和20MHz时基的相位都是同步的,从而采样时钟也是同步的。
因为每块板卡的采样时钟都是同步的,所以都能严格地在同一时刻进行数据采集。
通过锁相环同步多块板卡的采样时钟所需要的编程技术会根据您所使用的硬件板卡的不同而不同。
对于基于PCI总线的产品(M系列数据采集卡,PCI数字化仪等),所有的同步都是通过RTSI总线上的时钟和触发线来实现的;这时,其中一块版板卡会作为主卡并且输出其内部时钟,通过RTSI线,其他从板卡就可以获得这个用于同步的时钟信号,对于基于PXI总线的产品,则通过将所有板卡的时钟于PXI内置的10MHz背板时钟同步来实现锁相环同步的。
关于更多的不同仪器的锁相环技术,请点击下面相关的连接。