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

Preview:

DESCRIPTION

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

Citation preview

何宾Tel : email:

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

限公司

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

FPGA System Design FPGA System Design PrimerPrimer

何宾 Tel : 13911127536

email:hebin@mail.buct.edu.cn

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

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

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

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

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

+/-5V

5V 供电

0-5V 串行 ADC转换器

5V 供电

串行 DAC转换器

3.3V 供电

FPGA

clk

ncs

dout

clk

ncs

din

变换电路( 运放构成 )

0-3V

5V 供电

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

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

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

1MHz

时钟

片选

数据

串行 ADC 转换器

频率检测峰值检测

并行 采样数据

数据变换

波形生成查找表 (LUT)

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

片选

数据

串行 DAC 转换器

频率

频率

并行数据

外部选择

数码管驱动和控制逻辑

数码管

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

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

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

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

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

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

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

时钟下降沿 ADC 送出数据

时钟上升沿 FPGA 采集数据

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

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

FPGA 产生 1MHz的时钟给 ADC

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

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

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

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

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

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

输出级跟随电路

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

参考电压跟随电路

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

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

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

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

下降沿更新 DAC 输出

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

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

2.5V

2.5V

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

+/-5V

当 Vin=-5V , AD_IN=0V

当 Vin=5V , AD_IN=5V

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

线性变换电路

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

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

来自前级线性变换电路

到 FPGA的外扩端口

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

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

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

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

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

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

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

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

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

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

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

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

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

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

t

V

2.5V

0V

5V

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

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

计数区间 峰值搜索区间

最小值

最大值

峰值

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

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

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

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

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

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

点击此处

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

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

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

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

点击 New Project…

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

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

输入工程名: adc_test

工程所在的路径

点击“ Next” 按钮

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

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

产品范围 (product category)

芯片的系列 (Family)

具体的芯片型号 (Device)

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

工程名

器件名字

生成了空的工程框架

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

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

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

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

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

设计总结

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

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

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

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

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

此处添加两条库调用语句

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

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

此处添加信号声明语句

此处添加端口声明语句

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

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

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

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

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

1MHz 分频器模块

信号映射语句

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

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

信号映射语句

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

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

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

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

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

选择 VHDL Module输入“ control549_serialtoparallel” 作

为VHDL 模块的名字

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

生成的 control549_serialtoparallel.vhd 文件

添加代码到 ioclk.vhd 文件中

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

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

此处添加两条库调用语句

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

设计的正确。

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

选中 New Source…

选择 Simulation 选项

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

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

选择 VHDL Test Bench

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

名字

点击“ Next” 按钮

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

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

选择所要仿真的设计文件

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

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

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

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

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

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

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

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

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

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

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

数据,共 8 位。

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

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

选中 cs_549.vhd 文件

展开 ISim Simulator

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

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

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

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

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

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

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

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

关闭 Isim 软件

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

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

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

选中 New Source…

选择 Implementation 选项

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

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

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

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

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

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

选中 New Source…

选择 Implementation 选项

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

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

选择 IP(CORE Generator & Architecture Wizard)

输入“ div” 作为 IP 核名字

点击“ Next” 按钮

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

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

选中 Math Function 选项,并展开

选中 Dividers 选项,并展开

选中 Divider Generator 选项

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

选择 Unsigned(无符号)

点击“ Generate” 按钮

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

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

选择 div(div.xco)

选择 div(div.xco)

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

元件声明部分

元件例化部分

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

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

此处添加两条库调用语句

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

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

添加端口声明部分

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

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

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

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

判别门限的值

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

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

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

属性声明语句

内部信号声明语句

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

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

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

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

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

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

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

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

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

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

最大值 - 最小值 = 峰峰值

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

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

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

始值

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

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

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

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

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

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

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

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

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

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

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

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

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

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

始值

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

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

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

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

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

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

选中 New Source…

选择 Implementation 选项

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

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

生成的 mux2_1.vhd 文件

添加代码到 mux2_1.vhd 文件中

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

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

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

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

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

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

选中 New Source…

选择 Implementation 选项

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

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

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

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

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

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

添加端口声明语句

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

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

内部信号量声明语句

21 位的计数器电路

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

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

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

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

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

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

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

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

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

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

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

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

选中 New Source…

选择 Implementation 选项

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

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

生成的 top.vhd 文件

添加代码到 top.vhd 文件中

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

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

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

添加端口声明语句

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

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

元件声明部分

元件声明部分

内部信号定义

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

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

元件声明部分

元件声明部分

内部信号定义

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

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

内部信号定义

元件声明部分

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

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

元件例化部分

元件例化部分

元件例化部分

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

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

元件例化部分

元件例化部分

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

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

选中 top.vhd文件

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

选中,并点击 Process Properties…

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

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

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

点击“ OK” 按钮

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

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

选中 top.vhd文件

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

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

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

选中 Implementation 选项

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

选中 New Source…

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

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

选择实现约束文件

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

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

选择 top.vhd

选择 User Constraints, 并展开该选项

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

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

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

点击“ Close” 按钮

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

的使用方法。

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

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

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

选中 Implementation 选项

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

选中 New Source…

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

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

选择 Chipscope定义和连接文件

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

点击“ Next” 按钮

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

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

点击“ Finish” 按钮

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

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

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

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

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

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

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

点击“ Next” 按钮

输入触发端口的个数 :1

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

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

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

点击“ Next” 按钮

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

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

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

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

点击“ Modify Connections”

按钮

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

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

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

选择 Clock Signals 标签

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

网络名字 ncs_OBUF 选中该选项

鼠标点击“ Make Connections”

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

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

选择 Trigger Signals 标签

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

网络名字 ncs_OBUF 选中该选项

鼠标点击“ Make Connections”

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

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

选择 Data Signals 标签

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

计内的网络名字 ncs_OBUF

选中该选项

选中相对应网络名字

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

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

鼠标点击“ Make Connections”

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

鼠标点击“ OK”按扭

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

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

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

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

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

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

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

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

选择 top.vhd

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

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

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

选择 top.vhd

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

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

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

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

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

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

在线逻辑分析仪主界面

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

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

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

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

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

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

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

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

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

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

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

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

正弦查找表

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

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

内部信号声明

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

选择正弦 ?锯齿波 ?

选择 DAC 的输出范围

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

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

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

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

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

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

参考文献

[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公司