何宾 tel : 13911127536 email:[email protected]

143

Click here to load reader

Upload: marge

Post on 18-Jan-2016

159 views

Category:

Documents


3 download

DESCRIPTION

版权所有,禁止未经授权的商业使用行为. 何宾 Tel : 13911127536 email:[email protected]. 所有培训资料均可从网站 http://bucteda.eefocus.com 下载. 北京中教仪装备技术有限公司. FPGA. clk. 线性变换电路 ( 运放构成 ). 0-5V. 串行 ADC 转换器. +/-5V. ncs. 5V 供电. 5V 供电. 3.3V 供电. 5V 供电. dout. clk. 0-3V. 串行 DAC 转换器. 变换电路 ( 运放构成 ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 何宾   Tel : 13911127536      email:hebin@mail.buct

何宾Tel : email:

高等教育出版社北京中教仪装备技术有

限公司

高教社 &XILINX SOC 竞赛培训系列课程

FPGA System Design FPGA System Design PrimerPrimer

何宾 Tel : 13911127536

email:[email protected]

版权所有,禁止未经授权的商业使用行为

北京中教仪装备技术有限公司 所有培训资料均可从网站http://bucteda.eefocus.com 下载

Page 2: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计 -- 系统的结构图

线性变换电路( 运放构成 )

+/-5V

5V 供电

0-5V 串行 ADC转换器

5V 供电

串行 DAC转换器

3.3V 供电

FPGA

clk

ncs

dout

clk

ncs

din

变换电路( 运放构成 )

0-3V

5V 供电

Page 3: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计--FPGA 的内部结构图

分频器50MHz 串行 ADC 数据转换成并行数据

1MHz

时钟

片选

数据

串行 ADC 转换器

频率检测峰值检测

并行 采样数据

数据变换

波形生成查找表 (LUT)

串行 DAC 数据转换成并行数据时钟

片选

数据

串行 DAC 转换器

频率

频率

并行数据

外部选择

数码管驱动和控制逻辑

数码管

Page 4: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 ADC 转换器

• TLC549 串行模数转换器:• 8 位分辨率• 差分参考输入电压• 转换时间… 17us ( 最大 )• 总的访问和转换周期 / 秒: 40,000• 片上软件可控制的采样和保持功能• 4MHz 的内部系统时钟• 宽的供电电压: 3V-6V

Page 5: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 ADC 转换器(内部结构)

Page 6: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 ADC 转换器(时序关系)

时钟下降沿 ADC 送出数据

时钟上升沿 FPGA 采集数据

在前一个周期FPGA 控制 CS 为低

8 个串行数据转换成并行数据

FPGA 产生 1MHz的时钟给 ADC

Page 7: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 ADC 转换器(推荐的操作条件)

Page 8: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 DAC 转换器

• TLV5620 为 4 路串行数模转换器:• 4 个独立的 8 位电压输出 DAC• 串行接口• 高阻抗参考输入• 可编程的 1 或 2 倍输出范围• 同步更新• 3V 供电电压

Page 9: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

输出级跟随电路

基于 ISE 的数模混合系统设计-- 串行 DAC 转换器(内部结构)

参考电压跟随电路

Page 10: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 DAC 转换器(转换公式和时序关系)

时钟上升沿 FPGA向 DAC 提供数据

D7-D0 从高到低依次送到串行 DAC 的数据接收端

下降沿更新 DAC 输出

Page 11: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 线性转换电路的设计

2.5V

2.5V

电压跟随器 ,提供直流偏置

+/-5V

当 Vin=-5V , AD_IN=0V

当 Vin=5V , AD_IN=5V

结论: 当 Vin 在 -5V~+5V 变化时,AD_IN 在 0V~+5V

线性变换电路

Page 12: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 ADC 电路设计

来自前级线性变换电路

到 FPGA的外扩端口

FPGA_CLK: 接 FPGA 的 P120 引脚FPGA_DOUT: 接 FPGA 的 P116 引脚FPGA_NCS: 接 FPGA 的 P113 引脚

Page 13: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 DAC 电路设计

FPGA_DA_DATA: 连接 FPGA 的第 p133 引脚FPGA_AD_CLK: 连接 FPGA 的第 p129 引脚FPGA_DA_LDAC: 连接 FPGA 的第 p132 引脚FPGA_DA_LOAD: 连接 FPGA 的第 p128 引脚

Page 14: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 DAC 后级放大电路设计

• 来自串行 DAC 的模拟输出电压 DA_V_OUT, 经过同

相放大器放大后 , 得到与输入电压同相变化的输出电压AV_OUT( 可选择使用 ) 。

Page 15: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 峰值和频率检测原理

• 检测准则 : 1 )先检测并计算输入信号的频率 , 通过过中值点比

较的方法 , 计算得到。 2 )然后在一个信号周期内 , 检测信号的最大值和最小值 , 通过计算得到峰峰值,然后计算得到信号的幅值

Page 16: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 串行 DAC 后级放大电路设计

t

V

2.5V

0V

5V

2.5V 对应的 AD 采样量化值为: 10000000

频率计数判断起始点 频率计数判断结束点

计数区间 峰值搜索区间

最小值

最大值

峰值

Page 17: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计--FPGA 的 ADC 相关设计模块结构

串行 ADC 控制模块采样率分频时钟频率和峰值计算

频率或峰值显示选择 7 段数码管控制器

Page 18: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计 -- 启动 ISE13.1 软件

点击此处

方法 1 :在开始菜单下找到 ISE 的启动图标

方法 2 :在桌面上找到 ISE 图标,点击该图标启动 ISE13.1 软件

Page 19: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新建工程

点击 New Project…

Page 20: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新建工程

输入工程名: adc_test

工程所在的路径

点击“ Next” 按钮

Page 21: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新建工程

产品范围 (product category)

芯片的系列 (Family)

具体的芯片型号 (Device)

封装类型( Package )速度信息( speed )综合工具( Synthesis Tool)

仿真工具( Simulator )喜欢的语言( VHDL/Verilog )

点击“ Next” 按钮

Page 22: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建一个新工程

点击“ Finish” 按钮

Page 23: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建一个新工程

工程名

器件名字

生成了空的工程框架

Page 24: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

选中器件名字,点击鼠标右键选中 New Source…

Page 25: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

选择 VHDL Module 输入” ioclk” 作为VHDL 模块的名字

点击“ Next” 按钮

Page 26: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

点击“ Next” 按钮

Page 27: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

点击“ Finish” 按钮

设计总结

Page 28: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

生成的 ioclk.vhd 文件 添加代码到 ioclk.vhd 文件中

Page 29: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

此处添加两条库调用语句

Page 30: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

此处添加信号声明语句

此处添加端口声明语句

sysclk: 为外部所提供的 50MHz 时钟; clk1MHz: 为 1MHz 时钟信号,提

供给 ADC 的串行输入时钟; clk1KHz: 为 1KHZ 时钟信号,提

供内部的十进制数到 BCD 码的转换;

Page 31: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd

1MHz 分频器模块

信号映射语句

Page 32: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 ioclk.vhd 1kHz 分频器模块

信号映射语句

Page 33: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 control549_serialtoparallel.vhd

选中器件名字,点击鼠标右键选中 New Source…

Page 34: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

选择 VHDL Module输入“ control549_serialtoparallel” 作

为VHDL 模块的名字

点击“ Next” 按钮

Page 35: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

点击“ Next” 按钮

Page 36: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

点击“ Finish” 按钮

Page 37: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

生成的 control549_serialtoparallel.vhd 文件

添加代码到 ioclk.vhd 文件中

Page 38: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

此处添加两条库调用语句

Page 39: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd此处添加端口声明语句

clkin: 为分频模块所提供的 1MHz 时钟信号; clr : 外部的复位信号; sdin: 来自串行 ADC 的串行数据输入; ncs : 送到串行 ADC 的 ncs 信号; sclk :送到串行 ADC 的 sclk 信号; pdout :送到频率和峰值检测模块的从串行数据流转换成的并行数据 flgo :送到频率和峰值检测模块的时钟信号,与并行数据同步

Page 40: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

此处添加内部信号量声明语句

信号映射语句,将输入时钟直接送到 ADC 的时钟

状态声明,有四个状态, ini, work,delay,Finish.

Page 41: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd• 这是一个典型的有限自动状态机

FSM ,在设计方法上使用的是单进程的描述方式,即:下状态转移逻辑、输出逻辑和状态寄存器都写在一个进程中,这种写法比较直观,容易理解。

初始状态:控制串行 ADC 开始进

行准换 , 并无条件跳转到下一状态。

Page 42: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件control549_serialtoparallel.vhd

该状态将 8 位串行数据转换成8 位

的并行数据。当接收到 8 位串行数据后 ,ncs=‘1’, 停止接收 ADC 数据;并且转移到下一个状态

该状态下,将数据从移位寄存器移动到数据寄存器 pdout 中,然后转移到下一个状态,

该状态下, ncs 将维持一段高电平周期 .并且 , 延迟一个时钟周期后 , 产生 flgo 的上升跳变 , 这个 flgo 信号和 pdout, 一起将为后续模块提供所需要处理的数据 .

Page 43: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

• 为了进一步的验证该设计的正确

性 ,将使用行为仿真对该设计进行软件上的验证 , 以确保整个

设计的正确。

选中器件名字,点击鼠标右键

选中 New Source…

选择 Simulation 选项

Page 44: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

选择 VHDL Test Bench

输入“ cs_549” 作为 VHDL 测试平台的

名字

点击“ Next” 按钮

Page 45: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

选择所要仿真的设计文件

点击“ Next” 按钮

Page 46: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

点击“ Finish” 按钮

Page 47: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

生成的 cs_549.vhd 文件添加代码到 cs_549.vhd 测试平台文件中

Page 48: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

从 cs_549.vhd 文件中,删除这两段代码

Page 49: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

输入该段代码,为外部复位 CLR 信号生成测试向量。(注意:高为复位)

Page 50: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真新设计文件control549_serialtoparallel.vhd

该段代码将模拟生成串行的输入

数据,共 8 位。

Page 51: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真设计

选中 cs_549.vhd 文件

展开 ISim Simulator

双击“ Simulate Behavioral Model”,打开 ISim 软件

Page 52: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真设计

输入 “ run 1ms ” 命令, 使仿真运行 1ms 时间

Page 53: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 仿真设计 点击“放大”或者“缩小”按纽”,

使得所观察的波形在窗口内。

观察结果,证明串行 AD控制器设计的正确性

关闭 Isim 软件

Page 54: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 fTest.vhd

选中器件名字,点击鼠标右键

选中 New Source…

选择 Implementation 选项

Page 55: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 fTest.vhd

选择 VHDL Module 输入“ fTest” 作为 VHDL 模块名字

点击“ Next” 按钮

Page 56: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 fTest.vhd

点击“ Next” 按钮

Page 57: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 fTest.vhd

点击“ Finish” 按钮

Page 58: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 创建新设计文件 fTest.vhd

生成的 fTest.vhd 文件 添加代码到 fTest.vhd 模块文件中由于在设计中,会使用到除法器 IP 核,所以先使用 IP 核生成向导生成 IP 核,然后再添加到 fTest.vhd 文件中

Page 59: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用 IP 生成向导创建除法器 div.xco

选中器件名字,点击鼠标右键

选中 New Source…

选择 Implementation 选项

Page 60: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用 IP 生成向导创建除法器 div.xco

选择 IP(CORE Generator & Architecture Wizard)

输入“ div” 作为 IP 核名字

点击“ Next” 按钮

Page 61: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用 IP 生成向导创建除法器 div.xco

选中 Math Function 选项,并展开

选中 Dividers 选项,并展开

选中 Divider Generator 选项

点击“ Next” 按钮

Page 62: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用 IP 生成向导创建除法器 div.xco

点击“ Finish” 按钮

Page 63: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用 IP 生成向导创建除法器 div.xco

选择 Unsigned(无符号)

点击“ Generate” 按钮

Page 64: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用 IP 生成向导创建除法器 div.xco

选择 div(div.xco)

选择 div(div.xco)

双击该选项,察看元件例化模板

元件声明部分

元件例化部分

Page 65: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

此处添加两条库调用语句

Page 66: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

添加端口声明部分

clk: 来自分频器的 1KHzclr: 来自外部的复位信号ncs: 来自串行 ADC 控制器输出的用于时钟触发的信号D_in: 来自串行 ADC 控制器输出的并行数据V_BCD_dout: 输出的描述信号峰值的 BCD 码F_BCD_dout: 输出的描述信号频率的 BCD 码

Page 67: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

添加状态声明语句状态状态声明语句判别门限的值

判别门限的值

除法器声明语句, 粘贴自前面的 IP核例化模板

Page 68: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

属性声明语句

内部信号声明语句

Page 69: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

确定信号的起始点,在 2.5V ( 10000000 )信号附近。

该有限自动状态机用来检测输入信号的频率和峰值 . 采用单进程状态机的描述方法

Page 70: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

信号前半周期,前半周期计数,并且找到信号的最小值

信号后半周期,后半周期计数,并且找到信号的最小值

Page 71: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

最大值 - 最小值 = 峰峰值

Page 72: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

该有限自动状态机用来将峰峰值转换成 BCD 码 . 采用单进程状态机的描述方法设定初

始值

Page 73: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

将峰峰值与千位、百位、十位和个位进行比较,然后得到峰峰值的BCD 码描述

Page 74: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

Page 75: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

通过除法器,将计数值转换成对应的频率值

频率 =信号采样频率 /计数值

通过使用 IP 核,构建的除法器,使得缩短了设计时间,提高了设计效率,这应该引起相关老师的注意,这也是 EDA 设计发展方向之一。

将矢量表示的频率值,转换成整数

Page 76: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

该有限自动状态机用来将整数频率值转换成 BCD 码 .采用单进程状态机的描述方法设定初

始值

Page 77: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 fTest.vhd 中添加代码

将峰峰值与千位、百位、十位和个位进行比较,然后得到峰峰值的BCD 码描述

Page 78: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 mux2_1.vhd

选中器件名字,点击鼠标右键

选中 New Source…

选择 Implementation 选项

Page 79: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 mux2_1.vhd

选择 VHDL Module 输入“ mux2_1” 作为 VHDL 模块的名

点击“ Next” 按钮

Page 80: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 mux2_1.vhd

点击“ Next” 按钮

Page 81: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 mux2_1.vhd

点击“ Finish” 按钮

Page 82: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 mux2_1.vhd

生成的 mux2_1.vhd 文件

添加代码到 mux2_1.vhd 文件中

Page 83: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 mux2_1.vhd

添加端口声明 :目的将峰值的 BCD 码和频率的 BCD 码通过外部的 sel 信号复用到一个 D_BCD 端口上 2:1多路选择器

Page 84: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

选中器件名字,点击鼠标右键

选中 New Source…

选择 Implementation 选项

Page 85: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

选择 VHDL Module输入“ clk7seg” 作为 VHDL 模块的名

点击“ Next” 按钮

Page 86: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

点击“ Next” 按钮

Page 87: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

点击“ Finish” 按钮

Page 88: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

生成的 clk7seg.vhd 文件添加代码到 clk7seg.vhd 文件中

Page 89: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

x: 来自 2:1多路选择器的输出clk: 7 段数码管扫描时钟输入clr :外部复位信号输入sel_F_V: 显示小数点控制a_to_g: 7 段数码管段码选择an: 7 段数码管管选信号dp: 7 段数码管小数点

添加端口声明语句

Page 90: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

内部信号量声明语句

21 位的计数器电路

计数器的 18:17 控制选择 4 个 7 段数码管中的一个

将 s 信号转换成真正的7 段数码管的管选控制信号

Page 91: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

该进程,用来控制选择 4 个 BCD 码中的一个

该进程,用来控制如果是显示峰值,则需要小数点,否则不需要小数点

Page 92: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 clk7seg.vhd( 数码管控制器 )

该进程,用来将 BCD码转换成对应的 7 段码

Page 93: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

选中器件名字,点击鼠标右键

选中 New Source…

选择 Implementation 选项

Page 94: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

选择 VHDL Module输入“ top” 作为 VHDL 模块的名字

点击“ Next” 按钮

Page 95: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

点击“ Next” 按钮

Page 96: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

点击“ Finish” 按钮

Page 97: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

生成的 top.vhd 文件

添加代码到 top.vhd 文件中

Page 98: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )sysclk: 来自开发板上的 50MHz

晶振clr: 开发板复位输入sdin :外部串行 AD 数据输入sel_F_V: 外部 DIP 控制显示 F/Va_to_g: 7 段数码管段码选择an: 7 段数码管管选信号dp: 7 段数码管小数点

添加端口声明语句

Page 99: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

元件声明部分

元件声明部分

内部信号定义

Page 100: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

元件声明部分

元件声明部分

内部信号定义

Page 101: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

内部信号定义

元件声明部分

Page 102: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

元件例化部分

元件例化部分

元件例化部分

Page 103: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 新设计文件 top.vhd( 顶层文件 )

元件例化部分

元件例化部分

Page 104: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 综合属性设置

选中 top.vhd文件

选中 synthesis-xst 选项 , 并点击鼠标右键

选中,并点击 Process Properties…

Page 105: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 综合属性设置

选择 Synthesis Options 选项选择 Yes 选项,表示在综合的过程中,保持原来设计的层次化,这个选项将用户在线的调试

点击“ OK” 按钮

Page 106: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 对该设计文件进行综合

选中 top.vhd文件

鼠标双击该项控制台界面中给出综合过程的信息

Page 107: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

选中 Implementation 选项

选中 top.vhd ,点击鼠标右键

选中 New Source…

Page 108: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

选择实现约束文件

输入” top” 作为实现约束文件的名字

点击“ Next” 按钮

Page 109: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

点击“ Finish” 按钮

Page 110: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

实现约束文件 top.ucf已经添加到设计中

选择 top.vhd

选择 User Constraints, 并展开该选项

双击 I/O Pin Planing(PlanAhead)-Post-Synthesis

Page 111: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

点击“ Close” 按钮

Page 112: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

Page 113: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

输入对应的 FPGA 的引脚 选择对应引脚的电平 LVCMOS33

Page 114: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

输入对应的 FPGA 的引脚 选择对应引脚的电平 LVCMOS33

Page 115: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 添加实现约束文件

输入对应的 FPGA 的引脚 选择对应引脚的电平 LVCMOS33

保存引脚约束 , 并退出该界面

Page 116: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

下面将使用在线逻辑分析仪工具,对 fTest_count.vhd的功能进行在线的验证。即: 通过在线逻辑分析仪工具,将最终硬件的比特流文件下载到芯片中,然后通过在线逻辑分析仪工具,读取fTest_count 的内部信号,进而验证 fTest_count 模块设计的正确性。 逻辑分析仪是 FPGA 调试中一种便捷高效调试手段。

Page 117: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

下面将详细介绍 Xilinx 在线逻辑分析仪工具Chipscope

的使用方法。

关于更详细的关于 Chipscope 的相关介绍,可参考下面的书 : [1]何宾,《 Xilinx可编程逻辑器件技术详解》,清华大学出版社, 2010.05

Page 118: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

选中 Implementation 选项

选中 top.vhd ,点击鼠标右键

选中 New Source…

Page 119: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

选择 Chipscope定义和连接文件

输入” test1” 作为 chipscope.cdc 文件的名字

点击“ Next” 按钮

Page 120: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

点击“ Finish” 按钮

Page 121: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

选择 test1.cdc 文件,并点击鼠标右键

选择 Open ,并点击鼠标,打开 Chipscope

Page 122: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

点击“ Next” 按钮

Page 123: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

点击“ Next” 按钮

Page 124: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

点击“ Next” 按钮

输入触发端口的个数 :1

输入触发端口中每个端口的信号宽度 : 1

Page 125: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

点击“ Next” 按钮

捕获数据的深度 :1每个捕获数据的宽度 :48

不选中 Data Same As Trigger,表示用来捕获数据的触发信号和捕获数据是分开的

Page 126: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

点击“ Modify Connections”

按钮

当逻辑分析仪的时钟端口、触发端口和数据端口,没有和设计模块的信号连接时,其颜色为红色。

Page 127: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

选择 Clock Signals 标签

输入 *ncs*,找到需要连接的设计内的

网络名字 ncs_OBUF 选中该选项

鼠标点击“ Make Connections”

Page 128: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

选择 Trigger Signals 标签

输入 *ncs*,找到需要连接的设计内的

网络名字 ncs_OBUF 选中该选项

鼠标点击“ Make Connections”

Page 129: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

选择 Data Signals 标签

输入 *BCD_dout*,找到需要连接的设

计内的网络名字 ncs_OBUF

选中该选项

选中相对应网络名字

Page 130: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

鼠标点击“ Make Connections”

按此方法完成所有信号网络和逻辑分析仪数据端口的连接

鼠标点击“ OK”按扭

Page 131: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

鼠标点击“ Return to Project Navigator” 按纽

Page 132: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 加入并配置在线逻辑分析仪

鼠标点击“是”按纽,表示保存刚才的参数设置,并返回 ISE主界面

Page 133: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 实现设计

选择 top.vhd

选择 Implement Design, 并用鼠标双击该选项

Page 134: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 生成比特流文件

选择 top.vhd

选择 Generate Programming File, 并用鼠标双击该选项 ,产生用于将设计下载到 FPGA芯片的比特流文件

Page 135: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用在线逻辑分析仪调试系统

点击 Analyzer ,启动在线逻辑分析

Page 136: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用在线逻辑分析仪调试系统

在线逻辑分析仪主界面

Page 137: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的数模混合系统设计-- 使用在线逻辑分析仪调试系统

通过视频观看 , 这个过程 , 真正的体验在线逻辑分析

仪对调试复杂数字系统的重要作用。 调整信号源的输入,观察测量信号频率对应计数值的变化和串行 AD 输入的数据的变化情况

Page 138: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的模数混合系统设计

该设计实例,通过使用正弦查找表送入到 DA 转换

器中,实现使用数字的方法产生正弦信号。 由于实现方法相对比较简单,在此就不详细的做进

一步介绍,请参考给出了 DA 程序,分析设计原理和实现方法。程序保存在 da_test目录中。

Page 139: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的模数混合系统设计-- 串行 DAC 控制器的设计 sel(0): 选择输出电压的范围

sel(1): 选择输出正弦?锯齿波分别和两个 DIP 开关连接clk: 来自分频模块的 1MHz 时钟clk1MHz: 送给串行 DAC 时钟dataout: 送给串行 DAC 数据ldac: 送给串行 DAC ldac 引脚load: 送给串行 DAC load 引脚

正弦查找表

Page 140: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的模数混合系统设计-- 串行 DAC 控制器的设计

内部信号声明

有限自动状态机描述 , 该状态机 ,1) 选择波形和确定通道和量程 ;2) 将并行数据转换成串行数据 ;

选择正弦 ?锯齿波 ?

选择 DAC 的输出范围

Page 141: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的模数混合系统设计-- 串行 DAC 控制器的设计

产生串行数据和时钟产生 load 信号 , 并返回到初始状态

Page 142: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

基于 ISE 的模数混合系统设计-- 串行 DAC 控制器的设计

Page 143: 何宾   Tel : 13911127536      email:hebin@mail.buct

北京中教仪装备技术有限公司

参考文献

[1]何宾。 << 数字与片上系统设计教程 >> 。北京:清华大学出版社, 2010 [2]何宾。 <<EDA原理及应用实验教程 >> 。北京:清华大学出版社, 2009 [3]何宾。 <<EDA原理及应用 >> 。北京:清华大学出版社, 2009 [4]何宾。 <<Xilinx 可编程逻辑器件设计技术详解 >> ,北京:清华大学出版社

, 2010 [5]何宾。 <<EDA原理及 VHDL实现 >> 。北京:清华大学出版社(即将出版

) [6] TLC549 数据手册。美国 Texas Instrument公司 [7] LM324 数据手册。美国 Texas Instrument公司 [8] TLV5620 数据手册。美国 Texas Instrument公司