图14 调用的 Modsim
4.约束文件
ISE 是一款基于约束的开发工具。在进行高速数字电路设计的时候,需要在综合、映射、布线时附加约束条件,以便控制综合、映射、布线过程,使设计满运行速度,使用资源和引脚位置等要求。约束包括时序约束、分组约束和区域约束。在本文中,将介绍最常用的Constraints Editor 约束编辑器,以及时序约束和引脚绑定(该两者最为基本)。首先,像第二步编写代码文件中一样建立约束文件(.ucf 文件),在本文中,如图 15 所示,可以看到 lcd_c.ucf 文件即为一个约束文件。新建时,唯一的不同是在图 8 中左面对话框中应选择 Implementation Constraints File。同样地,如果已经有现成的约束文件,也可以通过和代码文件相同的方法导入。如图 15 所示,在 Module View 窗口中选中代码的最顶层模块,而后在 ProcessView 窗口中双击 Create Timing Constraints或者 Create Area Constraints,将自动打开 Constraints Editor 约束编辑器。
需要注意的是,双击 Assign Package Pins 将打开引脚与区域约束编辑器PACE,由于 Constraints Editor 约束编辑器完全可以完成引脚绑定的功能,对于PACE 的使用,本文不再进行详细讨论。Constraints Editor 如图 16 所示。
图15 在project navigator 中调用 Constraints Editor
图16 Constraints Editor 界面
如图 16 所示,共有四类约束界面,Global 为附加全局约束,Ports 为附加端口约束,Advanced 为附加分组约束和时序约束,Misc 为附加专用约束。常用的是 Ports,其中可以进行引脚绑定,如图 17 所示。双击对应信号的Location 框,可以进行输入。在引脚号前必须加上字母 p。在这次 LCD 实验中,可以直接导入 digital power 提供的 lcd_c.ucf 文件,也可以自己在 Constraints Editor 中如图 17 中所示一样进行设置。
图17 附加引脚约束
通过以上设置,就完成了约束,在这里附加提到一点就是,在 Constraints Editor 中,下方的对话框将显示 ucf 文件的内容。约束文件也可以通过文本输入的方式完成,在图 15 中双击 Edit Constraints(Text)即可。5.综合与实现
在进行完约束以后,就可以进行综合与约束了。综合与实现的工作将由 ISE自动完成,用户通过约束文件和对 properties 选项控制实现对整个过程的控制。整个过程将产生映射、布线等一系列时序报告以及 RTL schematic View,还可以利用 XPower 进行功耗分析,便于用户对综合与实现的结果有个详细的了解。
综合与实现如图 18 所示。
图18 实现与综合
在 process view 中,Synthesize 为综合过程,Implement Design 为实现过程。在其上点击右键选择 properties 选项,将进入 properties 对话框,可以对过程要求进行控制。一般直接点击右键选择 run all 即可。
6.下载
最后就只剩下下载工作了。在下载之前,必须先将硬件准备好。首先,如图 19 所示,连接好电源线。
图19 连接电源线
其次,如图 20 所示,连接好下载线。
图20 连接下载线