《第13章算术库000002》由会员分享,可在线阅读,更多相关《第13章算术库000002(44页珍藏版)》请在金锄头文库上搜索。
1、第第1313章章 算术库算术库 第第13章章 算术库算术库 13.1 比较器模块比较器模块 13.2 计数器模块计数器模块 13.3 差分模块差分模块 13.4 除法模块除法模块 13.5 增益模块增益模块 13.6 递增递减模块递增递减模块 13.7 乘法累加模块乘法累加模块 尊挑鸯暴优埠楼析裸逝盏后孟馏猛梗貉浓回迷止试嫌龄版虑宪盆娠柯景惹第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.1 比较器模块比较器模块比较器模块(ComparatorBlock)的功能是比较两个Simulink信号,而后返回一个标志位。此模块自动识别输入数据的类型(如有符号二
2、进制数或无符号整数等)。表13-1给出了比较器模块的参数说明。图13-1是一个使用了比较器模块的设计实例。担谤尼闰腑类沏锄插渔梆观族撂樊讽筛黎南缚地忿格给褪卉惑兰掀真巩失第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-1比较器模块参数说明名称比较条件表达式说明Operatora=b,a=b,aba=b,ab表示在两个数据总线上需要完成的操作方式遮奔伎林恼惹勺拉菩惕言盆耀撰磐除宅藤绪扇版村糊纱组峰丽古郴脸骄挨第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图图13-1 Comparator Block实例实例蜜靡翼驾
3、蛹酮领抿麻靛涣疲涌挠蒙斥台罐默桨糜噎冬趾献椭都同蔡稍魂妒第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.2 计数器模块计数器模块计数器模块(CounterBlock)是一个加减计数器,表13-2是此模块的参数表。弗苛骑玖咙圭檬诣靖王绦湃浆钎藐毅厩垣挖铁概党猖邵求乏惫豌柠笆咕肄第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-2计数器模块参数说明名称数值和选项说明BustypeSignedInteger,SignedFractionalUnsignedInteger设定用于计数器的总线的数据格式numberofb
4、its.151选择小数点左侧的计数位数.numberofbits051选择小数点右侧的位数,此选择中,如果不是选为有符号小数,右侧的数应为0CountModuloUserDefined设定计数周期,即设多少进制计数方式囱卡溺辩抨司坷玖谬邻软诗蚀情腔条盼秤仍仇焉墓侨讲揉展腋布液谰豆陡第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.3 差分模块差分模块差分模块(DifferentiatorBlock)是一个有符号整数差分器,此模块可用于DSP功能块中,如CIC滤波器。表13-3给出了此模块的参数说明。搽硝诡网淤伪磺鸥仪恩剿被岭死甸素汉冯缮臻闸抗皿笆童羚撤咱
5、蜗滤蹬汐第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-3差分模块参数说明名称数值说明NumberofBits251设置二进制位数员寓规仁缕捉宠显细渠进茫街爱治稍腹骄座浮拧烩嘿拧索术响淆梭蔬烫慢第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.4 除除 法法 模模 块块除法模块(DividerBlock)接受除数和被除数,然后计算出它们的商和余数。其中除数、被除数、商和余数的数据位宽类型是相同的。图13-2是一个使用了除法模块的设计实例。表13-4是此模块的参数表。紊稠老齐辟量呻捂阿隶绣稳妹瑟荚花沤疹腻谴襟页舅
6、紧戴赦叭钉肃渐彝挛第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图13-2除法模块使用实例济侠淫辜婪跳艺玻辨捌宰搏掉讹涝襟琅育漱鞍肆浑潭冬冉艾搂奇坚伏掀域第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-4除法模块参数说明名称数值和选项说明BustypeSignedInteger,SignedFractionalUnsignedInteger指定用于除法器的总线的位宽格式number of bits.151选择小数点左侧的位数 .numberofbits051选择小数点右侧的位数只有选择了有符号小数时才能作此选择P
7、ipelineOn或Off当选择“On”将增加一级流水线,以增加数据的吞吐量宇磐狮兢田讨己况蹋釜诺览挟数膝考虑郁题劣拯儡尽隶换鸿峨竭啦室滥惯第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.5 增增 益益 模模 块块增益模块(GainBlock)的输出等于输入信号乘上一个给定的增益因子。对于引入的增益模块必须在增益参数表中设定一个数值,要求输入信号值与增益因子都必须是标量。注意:可以在Simulink环境设计中引入增益模块,但此模块只能用于仿真,SignalCompiler无法将其转化为VHDL。表13-5是此模块的参数表。图13-3是一个使用了Gain
8、模块的实例。氯歹鞠福轻吨虚朱疼搜羡催捕卵摈嫡玩儿佑穗扯肺设逸格虚隋茵妓挟贬综第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-5增益模块的参数说明名称数值与选项说明GainValueUserDefined由用户设定增益值,数值类型是十进制数,此数将对应总线的数据格式MapGainValuetoBusTypeSignedIntegerSignedFractionalUnsignedInteger将设定的GainValue转成格式与But对应GainValuenumberofbits.151增益值选择小数点以左的位数,包括增益值的符号位曝学龋员挣林淋敖绢槐
9、疵摇依伤逃纹寡榨贞辈蛰须冀类裂纬宽撇皖泛克虑第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 .GainValuenumberofbits051增益值选择小数点以右的位数。注意,当选中“SignedFractional”选项后才能作以上选择Number of PipelineLevels04设定流水线延时UseLPMOn或Off此参数选择可用于综合。当打开“UseLPM”选项时,增益模块就被映射于LPM库中的LPM_MULT功能块,于是VHDL综合器就能调用Altera的LPM_MULT功能块了UseControlInputsOn或Off提示用户是否要使用另加
10、的输入控制信号(如时钟使能和复位信号等)。注 意 , 只 有 当 设 置 “Number ofPipelineLevels”大于1时才能作此选择担谨它控汐固脓套整贝现吧昼吉情舷啡屎治咨当篮签赊篡饺粮烧磅柱屎埃第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 名称数值与选项说明ClockPhaseSelectionUserDefined相 位 选 择 。 只 有 当 “Number ofPipelineLevels”的设置大于1时才能有此选项。这里所选的相位值以一个二进制数来表达。二进制中的1表示在此相位中的模块被使能。例如,二进制数:1:表示模块始终使能,所有
11、的数据都可通过此模块10:表示每隔一个相位模块被使能一次,而只有此时数据才能被通过0100:此模块在4个相位数中的第2相位数输出时才被使能,并且只有在此时数据才能通过。换句话说,在第1、3、4位数出现时,数据无法通过此模块煎滑郎仁自操舵洋尺做滥缠汐酣扭向杜竹幸横磅榴罚阑钵瑶互腮柿郊芬扎第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图图13-3 使用使用Gain 模块的电路模块的电路铣灵淆沧澜昭沾丸厅疤缝谦希诽符南滋昌芹魔昂驱川咨亲谴氖锡壤足腺克第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.6 递增递减模块递增递减
12、模块递增递减模块(IncrementDecrementBlock)产生一个顺时计数序列,其输出可以是有符号整数、无符号整数、有符号二进制小数。对于所有的数据类型,计数序列都是在最低位LSB递增或递减1。表13-6就是这种模块的参数表。模块有一个时钟相位选择控制项,具体说明如表13-6所述。鲜乃佃定蛮瞒纲走辨屹炯滓桐靖社磺迎粪圃硷佬驼纂微交挺碗承咙苔亏龄第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-6递增递减模块参数说明名称数值与选项说明BusTypeSignedIntegerSignedFractionalUnsignedInteger选择用于总线
13、的数据格式(类型)numberofbits.151选择小数点以左的二进制数位,包括符号位.numberofbits051选择小数点以右的二进制数位。注意,这项选择只有选了“SignedFractional”后才存在圣暴揽低坤否派契悸月钡拴编肛压料玻御厢取蹈舍鹊症李亭专耸菌卞凑砂第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 DirectionIncrementorDecrement选择加法或减法计数StartingValueUserDefined输入计数初始值UseControlInputsOn或Off选“On”表示使用另加的控制输入信号,如时钟使能或复位等
14、ClockPhaseSelectionUserDefined相位选择只有当“Number of PipelineLevels”的设置大于1时才能有此选项。这里所选的相位值以一个二进制数来表达。二进制中的1表示在此相位中的模块被使能。此选项的功能示例可参考表13-5轻弦袍耻枉搁渠妙檀发那狞剿起审载韧橱潦藐酮花喻夷麓磅聚刹讽珐哺最第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图13-4是一个使用了递增递减模块的示例。图图13-4 Increment or Decrement应用实例应用实例佰东又阑唐蝗慈橙遣渴摇羹仰挖浩涛慈哺舞悯墟饵蕉茶涕捏以剥腊积央笨第13章
15、算术库000002第13章算术库000002第第1313章章 算术库算术库 13.7 乘法累加模块乘法累加模块乘法累加模块(MultiplyAccumulateBlock)是由一个乘法器和一个累加器构成的模块。其输入的数据类型可以是有符号整数、无符号整数、有符号二进制小数。表13-7是此模块的参数表。隧笺攫暑宋涩迅守邀油羽日咖奄眯病甜灰章荔瘁纺怎栋冕刁栽令锋蓟哎匠第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-7乘法累加模块参数说明名称数值与选项说明BusTypeSignedIntegerSignedFractionalUnsignedInteger
16、选择用于总线的数据格式(类型)Input A number of bits.151选择小数点以左的二进制数位,包括符号位Input A . numberofbits051选择小数点以右的二进制数位。注意,这 项 选 择 只 有 在 选 了 “SignedFractional”后才存在Input B number of bits.151选择小数点以左的二进制数位,包括符号位淋俐之氏脾敬史上葬措静朝捞讲铂咬烬栈冒嘎拜剪贩耳踌烤赵懈鸥俏形辽第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 Input B . numberofbits051选择小数点以右的二进制数位。
17、注意,这 项 选 择 只 有 在 选 了 “SignedFractional”后才存在DirectionIncrementorDecrement选择加法或减法计数OutputResultBits151选择输出的位数PipelineRegisterNone,DataInputsMultiplierOutputDataInputsandMultiplier确定是否要将流水线方式加到数据的输入端或/和乘法器的输出端,或两个端口都不加导裔幻版面五掖职济撤驼措垛味卿庞阁析咎叔宪汛烯靠蝗妒砍俗定刨汝惰第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 Accumulator
18、DirectionAdd,Subtract选择累加器对乘法器计算出的结果作加法还是作减法运算UseControlInputsOn或Off选择是否使用其它控制信号CreateOverflowOutputPortOn或Off选择是否使用累加器的溢出端UseDedicatedCircuitryOn或Off如果目标器件是Stratix系列器件,选“On”表示将设计系统中的功能块用Stratix器件中的专用IP宏单元实现,但若目标器件不是Stratix器件,则使用普通的逻辑宏单元实现贩凝娄橡搪芦眺哀既寨奴耽钒图咋储搂坝破曳煽亭椭腋菜徊选俯承匣夹赞第13章算术库000002第13章算术库000002第第1
19、313章章 算术库算术库 图13-5是一个使用了乘法累加器模块的设计实例。图图13-5 乘法累加器模块应用示例乘法累加器模块应用示例股赊酝悯沏牡揩很枷刮硒诽银娄蓉原括芯沾截制森摸听汞钻荷咏罕淆吧畸第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.8 乘加模块乘加模块乘加模块(MultiplyAddBlock)由一个或多个乘法器与一个并行加法器构成,其中所有的乘法器的输出都进入加法器中进行操作。输入数据的数据类型可以是有符号整数、无符号整数、有符号二进制小数。表13-8是此模块的参数表。图13-6是使用乘加模块的一个示例。掀薪见霜弟拿互最柑刑醛引沸茬烂且催
20、僵非嘶麦塑匝按拂卧软踞蓬挫赠岁第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图图13-6 使用乘加模块实例使用乘加模块实例病很挑隧嫌版蓝赤灭葡龋越嫁琶惑拘孵契耗慕郭围雄痪蜕姬坎钉锄讥骄啮第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-8乘加模块参数说明名称数值与选项说明NumberofMultipliers2、3、4选择馈入加法器的乘法器数量BusTypeSignedIntegerSignedFractionalUnsignedInteger选择用于总线的数据格式(类型)Inputs number of bits
21、.151选择小数点以左的二进制数位,包括符号位Inputs . numberofbits051选择小数点以右的二进制数位。注 意 , 这 项 选 择 只 有 在 选 了“SignedFractional”后才存在缎判刹垃焦惯猴免糠沈平怠陀锌蔡著榴越茶试辈同招喂纶诗宿津吭汐卡豺第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 AdderModeAddAdd,AddSubSubAdd,SubSub选择加法器操作方式OutputResultBits151选择输出的位数PipelineRegisterNo Register, InputsOnlyMultiplierO
22、nly,AdderOnlyInputsandMultiplierInputsandAdderMultiplierandAdderInputs Multiplier andAdder选择需要加入流水线结构的诸电路单元季骨粘融屁雅啤捕卧沂叙龟膜砸滓氟刁雄宦礁抓刨喧寄迷斤岗菜彩郁华娶第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 名称数值与选项说明UseClockEnableOn或Off选择是否使用另加的时钟控制UseDedicatedCircuitryOn或Off如果目标器件是Stratix系列器件,选“On”表示将设计系统中的功能块用Stratix器件中的专用
23、IP宏单元实现。但若目标器件不是Stratix器件,则使用普通的逻辑宏单元实现OneInputisConstantOn或Off如果要选择某一输入端输入一常数,可 选 “On”, 这 个 选 择 应 当 与“Constant Values”参数项一同选中ConstantValuesUserDefined可由用户在此栏中输入一个常数作为MATLAB数列。此项只有在选中“OneInputisConstant”后才有意义泽横飞涨岗络驾终驮笔噶脱忻骑率瞩裂贴腾伐趋荣毒等美跺膊险垫翌蝇臻第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.9 并行加减法器模块并行加减法
24、器模块并行加减法器模块(ParallellAdderSubtractorBlock)接受任何数据类型的输入数据。如果输入数据的位宽不同,则SignalCompiler将对数据位进行扩充使所有输入数据位宽等于原最宽的输入数据宽度,所生成的VHDL设计中将此结构进行优化,平衡加法数据通道的位宽。表13-9是此模块的参数表。图13-7是并行加减法模块的应用实例烧茧眨椰峻呀坍拘腑江环逊坍消湍段逐仲桌锰茫喀较选棵晴晤们台搽铬魁第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-9并行加减法器模块参数说明名称数值与选项说明NumberofInputs216选择输入数
25、据的数目Add(+)Sub(-)UserDefined对每一端口,选择(+)或(-),规定作加法或减法操作。如对3个端口的情况,选+-+,则产生ab+c的操作方式。注意SignalCompiler不接受连续两个减号(-)的选择,但-+-的方式是正确的PipelineOn或Off若对此项选“On”,则流水线延迟等于Ceil(lb输入数)新襟疯尿婶珊谊远检敲稳摊驹遇会棺善过尔汹彦丑洞霹凤萌迹概杀能于躯第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 UseControlInputsOn或Off选“On”表示使用另加的控制输入信号,如时钟使能或复位等ClockPha
26、seSelectionUserDefined相位选择。只有当“Number ofPipelineLevels”的设置大于1时才能有此选项。这里所选的相位值以一个二进制数来表达。二进制中的1表示在此相位中的模块被使能此选项的功能示例可参考表13-5师商砒猜作膜斤庄谤褪疙悔佛浸卤潭淡斧迁栏檄量陌岔防生赢勿希会铅屿第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图图13-7 并行加减法器使用电路并行加减法器使用电路夯硬润区盼狮菌储弦鞋砰健颗荚箱输管车后肪外狼锣嘛怨缨洪和蒸卸扭淀第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13
27、.10 乘积模块乘积模块 乘积模块(ProductBlock)支持两个标量的输入(非多维的Simulink信号)。注意,Simulink软件提供Product模块,但如果在Simulink环境中使用Product模块,只能用于仿真而不能被SignalCompiler转化成VHDL。因此,如果在SignalCompiler工具栏使用Product模块,只能把它作为一个黑盒子处理,否则将报错。而这个黑盒子在一定条件下可以用LPM模块来代替。表13-10是此模块的参数表。图13-8是Product模块的应用实例。样焰殷亡嘉筐均赔晕梢凶绿抠荒颤毋期且彦证凝烷壳逮精鸡磊锥媚竞敲崖第13章算术库00000
28、2第13章算术库000002第第1313章章 算术库算术库 表13-10乘积模块参数说明名称数值与选项说明Pipeline04取Pipeline值作为延时UseLPMOn或Off这个参数的选择是用于综合的。当选“UseLPM”为“On”时,设计中的Product模块将映射为LPM_MULT,并从其库中调用和综合;如果选“Off”,VHDL综合器就使用负号操作符作Product模块UseDedicatedMultiplierCircuitryOn或Off若选择“On”,将使适配器对设计模块用Mercury或Stratix器件中专用硬件乘法器核来实现。如果目标器件不是上述系列,则此项选择被忽略锑荤
29、尽也馁帮砚阐眉苞抒贱壤彼锯廉灯变得陕弓彭钳狸计辖紧刷纠担智酗第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 UseControlInputsOn或Off选“On”表示使用另加的控制输入信号,如时钟使能或复位等ClockPhaseSelectionUserDefined相 位 选 择 , 只 有 当 “Number of PipelineLevels”的设置大于1时,才能有此选项。这里所选的相位值以一个二进制数来表达。二进制中的1表示在此相位中的模块被使能。此选项的功能示例可参考表13-5厄耸闪熏蔬桃断就展迭原泄踏倦冠匡笺输蔓蝶七舌钒洋洲斥猴寓采挖抓鹰第13章
30、算术库000002第13章算术库000002第第1313章章 算术库算术库 图图13-8 Product模块的应用电路示例模块的应用电路示例候柑演胞幢栏矛秤肺凶你窍宪桑褂孜钨谰峙崩涩譬类霹境佬咕闹汇蚀坐拓第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.11 其它算术模块其它算术模块 13.11.1 SOP TAP模块模块SOPTAP模块的功能是对24阶的乘积进行相加求和。这个模块的操作方程如下:若阶数选择为2,有q=c0din(n)+c1din(n1)若阶数选择为4,有q=c0din(n)+c1din(n1)+c2din(n2)+c3din(n3)孵麦
31、涕庆挛掌迪倡炽胜赐惶筹案填睫魁友皋缸融叉凯领烧椿尖洛娶萧慰驰第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 设计者可以使用此模块建立24阶的FIR滤波器,也可以将SOPTAP模块级连起来构成更高阶的滤波器。表13-11是此模块的参数表。表13-11SOPTAP模块参数说明名称数值与选项说明InputNumberofBits251选择位数BusTypeSigned Integer, SignedFractionalUnsignedInteger选择用来作计数器的数据格式NumberofTaps2或4选择阶数祷篆戎允茅佬涝锄康券苔解寞硬依鸭纳仟导乏枢系畸姬震糜贴
32、冤战人输钳第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.11.2流水线加法器模块流水线加法器模块(PipelinedAdderBlock)是一个加/减法器,表13-12是此模块的参数表。含坐拯歇罢盲含勒杨耿鸭亲男额舒盔齿织掷贷迸漠馏秧缨瑞弥键徘率玄粱第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 表13-12流水线加法器模块参数说明名称数值与选项说明BusTypeSignedInteger,SignedFractionalUnsignedInteger选择用来作计数器的数据格式numberofbits.151选择小
33、数点以左的二进制数位,包括符号位 . number ofbits051选择小数点以右的二进制数位。注意,这 项 选 择 只 有 在 选 了 “SignedFractional”后才存在Pipeline04确定流水线次数吨遮逗切袒资鲜递柿召翟乱烬日亦钉址最远授锚党丘藩喉翁鳖帝慈翰盛桑第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 13.11.3 积分模块积分模块积分模块(IntegratorBlock)是一个有符号整数的积分器。此模块可用于DSP功能块,如CIC滤波器。表13-13给出了此模块的参数说明。图13-9是Integrator模块的应用示例图。表13-13积分模块参数说明名称数值与选项说明NumberofBits251确定位数碟挠鹿淌死矗抗障涎互葬赚趁蜗痔滞卢槽睫伞晨毋太葛瞄喇拓词帜俩牡枚第13章算术库000002第13章算术库000002第第1313章章 算术库算术库 图图13-9 Integrator模块的应用示例模块的应用示例据苹肪冬一肿曰傈钓氨差腕佰竖刚捏言涧迄莎然核捎培滞肇妇对余褐蚀跃第13章算术库000002第13章算术库000002