1 / 28

第四阶段实验 ISP 器件的设计与应用

第四阶段实验 ISP 器件的设计与应用. 一、实验目的. 二、实验内容与要求. 三、 ISP器件的开发流程. 四、 EDA Pro2K 实验系统介绍. 五、设计举例. 一、实验目的. ISP器件的设计与应用. 掌握可编程逻辑器件的应用开发技术 —— 设计输入、编译、仿真和器件编程 ; 熟悉一种 EDA 软件使用 ; 初步掌握 Verilog HDL 语言的编程方法; 掌握层次化的设计方法。. 二、实验内容与要求(共 4 周). ISP器件的设计与应用. 练习 1 —— 十进制计数器(举例)

dugan
Download Presentation

第四阶段实验 ISP 器件的设计与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四阶段实验ISP器件的设计与应用 一、实验目的 二、实验内容与要求 三、ISP器件的开发流程 四、EDA Pro2K实验系统介绍 五、设计举例

  2. 一、实验目的 ISP器件的设计与应用 • 掌握可编程逻辑器件的应用开发技术 • ——设计输入、编译、仿真和器件编程 ; • 熟悉一种EDA软件使用 ; • 初步掌握Verilog HDL语言的编程方法; • 掌握层次化的设计方法。

  3. 二、实验内容与要求(共4周) ISP器件的设计与应用 • 练习1 ——十进制计数器(举例) • 用原理图构成一个有清零和使能功能的十进制计递增数器(建议用74161宏模块) • 编译和仿真 • 分配引脚并再次进行编译 • 下载 • 练习2 ——大小比较器和60进制计数器 • 输入大小比较器的原理图 (见实验四十六图10.46.1) • 编译和仿真 • 自己完成60进制计数器设计与仿真

  4. ISP器件的设计与应用 二、实验内容与要求 • 练习3 ——篮球24秒定时器的设计(举例) • 实验要求参见 p241实验三十三(图8.33.1) • 用Verilog HDL描述24秒定时器的功能 • 编译和仿真 • 引脚分配并再次进行编译 • 下载 • 练习4——数字钟电路的设计(自己完成)

  5. 数字钟电路设计(实验五十一) • 基本要求:(见教材289页,要求自己完成) • 具有“秒”、“分”、“时”计时功能,小时按24小时制计时。 • 具有校时功能,能够对“分”和“小时”进行调整。 • 具有整点报时功能。在59分51秒、53秒、55秒、57秒发出低音512Hz信号,在59分59秒时发出一次高音1024Hz信号,音响持续1秒钟,在1000Hz音响结束时刻为整点。 • 外电路提供3路时钟信号(2048Hz/1024Hz/1Hz)和译码显示电路。 • 选做内容: • 小时改为12进制,即由1……12。 • 闹钟

  6. 三、ISP器件的开发流程

  7. 四、EDA Pro2K实验系统介绍 • 可用资源 • 8个数码显示(含8421译码) • 可显示0~9,A~F • 8个LED发光管显示 • 1个带驱动的小型扬声器(蜂鸣器) • 8个按键 • 4组时钟源

  8. 资源 资源名称 引脚名称 引脚名称 引脚号 引脚号 功能说明 模式一 模式二 模式三 1/4/16/64/1024/4096/16384/65536/12M/24M/48M CLK0 19/18/17/16 3 K8/K7/K6/K5 乒乓电平 乒乓电平 琴键电平 按键 CLK1 11/10/9/8 K4/K3/K2/K1 乒乓电平 2ms脉冲 琴键电平 5 1/2/8 时钟 CLK2 6 1024/4096/32768 CLK3 7 12M/24M/48M D8/D7/D6/D5 81/80/79/78 红/黄/绿/绿 LED D4/D3/D2/D1 73/72/71/70 绿/绿/黄/红 蜂鸣器 SPK 83 可用资源使用方法——引脚分配(锁定)

  9. 资源 引脚名称 引脚号 数码管8 SM8_ B0/B1/B2/B3 65/66/67/68 数码管7 SM7_ B0/B1/B2/B3 60/61/62/64 数码管6 SM6_ B0/B1/B2/B3 53/54/58/59 数码管5 SM5_ B0/B1/B2/B3 49/50/51/52 数码管4 SM4_ B0/B1/B2/B3 38/39/47/48 数码管3 SM3_ B0/B1/B2/B3 30/35/36/37 数码管2 SM2_ B0/B1/B2/B3 25/27/28/29 数码管1 SM1_ B0/B1/B2/B3 21/22/23/24 可用资源使用方法——引脚分配(锁定)

  10. 五、设计举例 • 进入MAX+PLUSII软件,点击 ,新建一个原理图文件(选Graphic Editor file),按下页图输入原理图; 1. 十进制计数器的原理图设计 A. 输入原理图文件: • 双击空白处,输入74161,回车,点击左键,放元件; • 重复上述操作,放元件与非门(NAND2)、参考地(GND)、输入/输出引脚(INPUT/OUTPUT); • 双击引脚名称处,更改引脚名称; • 选择所用器件:Assign/Device-选FLEX10K系列EPF10K10LC84-4; • 存盘。注意:必须存在某一个文件夹中。

  11. 1. 十进制计数器的原理图设计

  12. 1. 十进制计数器的原理图设计 B. 编译原理图文件: • 将当前的原理图文件设置成为当前的工程:选File/Project/Set Project to Current File(或按Ctrl+Shift+J); • 编译当前工程中的所有文件:MAX+plus II/compiler; • 点击Start按钮,开始编译。

  13. 1. 十进制计数器的原理图设计 C. 对设计进行仿真: • 新建一个波形文件:点击 ,选择波形编辑器; • 点击OK按钮,进入波形编辑器;

  14. 1. 十进制计数器的原理图设计 C. 对设计进行仿真: • 从网表中加入输入、输出信号节点到当前的文件:选Node/Enter Nodes from SNF…; (1)点击List,列出所有信号 (2)点击=>,选出需要的输入、输出信号 (3)点击OK,确定

  15. 1. 十进制计数器的原理图设计 C. 对设计进行仿真: • 选择栅格尺寸:选Options/Grid size…; • 设定仿真时间长度:选File/End time…(此处设定为30us); • 利用左边的快捷图标,编辑输入(节点)信号的波形; 将选定信号的值设为0 将选定信号的值设为1 任意值x 高阻值z 对选中的信号取反 设定计数器的时钟信号clk 设定总线信号

  16. 1. 十进制计数器的原理图设计 C. 对设计进行仿真: • 可参考下图设定输入信号: • 选用默认的文件名存盘; • 仿真: 选MAX+plus II/Simulator,在弹出的对话框中点击Start开始仿真,再点击Open SCF,可看到仿真波形。

  17. 1. 十进制计数器的原理图设计 C. 对设计进行仿真: • 按住shift键,选中QD、QC、QB、QA4个信号,然后点击右键,选Enter Group…,输入总线名称Q[3..0],可以看到以总线形式显示的波形。

  18. 1. 十进制计数器的原理图设计 D. 分配输入、输出信号在器件上的引脚号: • 选MAX+plus II/ Floorplan Editor,进入版图编辑环境; • 选Layout/Device View,得到芯片的引脚图;

  19. D. 分配输入、输出信号在器件上的引脚号: • 选Layout/Current Assignments Floorplan,以当前的引脚分配作为标准 ; • 根据实验板外接资源进行引脚分配,方法是:选中右上方待分配的引脚,按住左键并拖放到相应的引脚上去。按Delete键,可删除错误的分配。

  20. D. 分配输入、输出信号在器件上的引脚号: • 引脚分配的结果:CLK ->3, CLRN -> 8, EN -> 9, • QA->21, QB->22, QC->23, QD->24 ; • 引脚分配完成后,重新编译一次,则分配的引脚生效 (选MAX+plus II/Compiler)。 E. 对器件进行编程: • 选MAX+plus II/Programmer,弹出编程对话框; • 检查编程文件名(t161.sof)和器件(EPF10K10LC84-4)是否正确; • 若正确,接上硬件后,点击Configure按钮,直接对器件编程。 • 若错误,选File/Select Programming File…,重新选编程文件。

  21. 2. 十进制计数器的Verilog HDL设计 /* 带有异步清零功能的十进制计数器 */ module CNT10 (nclr,clk,Q) input clk, nclr; output [3:0] Q; reg [3:0] Q; always@(posedge clk ornegedge nclr) begin if (!nclr) Q <= 4‘b000; //clear elseif (Q==9) Q <= 4‘b000; else Q <= Q + 1; end endmodule

  22. 3. 篮球24秒定时器的Verilog HDL设计 • 设计要求: (1)具有显示24S(24秒)计时功能; (2)设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能; (3)计时器为24S递减计时器,其计时间隔为1S; (4)计时器递减计时到零时,数码显示器不能灭灯,同时发出光电报警信号。 • Verilog HDL程序参考下页:

  23. module basketball30 (TimerH, TimerL, alarm, clk, nclr, nload, nstop); input clk, nclr, nload, nstop; wire clk, nclr, nload, nstop; output [3:0] TimerH, TimerL; reg [3:0] TimerH, TimerL; output alarm; always @(posedge clk or negedge nclr or negedge nstop or negedge nload) begin if (!nclr) {TimerH, TimerL} <= 8'h00; //clear else if (!nload) {TimerH, TimerL} <= 8'h24; //Load number else if (!nstop) {TimerH, TimerL} <= {TimerH, TimerL}; //stop counter else if ({TimerH, TimerL} == 8'h00) //if Timer=0, hold 0 no_change begin {TimerH, TimerL} <= {TimerH, TimerL}; end else if (TimerL==0) begin TimerH <= TimerH - 1; TimerL <= 9; end else begin TimerH <= TimerH; TimerL <= TimerL - 1;end end assign alarm = ({TimerH, TimerL} = = 8'h00) & (nclr = = 1'b1)& (nload = = 1'b1); //alarm endmodule

  24. 进入MAX+PLUSII软件,点击 ,新建一个文本文件(选Text Editor file); • 在MAX+plus II中实现篮球24秒注意事项: (1)输入Verilog HDL源程序时,使用文本编辑器,方法如下: (2)存盘时,选用.v作为Verilog HDL的扩展名,且文件名必须与模块名相同; (3)编译、仿真、引脚分配与原理图输入时相同。

  25. 2006-2007学年第一学期考试安排 考试时间:第21周星期天(1月21日)(晚上):7:00-8:30

  26. 考试内容 开卷考试 • 1.仪器使用 (特别是示波器、电源的使用) • 2.实验原理 (模拟电路部分和数字电路部分) • 模拟电路部分:放大电路 • 数字电路部分: • 3.设计题 (ISP、MAX+Plus II 使用) • 已知电路的输入、输出波形,用硬件描述语言程序实现(如Verilog程序、VHDL程序、ABEL程序 )或图形方式设计结果。 • MAX+Plus II 使用

  27. 预祝大家 取得好的成绩!

More Related