EDA技术与Verilog设计第13章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

起始位的检测
13.2.1 顶层设计及状态分配
顶层设计
液晶控制
用状态机来进行设计。设置 个状态 个状态, 用状态机来进行设计。设置5个状态,分别是空闲状态 “Idle”,写页面地址状态“Xpage”,写列地址状态 ,写页面地址状态“ , “Yline”,写数据状态“Data”,显示状态“Display”。 ,写数据状态“ ,显示状态“ 。 当处于Xpage状态时,rs=0,rw=0,按照前面介绍的命 状态时, 当处于 状态时 , , 令格式“ 令格式“1 0 1 1 1 P2 P1 P0”将页面地址送上数据总线 将页面地址送上数据总线 (P2 P1 P0表示页面地址 。当处于 表示页面地址)。 状态时, 表示页面地址 当处于Yline状态时,rs=0, 状态时 , rw=0,将列地址“0 1 C5 C4 C3 C2 C1 C0”送上数据总 ,将列地址“ 送上数据总 代表0至 的列地址)。当处于 的列地址)。 线(C5 C4 C3 C2 C1 C0代表 至63的列地址)。当处于 代表 Data状态时,rs=1,rw=0,依次将 状态时, 状态时 , ,依次将ROM中的显示数据 中的显示数据 送上数据总线。 个页面全部扫描过一遍后, 送上数据总线。将8个页面全部扫描过一遍后,进入 个页面全部扫描过一遍后 Display状态,rs=0,rw=0,将命令“00111111”送上 状态, 状态 , ,将命令“ 送上 数据总线。 数据总线。
(3)设置信号 )
单击全屏按钮和窗口左下角的“ 选项卡, 单击全屏按钮和窗口左下角的“Setup”选项卡,即 选项卡 出现如图13.14所示的全屏编辑窗口。 所示的全屏编辑窗口。 出现如图 所示的全屏编辑窗口
(4)SignalTap II文件存盘 ) 文件存盘
选择菜单“ 中的“ 选择菜单“Assignments”中的“Settings”,在 中的 , Category栏中选择“SignalTap II Logic Analyzer”. 栏中选择“ 栏中选择 栏中选中已存盘的SignalTap 在“SignalTap II File”栏中选中已存盘的 栏中选中已存盘的 II文件名,并选中“Enable SignalTap II Logic 文件名, 文件名 并选中“ Analyzer”,单击“OK”按钮 。 ”,单击“ ”按钮
13.1.2 ROM初始化数据文件生成 初始化数据文件生成 初始化数据文件格式有2种:Memory 初始化数据文件格式有 种 Initialization File (.mif)格式文件,或 格式文件, 格式文件 Hexadecimal (Intel-Format) File (.hex) 格 式文件。 式文件。生成初始化数据文件的方法通常有下面 几种。 几种。 (1)建立 )建立.mif格式文件 格式文件 (2)建立 )建立hex格式文件 格式文件 (3)其他方法 )
第13章 数字设计实例 章
数字设计实例
◆ 直接数字频率合成器 基于FPGA实现点阵液晶显示控制 ◆ 基于 实现点阵液晶显示控制
内容
◆ UART异步串行接口 异步串行接口 ◆ VGA彩条信号发生器 彩条信号发生器 ◆ VGA图像显示控制器 图像显示控制器 ◆ 信道编译码器 ◆ CRC校验码 校验码
13.1 直接数字频率合成器
数据接收 数据接收: 数据接收:接收的首要任务是能够正确找到数 据的位置。 据的位置。这主要靠检测数据的起始位和停止 位来实现。起始位是一位0,它作为联络信号附 位来实现。起始位是一位 , 加进发送信息,因为空闲位都为高电平, 加进发送信息,因为空闲位都为高电平,所以 当接收数据线的信号突然变为低电平时, 当接收数据线的信号突然变为低电平时,告诉 接收端数据的到来。一个字符接收完毕后, 接收端数据的到来。一个字符接收完毕后,对 数据进行校验(若数据包含奇偶校验位), ),最 数据进行校验(若数据包含奇偶校验位),最 后检测停止位,以确认数据接收完毕。 后检测停止位,以确认数据接收完毕。
(5)编译下载 )
选择菜单“ 中的“ 选择菜单“Processing”中的“Start Compilation”, 中的 , 启动全程编译。编译结束后, 启动全程编译。编译结束后,SignalTap II的观察窗通常会 的观察窗通常会 自动打开,若没有打开,可选择菜单“ 自动打开,若没有打开,可选择菜单“Tools”中的 中的 打开。 “SignalTap II Logic Analyzer”打开。 打开 打开试验开发系统的电源,连接JTAG编程接口,设定 编程接口, 打开试验开发系统的电源,连接 编程接口 通信模式。 按钮选择硬件通信模式: 通信模式。通过 “Setup”按钮选择硬件通信模式: 按钮选择硬件通信模式 ByteBlaster II或ByteBlaster MV。然后单击下方的 或 。 栏的Scan Chain按钮,对试验板进行扫描。如 按钮, “Device”栏的 栏的 按钮 对试验板进行扫描。 果在栏中出现FPGA的型号,表示系统 的型号, 通信正常, 果在栏中出现 的型号 表示系统JTAG通信正常,可以 通信正常 进行下载。最后在SOF Manager中选择下载文件,单击下 中选择下载文件, 进行下载。最后在 中选择下载文件 载图标,在左上角观察下载信息。 载图标,在左上角观察下载信息。
13.3 UART异步串行接口 UART异步串行接口
基本的UART通信只需要两条信号线:RXD和TXD, 通信只需要两条信号线: 基本的 通信只需要两条信号线 和 , TXD是UART的发送端 RXD是UART的接收端,接收 是 的发送端, 的接收端, 的发送端 是 的接收端 与发送全双工工作。 与发送全双工工作。 UART是异步通信方式,发送方和接收方分别有各 是异步通信方式, 是异步通信方式 自独立的时钟,传输的速率由双方约定, 自独立的时钟,传输的速率由双方约定,使用起至式 异步协议。 异步协议。
13.1.1 DDS原理与顶层设计 原理与顶层设计
DDS的基本结构如图所示,主要由相位累加器、加法器、波形存储 的基本结构如图所示,主要由相位累加器、加法器、 的基本结构如图所示 ROM、D/A转换器组成。 转换器组成。 、 转换器组成
DDS结构图 结构图
其中K为频率控制字, 为相位控制字。 其中 为频率控制字,P为相位控制字。设fc为参考时 为频率控制字 为参考时 钟频率, 为相位累加器的字长, 数据位和D/A 钟频率,N为相位累加器的字长,M为ROM数据位和 数据位和 转换器的字长。相位累加器在时钟 的控制下以步长 转换器的字长。相位累加器在时钟fc的控制下以步长K累 加,输出的N位二进制码经过处理(截断处理)后与相位 位二进制码经过处理(截断处理) 控制字相加,结果作为 的输入地址, 控制字相加,结果作为ROM的输入地址,对波形 的输入地址 对波形ROM寻 寻 转换后就可得到 址。ROM中输出的M位的幅度码经 中输出的 位的幅度码经D/A转换后就可得到 合成波形。合成信号的波形取决于 中存储的幅度码, 合成波形。合成信号的波形取决于ROM中存储的幅度码, 中存储的幅度码 因此可以用DDS产生任意波形。 产生任意波形。 因此可以用 产生任意波形
13.1.3 宏功能模块的定制
选择ROM数据线地址线宽度 选择 数据线地址线宽度
添加数据文件
13.1.4 使用嵌入式逻辑分析仪在线测试
Quartus II软件具有 软件具有SignalTap II嵌入式逻辑分析 软件具有 嵌入式逻辑分析 它提供了一种对器件进行实时测试的手段。 仪,它提供了一种对器件进行实时测试的手段。 SignalTap II嵌入式逻辑分析仪可以随设计文件一起下 嵌入式逻辑分析仪可以随设计文件一起下 载到目标芯片中, 载到目标芯片中,用以捕捉目标芯片中设计者感兴趣的 信号节点处的信息,而不影响芯片的正常工作。 信号节点处的信息,而不影响芯片的正常工作。 SignalTap II将测得的样本信号暂存于目标芯片的片内 将测得的样本信号暂存于目标芯片的片内 RAM(如ESB、M4K)中,然后通过器件的 然后通过器件的JTAG端口 ( 、 ) 端口 编程线将采得的信息传出, 和ByteBlaster II编程线将采得的信息传出,送入计算 编程线将采得的信息传出 机进行分析。 机进行分析。
起止式异步协议
起止式异步协议的特点是一个字符一个字符地进行传输, 起止式异步协议的特点是一个字符一个字符地进行传输, 字符之间没有固定的时间间隔要求, 字符之间没有固定的时间间隔要求,每个字符都以起始 位开始,以停止符结束。 位开始,以停止符结束。每一个字符的前面都有一位起 始位(低电平,逻辑值0),字符本身有5到 比特数据 ),字符本身有 始位(低电平,逻辑值 ),字符本身有 到8比特数据 位组成,接着是一位校验位(也可以没有校验位), ),最 位组成,接着是一位校验位(也可以没有校验位),最 后是一位(或一位半、二位)停止位, 后是一位(或一位半、二位)停止位,停止位后面是不 定长度的空闲位。停止位和空闲位都规定为高电平,这 定长度的空闲位。停止位和空闲位都规定为高电平, 样就保证起始位开始处一定有一个下降沿。 样就保证起始位开始处一定有一个下降沿。
DDS顶层设计 顶层设计
图中加法器add32和寄存器 和寄存器reg32构成了相位累加器, 构成了相位累加器, 图中加法器 和寄存器 构成了相位累加器 加法器add12和寄存器 和寄存器reg12构成了相位调制器。乘法器 构成了相位调制器。 加法器 和寄存器 构成了相位调制器 mult用于调节 用于调节DDS的步进频率,频率控制字和相位控制 的步进频率, 用于调节 的步进频率 字分别由单片机控制键盘输入,锁相环输出 字分别由单片机控制键盘输入,锁相环输出40MHz的频 的频 的输出和D/A转换器相连。 转换器相连。 率。波形存储器sin_rom的输出和 波形存储器 的输出和 转换器相连
(1)新建 )新建SignalTap II文件 文件
SignalTap II编辑窗 编辑窗
(2)调入待测信号 )
为了调入待测信号名,在下栏的空白处双击, 为了调入待测信号名,在下栏的空白处双击,即弹出 如图所示的“ 对话框, 如图所示的“Node Finder”对话框,根据需要在 对话框 中选择感兴趣的类, 按钮, “Filter”中选择感兴趣的类,然后单击“List”按钮,即 中选择感兴趣的类 然后单击“ 按钮 在左栏出现与此工程相关的所有信号, 在左栏出现与此工程相关的所有信号,可将欲查看的信号 调入SignalTap II信号观察窗口。 信号观察窗口。 调入 信号观察窗口
13.2 Fra Baidu bibliotekPGA实现点阵液晶显示控制 FPGA实现点阵液晶显示控制
13.2.1 GDM12864的结构及指令 的结构及指令
GDM12864A 原理简图
“写数据”时序图 写数据” 写数据
控制指令功能表
控制信号 指令名称 RS 显示开关设置 显示起始行设置 页面地址设置 列地址设置 读取状态字 写显示数据 0 0 0 0 0 1 R/W 0 0 0 0 1 0 D7 0 1 1 0 busy D6 0 1 0 1 0 D5 1 L5 1 C5 on/off D4 1 L4 1 C4 reset 数 D3 1 L3 1 C3 0 据 D2 1 L2 P2 C2 0 D1 1 L1 P1 C1 0 D0 D L0 P0 C0 0 控制代码
(6)启动 )启动SignalTap II进行测试 进行测试
单击Instance名“sin_stp”,再单击“Autorun 名 单击 ,再单击“ Analysis”按钮,即启动了 按钮, 按钮 即启动了SignalTap II,通常会自动弹 , 出“Data”页,这时就能在 页 这时就能在SignalTap II数据窗口中观察 数据窗口中观察 来自FPGA内部的实时信号 。 来自 内部的实时信号
相关文档
最新文档