电子设计自动化技术

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

《电子设计自动化》课程设计指导

一、任务题目:基于FPGA的数字钟系统设计

二、目的:

(1)使学生增进对EDA技术的感性认识,加深对EDA理论方面的理解。

(2)使学生掌握 XILINX FPGA结构、原理和应用方法。

(3)使学生能够应用Verilog语言和EDA软件进行电子系统的设计。

(4)培养学生查阅工程设计手册和资料的初步能力,使得学生能基本掌握数字系统的现代化设计方法和手段。是对学生EDA技术应用能力、自主学习能力和创新设计能力的综合培养。

三、现有条件:

(1)PC机一台。

(2)Xilinx Spartan-3 LC FPGA开发板、下载线及电源一套。

(3)扩展板及电源一套。

(4)ISE 10.1开发工具。

三、设计要求

(1)设计一个能进行年、月、日、时、分、秒计时的二十四小时制的数字钟,将时刻显示在液晶屏上;并且能够对年、月、日、小时、分钟和秒进行手动调节以校准时间,每逢整点,产生发光报时。(必选)

(2)具有定时与闹钟功能,能在设定的时间给出提示(发光管亮)。

(3)具有秒表功能。

四、系统说明

(1)Spartan-3 LC 开发板结构图如下:

(2)扩展板结构图如下:

各个设备与FPGA引脚的连接如下表(原理图见E:\FPGA\):

(3)LCM12864ZK

是中文液晶显示模块,液晶屏幕为128*64,可显示四行,每行可显示8 个汉字,16个ASCII码。

硬件接口采用的是串行接口数据传输模式,模块的同步时钟线(SCLK)具有独立的操作,但是当有连续多个指令需要被传输,必须确实等到一个指令完全执行完成才能传送下一笔资料,因为模块内部并没有传送/接收缓冲区。

其工作时序图如下:

从一个完整的串行传输流程来看,一开始先传输起始位,它需先接收到五个连续的“1”(同步位串)在起始位元组,此时传输计数将被重置并且串行传输将被同步,再跟随的二个BIT 分别指定传输方向位(RW)及暂存器选择位(RS),最后第八位则为“0”。

在接收到起始位元组后,每个指令/数据将分为二组接收到:较高4位元(DB7-DB4)的指令资料将会被放在第一组的LSB部分,而较低4位元(DB3-DB0)的指令资料则会被放在第二组的LSB部分,至于相关的另四位则都为0。

用户命令可参照LCMxxZKuser使用说明书(见E:\FPGA\),使用时主要涉及以下命令:

Interface=2’h30 //(8位控制界面,基本指令集)

Open=2’h0c //(开屏)

Move=2’h06 //(在资料的读取与写入时,设定光标的右移)

Address(地址)=2’h80-2’h87(第一行), 2’h90-2’h97(第二行), 2’h88-2’h8f(第三行), 2’h98-2’h9f(第四行)。

由于向LCM是写操作,因此RW=0。当送命令或地址时,RS=0;送数据(代码)时,RS=1。

字库及ASCII码表可从“E:\FPGA\ ”目录下的文档中查找。

五、设计思路(建议):

按功能将电路划分为若干个部分(模块),分别设计各个子模块,根据其输入/输出端口的衔接,构成一个具有完整功能的顶层模块,可参照以下框图设计:

显示屏显示模式(参考): 1、时间显示:

时钟运行模式下,应实时显示当前时刻。

设置模式(时间、闹钟)下,可选择每一位并对其设定,选中某位时,该位呈闪烁状态,其值的修改范围应符合实际情况,如分/秒的十位不能超过5,时的十位不能超过2。

2、秒表显示

计时前显示 计时中状态显示

六、操作流程

(1)新建一个项目(项目名称,路径,模块名称不要有中文字符,模块名称不要以数字开头),对器件的选择作如下设定:

器件系列(Family ):Spartan3;器件(Device ):XC3S400 器件封装(Package ):PQ208;器件速度等级(Speed ):-4 综合工具(Synthesis Tool ):XST(VHDL/Verilog) 仿真工具(Simulator )ISE Simulator(VHDL/Verilog) 使用语言(Preferred Language ):Verilog (2)按下图流程实现电路设计:

完成源代码的输入并保存后,在ISE10.1中分别运行Synthesis →Floorplan IO-Synthesis (引脚约束)→ Implement Design →Generate Programming File →Config Target Device,在弹出窗口中选确定,则出现如下画面:

在FPGA 图标上,单击右键选择Assign new Configration File,在弹出窗口

C 配置

PROM

FPGA

中选择顶层文件对应的配置文件(*.bit),再点击右键,选择program,即可下载数据流配置FPGA。

(3)创建PROM Image并烧录PROM

创建配置PROM的MCS文件,按如下方式操作:

在源文件窗口中,选择PROM File Formatter,如上图所示,在右侧空白区域点击右键,选择lanch wizard,弹出如下窗口,可修改PROM文件的名称和存盘位置,

下一步弹出窗口中,选择PROM为串行模式。再下一步弹出如下窗口,选择PROM 为xcf02s型,并添加进来。

完成后,提示是否添加设备,选是。在打开窗口中,选择bit数据流文件,

最后右键点击空白处,选择Generate File ,即可生成PROM配置文件(*.mcs),回到Boundary Scan界面,右键点击单击右键选择Assign new Configration File,在弹出窗口中选择顶层文件对应的配置文件(*.mcs),再点击右键,选择program,即可下载数据流配置FPGA(若PROM中已下载配置文件,应先进行擦除(Erase),再重新下载)。

七、Synthesis常见错误说明:

1、Port reference 'led' was not declared as input, inout or output。--端口led未声明是输入/输出或输入输出。

2、Reference to vector reg 'i' is not a legal net lvalue。--寄存器向量i不是合法的线网,i应为wire型。

3、Reference to vector wire 'i' is not a legal reg or variable lvalue。--线网向量i不是合法的寄存器,i应为reg型。

4、Illegal left hand side of continuous assign。--非法的左侧连续赋值。

5、Reference to vector wire 'i' is not a legal reg or variable lvalue

6、Cannot mix blocking and non blocking assignments on signal 。--信号clkcnt不允许混用阻塞和非阻塞赋值方式。

7、signal ; this signal is connected to multiple drivers.—信号delay连接到多重驱动上,即在不同的过程中进行了赋值。

8、Signal is never used or assigned. This unconnected signal will be trimmed during the optimization process.—信号i从来没有用到或赋值,

相关文档
最新文档