EDA技术与VHDL DSP Builder设计初步_第1页
EDA技术与VHDL DSP Builder设计初步_第2页
EDA技术与VHDL DSP Builder设计初步_第3页
EDA技术与VHDL DSP Builder设计初步_第4页
EDA技术与VHDL DSP Builder设计初步_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

会计学1EDA技术与VHDLDSPBuilder设计初步9.1Matlab/DSPBuilder及其设计流程KX康芯科技图9-1基于Matlab、DSPBuilder、QuartusII等工具

第1页/共127页9.1Matlab/DSPBuilder及其设计流程KX康芯科技自动流程:1、MATLAB/Simulink建模;2、系统仿真;3、DSPBuilder完成VHDL转换、综合、适配、下载;4、嵌入式逻辑分析仪实时测试。手动流程:1、MATLAB/Simulink建模;2、系统仿真;3、DSPBuilder完成VHDL转换、综合、适配;4、Modelsim对TestBench功能仿真;5、QuartusII直接完成适配(进行优化设置);6、QuartusII完成时序仿真;7、引脚锁定;8、下载/配置与嵌入式逻辑分析仪等实时测试;9、对配置器件编程,设计完成。第2页/共127页9.2正弦信号发生器设计

KX康芯科技图9-2正弦波发生模块原理图

第3页/共127页9.2正弦信号发生器设计

KX康芯科技9.2.1建立设计模型1、打开Matlab环境

图9-2正弦波发生模块原理图

第4页/共127页9.2正弦信号发生器设计

KX康芯科技9.2.1建立设计模型2、建立工作库cde:/mkdir/myprj/sinwavecd/myprj/sinwave第5页/共127页9.2正弦信号发生器设计

KX康芯科技3、了解simulink库管理器

图9-2正弦波发生模块原理图

第6页/共127页9.2正弦信号发生器设计

KX康芯科技3、了解simulink库管理器

图9-5simulink库管理器第7页/共127页9.2正弦信号发生器设计

KX康芯科技4.simulink的模型文件

图9-6建立新模型第8页/共127页9.2正弦信号发生器设计

KX康芯科技5、放置SignalCompilder

6、放置IncrementDecrement

7.设置IncCount总线类型(BusType);输出位宽(Numberofbits);增减方向(Direction);开始值(StartingValue);是否使用控制输入(UseControlInputs)时钟相位选择(ClockPhaseSelection)第9页/共127页9.2正弦信号发生器设计

KX康芯科技图9-7放置SignalCompiler

第10页/共127页9.2正弦信号发生器设计

KX康芯科技图9-8递增递减模块改名为IncCount7.设置IncCount第11页/共127页9.2正弦信号发生器设计

KX康芯科技图9-9设置递增递减模块

7.设置IncCount第12页/共127页9.2正弦信号发生器设计

KX康芯科技图9-10LUT模块7.设置IncCount第13页/共127页9.2正弦信号发生器设计

KX康芯科技8、放置正弦查找表(SinLUT)127*sin[0:2*pi/2^6]:2*pi])9-1127*sin[0:2*pi/2^8]:2*pi])

9-2511*sin[0:2*pi/2^6]:2*pi])+512

9-3第14页/共127页9.2正弦信号发生器设计

KX康芯科技图9-11设置SinLUT

8、放置正弦查找表(SinLUT)第15页/共127页9.2正弦信号发生器设计

KX康芯科技图9-12Delay模块及其参数设置窗9、放置Delay模块第16页/共127页9.2正弦信号发生器设计

KX康芯科技图9-13设置SinCtrl

10、放置端口SinCtrl

第17页/共127页9.2正弦信号发生器设计

KX康芯科技图9-13设置SinCtrl

10、放置端口SinCtrl

第18页/共127页9.2正弦信号发生器设计

KX康芯科技图9-14设置乘法单元11、放置Product模块第19页/共127页9.2正弦信号发生器设计

KX康芯科技图9-15设置SinOut

12.放置输出端口SinOut13.设计文件存盘第20页/共127页9.2正弦信号发生器设计

KX康芯科技图9-16Step模块9.2.2Simulink模型仿真1、加入仿真步进模块

第21页/共127页9.2正弦信号发生器设计

KX康芯科技图9-17Scope模型

9.2.2Simulink模型仿真2、添加波形观察模块第22页/共127页9.2正弦信号发生器设计

KX康芯科技图9-18Scope初始显示2、添加波形观察模块第23页/共127页9.2正弦信号发生器设计

KX康芯科技图9-19设置Scope参数

3、Scope参数设置

第24页/共127页9.2正弦信号发生器设计

KX康芯科技图9-20sinout全图

3、Scope参数设置

第25页/共127页9.2正弦信号发生器设计

KX康芯科技图9-21设置Step4、设置仿真激励第26页/共127页9.2正弦信号发生器设计

KX康芯科技图9-22simulink仿真Start

4、设置仿真激励第27页/共127页9.2正弦信号发生器设计

KX康芯科技图9-23simulink仿真设置

5、启动仿真

第28页/共127页9.2正弦信号发生器设计

KX康芯科技图9-24有符号输出波形(系统级仿真)5、启动仿真

第29页/共127页9.2正弦信号发生器设计

KX康芯科技图9-25无符号输出波形(系统级仿真)5、启动仿真

第30页/共127页9.2正弦信号发生器设计

KX康芯科技图9-26无符号整数SignedInteger输出电路

6、设计成无符号数据输出

第31页/共127页9.2正弦信号发生器设计

KX康芯科技图9-27SinOut1模块设置7、各模块功能说明

第32页/共127页9.2正弦信号发生器设计

KX康芯科技图9-28ExtractBit模块设置

7、各模块功能说明

第33页/共127页9.2正弦信号发生器设计

KX康芯科技图9-29BusConversion模块设置

7、各模块功能说明

第34页/共127页9.2正弦信号发生器设计

KX康芯科技图9-30BusConcatenation模块设置7、各模块功能说明

第35页/共127页9.2正弦信号发生器设计

KX康芯科技图9-31SinOut1模块设置

7、各模块功能说明

第36页/共127页9.2正弦信号发生器设计

KX康芯科技图9-32NOT模块设置7、各模块功能说明

第37页/共127页9.2正弦信号发生器设计

KX康芯科技图9-33双击SignalCompiler

9.2.3SignalCompiler使用方法

1、分析当前的模型第38页/共127页9.2正弦信号发生器设计

KX康芯科技图9-34打开SignalCompiler窗口

2、设置SignalCompiler

第39页/共127页9.2正弦信号发生器设计

KX康芯科技图9-35sinout工程处理信息

3、把模型文件MDL转换成VHDL4、综合(Synthesis)

5、QuartusII适配第40页/共127页9.2正弦信号发生器设计

KX康芯科技图9-36准备执行tcl文件

9.2.4使用ModelSim进行RTL级仿真

第41页/共127页9.2正弦信号发生器设计

KX康芯科技图9-37ModelSim仿真结果

9.2.4使用ModelSim进行RTL级仿真

第42页/共127页9.2正弦信号发生器设计

KX康芯科技图9-38ModelSim的信号设置

9.2.4使用ModelSim进行RTL级仿真

第43页/共127页9.2正弦信号发生器设计

KX康芯科技图9-39设为Analog

9.2.4使用ModelSim进行RTL级仿真

第44页/共127页9.2正弦信号发生器设计

KX康芯科技图9-40sinout工程的ModelSim仿真波形(RTL级仿真)

9.2.4使用ModelSim进行RTL级仿真

第45页/共127页9.2正弦信号发生器设计

KX康芯科技图9-41打开QuartusII工程进行编译和时序仿真

9.2.5使用QuartusII实现时序仿真第46页/共127页9.2正弦信号发生器设计

KX康芯科技图9-42QuartusII工程VHDL程序实体

9.2.5使用QuartusII实现时序仿真第47页/共127页9.2正弦信号发生器设计

KX康芯科技图9-43打开QuartusII工程的vec仿真激励文件

9.2.5使用QuartusII实现时序仿真第48页/共127页9.2正弦信号发生器设计

KX康芯科技图9-44设置仿真文件路径

9.2.5使用QuartusII实现时序仿真第49页/共127页9.2正弦信号发生器设计

KX康芯科技图9-45sinout工程的QuartusII仿真波形(门级时序仿真)

9.2.5使用QuartusII实现时序仿真9.2.6硬件测试与硬件实现第50页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-46准备建立subsystem

9.2.5使用QuartusII实现时序仿真第51页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-47建立subsystem后

9.2.5使用QuartusII实现时序仿真第52页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-48subsin/subsystem子系统图

9.2.5使用QuartusII实现时序仿真第53页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-49修改子系统名

9.2.5使用QuartusII实现时序仿真第54页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-50修改SubSystem的端口

9.2.5使用QuartusII实现时序仿真第55页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-51顶层图的改变

9.2.5使用QuartusII实现时序仿真第56页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-52含subsystem的subsint模型

9.2.5使用QuartusII实现时序仿真第57页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-53Scope1波形图

9.2.5使用QuartusII实现时序仿真第58页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-54Scope波形图

9.2.5使用QuartusII实现时序仿真第59页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-55SubSystem设置

9.2.5使用QuartusII实现时序仿真第60页/共127页9.3DSPBuilder层次化设计

KX康芯科技图9-56编辑singen的“Masktype”

9.2.5使用QuartusII实现时序仿真第61页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-57DDS系统

9.4.1DDS模块设计

第62页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-58DDS子系统SubDDS

9.4.1DDS模块设计

第63页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技

9.4.1DDS模块设计

Freqword模块:(Altbus)库:AlteraDSPBuilder中IO&Bus库参数“BusType”设为“signedInteger”参数“NodeType”设为“Inputport”参数“numberofbits”设为“32”

Phaseword模块:(Altbus)库:AlteraDSPBuilder中IO&Bus库参数“BusType”设为“signedInteger”参数“NodeType”设为“Inputport”参数“numberofbits”设为“32”

第64页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技

9.4.1DDS模块设计

Amp模块:(Altbus)库:AlteraDSPBuilder中IO&Bus库参数“BusType”设为“signedInteger”参数“NodeType”设为“Inputport”参数“numberofbits”设为“10”

DDSout模块:(Altbus)库:AlteraDSPBuilder中IO&Bus库参数“BusType”设为“signedInteger”参数“NodeType”设为“Outputport”参数“numberofbits”设为“10”

第65页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技

9.4.1DDS模块设计

ParallelAdderSubtractor模块:(ParallelAdderSubtractor)库:AlteraDSPBuilder中Arithmetic库参数“NumberofInputs”设为“2”“Add(+)Sub(-)”设为“++”选择“Pipeline”参数“ClockPhaseSelection”Delay模块:(Delay)库:AlteraDSPBuilder中Storage库参数“Depth”设为“1”参数“ClockPhaseSelection”设为“1”

第66页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技

9.4.1DDS模块设计

Phaseword1模块:(Altbus)库:AlteraDSPBuilder中IO&Bus库参数“BusType”设为“signedInteger”参数“NodeType”设为“InternalNode”参数“numberofbits”设为“32”

ParallelAdderSubtractor1模块:(ParallelAdderSubtractor)库:AlteraDSPBuilder中Arithmetic库参数“NumberofInputs”设为“2”“Add(+)Sub(-)”设为“++”选择“Pipeline”参数“ClockPhaseSelection”

第67页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技

9.4.1DDS模块设计

BusConversion2模块:(BusConversion)库:AlteraDSPBuilder中IO&Bus库参数“InputBusType”设为“signedInteger”参数“Input[numberofbits].[]”设为32参数“OutputBusType”设为“SignedInteger”参数“Output[numberofbits[.[]”设为“10”参数“InputBitConnectedtoOutputMSB”设为“31”参数“InputBitConnectedtoOutputLSB”设为“22”使用“Round”

Product模块:(Product)库:AlteraDSPBuilder中Arithemtic库参数“Pipeline”设为“2”参数“ClockPhaseSelection”设为“1”不选择“UseLPM”

第68页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技

9.4.1DDS模块设计

BusConversion3模块:(BusConversion)库:AlteraDSPBuilder中IO&Bus库参数“InputBusType”设为“signedInteger”参数“Input[numberofbits].[]”设为“20”参数“OutputBusType”设为“SignedInteger”参数“Output[numberofbits[.[]”设为“10”参数“InputBitConnectedtoOutputMSB”设为“18”参数“InputBitConnectedtoOutputLSB”设为“9”使用“Round”使用“Saturate”

第69页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-59DDS系统输出波形

9.4.1DDS模块设计

第70页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-60DDS系统输出波形

9.4.1DDS模块设计

第71页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-61FSK调制模型

9.4.2FSK调制器设计第72页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-62FSK调制的Sinulink仿真结果

9.4.2FSK调制器设计第73页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-63正交信号发生器MDL模型

9.4.3正交信号发生器设计第74页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-64数字移相信号发生器MDL模型

9.4.4数控移相信号发生器设计

第75页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-65数字移相信号发生器输出波形

9.4.4数控移相信号发生器设计

第76页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-66AM发生器模型

9.4.5幅度调制信号发生器设计9-4第77页/共127页9.4基于DSPBuilder的DDS设计

KX康芯科技图9-67AM模型仿真波形

9.4.5幅度调制信号发生器设计第78页/共127页9.5数字编码与译码器设计

KX康芯科技图9-68线性反馈移位寄存器的构成

9.5.1伪随机序列

(9-5)(9-6)第79页/共127页9.5数字编码与译码器设计

KX康芯科技图9-69m序列发生器模型

9.5.1伪随机序列

第80页/共127页9.5数字编码与译码器设计

KX康芯科技图9-70修改后的m序列发生器模型

9.5.1伪随机序列

第81页/共127页9.5数字编码与译码器设计

KX康芯科技图9-71m序列发生器Simulink仿真结果

9.5.1伪随机序列

第82页/共127页9.5数字编码与译码器设计

KX康芯科技

9.5.2帧同步检出

(9-7)第83页/共127页9.5数字编码与译码器设计

KX康芯科技图9-72帧同步检出模型

9.5.2帧同步检出第84页/共127页9.5数字编码与译码器设计

KX康芯科技图9-73bxp1m子系统

9.5.2帧同步检出第85页/共127页9.5数字编码与译码器设计

KX康芯科技图9-74bxn1m子系统

9.5.2帧同步检出第86页/共127页9.5数字编码与译码器设计

KX康芯科技图9-75帧同步的巴克码检测仿真结果

9.5.2帧同步检出第87页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-76插入HIL的Simulink模型硬件仿真说明图

9.6.1HIL仿真流程

1.首先完成一个Simulink模型设计第88页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-77扫频滤波信号发生器Simulink模型图,文件名freqsweep.mdl

9.6.1HIL仿真流程

1.首先完成一个Simulink模型设计第89页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-78扫频滤波信号发生器算法(软件)仿真波形

9.6.1HIL仿真流程

1.首先完成一个Simulink模型设计第90页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-79SignalCompiler对扫频滤波信号发生器进行转换、综合和适配

9.6.1HIL仿真流程

2.通过DSPBuilder转化成QuartusII的工程

第91页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-80消去原设计,加入HIL模块

9.6.1HIL仿真流程

3.用HIL模块取代设计模型的所有电路第92页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-81向Simulink图中拖入HIL模块

9.6.1HIL仿真流程

3.用HIL模块取代设计模型的所有电路第93页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-82HIL模块工程加载与参数设置窗

4.HIL模块参数设置

第94页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-83HIL模块编译与编程窗

4.HIL模块参数设置

第95页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-84加入了HIL模块的扫频滤波电路模型

9.6.1HIL仿真流程

5.进行HIL硬件仿真

第96页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-84加入了HIL模块的扫频滤波电路模型

9.6.1HIL仿真流程

5.进行HIL硬件仿真

第97页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-86利用专用编程模块向FPGA下载

5.进行HIL硬件仿真

第98页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-87加入了HIL模块的FSK模型

9.6.2FSK的HIL仿真第99页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-88加入了HIL模块的FSK模型中方波信号参数设置窗口

9.6.2FSK的HIL仿真第100页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-89加入了HIL模块的FSK模型中仿真参数设置窗口

9.6.2FSK的HIL仿真第101页/共127页9.6硬件环HIL仿真设计

KX康芯科技图9-90加入了HIL模块的FSK模型仿真波形图

9.6.2FSK的HIL仿真第102页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-91由状态机模块和双口RAM构成的FIFO存储器电路fifo_control.mdl

9.7.1FIFO控制状态机设计示例

第103页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-92加减计数器模块Up_Down_Counter内部电路

9.7.1FIFO控制状态机设计示例

第104页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-93状态机转换表图

9.7.1FIFO控制状态机设计示例

第105页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-94库中默认状态机表模块

9.7.1FIFO控制状态机设计示例

第106页/共127页9.7DSPBuilder的状态机设计

KX康芯科技表9-1FIFO控制器状态转换表

9.7.1FIFO控制状态机设计示例

当前状态条件次态empty(push=1)&(count_in!=250)push_not_fullempty(push=0)&(pop=0)idlefull(push=0)&(pop=0)idlefull(pop=1)pop_not_emptyidle(pop=1)&(count_in=0)emptyidlepush=1push_not_fullidle(pop=1)&(count_in!=0)pop_not_emptyidle(push=1)&(count_in=250)fullpop_not_empty(push=0)&(pop=0)idlepop_not_empty(pop=1)&(count_in=0)emptypop_not_empty(push=1)&(count_in!=250)push_not_fullpop_not_empty(pop=1)&(count_in!=0)pop_not_emptypop_not_empty(push=1)&(count_in=250)fullpush_not_full(push=0)&(pop=0)idlepush_not_full(push=1)&(count_in=0)emptypush_not_full(push=1)&(count_in!=250)push_not_fullpush_not_full(push=1)&(count_in=250)fullpush_not_full(pop=1)&(count_in!=0)pop_not_empty第107页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-95状态机模块图

9.7.2状态机设计流程第108页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-96状态机表的“Inputs”页

9.7.2状态机设计流程第109页/共127页9.7DSPBuilder的状态机设计

KX康芯科技图9-97状态机表的“States”页

9.7.2状态机设计流程第110页/共127页9.7DSPBuilder的状态机设计

KX康芯科技表9-2定义条件描述的条件操作符的优先级别

9.7.2状态机设计流程比较操作符说明优先级示例-unary)负1-1(…)括号1(1)=数值相等2in1=5!=不等于2in1!=5>大于2in1>in2>=大于等于2in1>=in2<小于2in1<in2<=小于等于2in1<=in2&与2(in1=in2)&(in3>=4)

或2(in1=in2)(in1>=in2)第111页/共127页9.7DSPBuilder的状态机设计

KX康芯科技表9-3顺序计算判断示例

9.7.2状态机设计流程当前状条件次态Idle(pop=1)&(count_in=0)emptyIdlepush=1push­_not_fullIdle(pop=1)&(count_in!=0)pop_not_emptyIdle(push=1)&(count_in=250)full第112页/共127页9.7DSPBuilder的状态机设计

KX康芯科技

9.7.2状态机设计流程【例9-1】

IF((pop_sig=1)AND(conut_in_sig=0))THENnext_state<=empty_st;ELSIF(push_sig=1)THENnext_state<=push_not_full_st;ELSIF(pop_sig=1)AND(conut_in_sig/=0))THENnext_state<=pop_not_empty_st;ELSIF(push_sig=1)AND(conut_in_sig=250))THENnext_state<=full_st;ELSEnext_state<=idle_st;ENDIF;第113页/共127页9.7DSPBuilder的状态机设计

KX康芯科技表9-4表9-3的改变

9.7.2状态机设计流程当前状条件次态Idle(pop=1)&(count_in=0)emptyIdle(push=1)&(count_in=250)fullIdle(pop=1)&(count_in!=0)pop_not_emptyIdlepush=1push­_not_full第114页/共127页9.7DSPBuilder的状态机设计

KX康芯科技

9.7.2状态机设计流程【例9-2】IF((pop_sig=1)AND(conut_in_sig=0))THENnext_state<=empty_st;ELSIF(pop_sig=1)AND(conut_in_sig/=0))THENnext_state<=pop_not_empty_st;

温馨提示

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

评论

0/150

提交评论