VHDL与原理图层次型混合设计-课件_第1页
VHDL与原理图层次型混合设计-课件_第2页
VHDL与原理图层次型混合设计-课件_第3页
VHDL与原理图层次型混合设计-课件_第4页
VHDL与原理图层次型混合设计-课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章VHDL与原理图层次型混合设计

【学习目标】通过本章学习应掌握EDA技术中的模块化设计方法、利用VHDL与原理图自底向上和自顶向下混合设计方法。1ppt课件8.1自底向上混合设计简易时钟计数电路设计

1.时钟计数电路结构图

时钟电路的组成由两个模为60的计数器和一个模为12的计数器构成2ppt课件2.模块电路的VHDL描述采用混合设计输入方法,先建立两个VHDL文本文件,分别将模为60的8421BCD计数器和模为12的计数器代码输入,然后再建立顶层原理图文件。

(1)模为60的BCD计数器的VHDL设计代码如下:

3ppt课件(1)模为60的BCD计数器en:计数使能clear:异步清零4ppt课件libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycounter_60isport(en:instd_logic;clear:instd_logic;clk:instd_logic;count:outstd_logic;qh:bufferstd_logic_vector(3downto0);ql:buffer

std_logic_vector(3downto0));end;5ppt课件architecturestrofcounter_60isBegincount<='1‘when(qh="0101"andql="1001"anden='1')else'0';process(clk,clear)beginIf(clear='0')thenqh<="0000";ql<="0000";elsif(clk'eventandclk='1')then6ppt课件

if(en='1')then

if(ql=9)thenql<="0000";

if(qh=5)thenqh<="0000";ql<=“0000”;elseqh<=qh+1;endif;

elseql<=ql+1;endif;

endif;endif;endprocess;end;7ppt课件(2)模为12的计数器8ppt课件libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycounter_12isport(en:instd_logic;clear:instd_logic;clk:instd_logic;count:outstd_logic;qh:bufferstd_logic_vector(3downto0);ql:bufferstd_logic_vector(3downto0));end;9ppt课件architecturestrofcounter_12isbegincount<='1'when(qh="0001"andql="0010"anden='1')else'0';process(clk,clear)beginif(clear='0')thenqh<="0000";ql<="0000";elsif(clk'eventandclk='1')then

10ppt课件

if(en='1')then

if(ql=9)thenql<="0000";qh<=“0001”;elseql<=ql+1;endif;

if(qh=1)then

if(ql=2)thenqh<="0000";ql<="0000";elseql<=ql+1;endif;

endif;

endif;endif;endprocess;end;11ppt课件(3)顶层原理图设计12ppt课件4.编译和仿真

编译工程文件,建立仿真波形文件后完成仿真13ppt课件思考如何用8段LED数码管显示?14ppt课件8.2自顶向下混合设计8.2.1自顶向下设计流程

所谓自顶向下的设计方法,是指设计电子系统先从系统最抽象的层次出发,作高层次仿真,经过仿真验证后再经整体规划(FloorPlanning)将系统行为操作分为多个子系统。15ppt课件16ppt课件显示译码器16进制减法计数器FPGA8.2.216进制计数译码显示电路设计17ppt课件18ppt课件1.建立工程建立名为counter_16的工程文件2.建立原理图文件建立一个空白的原理图文件,并命名为counter_1619ppt课件3.创建图标模块

单击(BlockTool)按钮,在适当的位置放置一个符号块。20ppt课件4.设置图标模块(1)在符号块上单击鼠标右键:从弹出的菜单中选择“BlockProperties”命令。21ppt课件22ppt课件★“I/O”页标签:在“Name”栏中分别输入图标模块的输入端口名和输出端口名;在“type'’栏中分别选择与输入和输出对应的类型,点击ADD按钮。当设置完成所有端口后,单击“确定”按钮。★“General”页面:“Name”栏中输入设计文件名称,在“Instancename”栏中输入模块名称。本例中设计名称为“counter16”,模块名称为“instl”。23ppt课件24ppt课件25ppt课件5.添加模块引线并设置属性

(1)在图中的count16模块的左右两侧分别用3条连线和1条总线连接。在每条线靠模块的一侧都有图样。双击其中一个样标,弹出“MapperProperties”对话框。在“General”页面的“Type”栏中选择输入、输出类型,本例中选择为“INPUT”。26ppt课件27ppt课件28ppt课件29ppt课件30ppt课件(2)单击“Mappings”页标签。在“I/Oonblock”栏里选择引脚clk,在“Signalsinnode”栏中输入连线节点名称clk。输入完成后,单击“Add”按钮添加到“Existingmappings”栏中。最后单击“确定”按钮。31ppt课件32ppt课件(3)

同理,将其他引线按此方法进行设置。通常模块左侧放置输入接口信号,右侧放置输出接口信号。本例将左侧的其余两条输入信号分别设置为,rst和en;右侧的输出信号设置为q[3..0]。33ppt课件34ppt课件6.创建设计文件在符号块上单击鼠标右键,在弹出的菜单中选择“CreateDesignFileformSelectedBlock…”命令。其中“Filetype”栏中有4个选项可供选择,它们是“AHDL”、“VHDL”、“VerilogHDL”和“Schematic”,分别对应不同的电路行为描述方法。本例中选择“VHDL”,单击“OK‘’按钮。此时,会弹出生成模块文件的确认对话框,单击“确定”,进入VHDL文本编辑窗口。35ppt课件36ppt课件37ppt课件7.输入VHDL代码将代码修改为所需要设计的代码。38ppt课件Counter16.vhd文件的VHDL描述

LIBRARYieee;USEieee.std_logic_1164.all;useieee.std_logic_unsigned.all;ENTITYcounter16IS PORT(clk:INSTD_LOGIC; en:INSTD_LOGIC;rst:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(3downto0));ENDcounter16;39ppt课件ARCHITECTUREcounter16_architectureOFcounter16ISsignalq1:std_logic_vector(3downto0);BEGINprocess(clk,en,rst)beginifen='1'thenifrst='1'thenq1<="0000";elsifclk'eventandclk='1'thenq1<=q1+1;endif;endif;endprocess;q<=q1;ENDcounter16_architecture;40ppt课件8.添加译码器模块,并完成顶层电路的设计按照上述方法添加译码器模块和所用引脚。译码显示器设计图41ppt课件数码显示42ppt课件bcd_decoder模块创建的VHDL代码LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYbcd_decodeIS PORT(i:INSTD_LOGIC_VECTOR(3downto0);

DIG:OUTBIT;--增加一个输出引脚,选通LED位

y:OUTSTD_LOGIC_VECTOR(6downto0));ENDbcd_decode;ARCHITECTUREbcd_decode_architectureOFbcd_decodeISBEGINDIG<=‘0’;共阴数码管,位线为0选通,连接到试验箱的位线上process(i)begin

43ppt课件WHEN"0000"=>y<="1000000";--gfedcbaWHEN"0001"=>y<="1111001";WHEN"0010"=>y<="0100100";WHEN"0011"=>y<="0110000";WHEN"0100"=>y<="0011001";WHEN"0101"=>y<="0010010";WHEN"0110"=>y<="0000010";WHEN"0111"=>y<="1111000";WHEN"1000"=>y<="0000000";WHEN"1001"=>y<="0010000";WHEN"1010"=>y<="0001000";WHEN"1011"=>y<="0000011";caseiis44ppt课件when"1100"=>y<=“0110001";when"1101"=>y<=“1000010";when"1110"=>y<=“0110000";when"1111"=>y<=“0111000";whenothers=>y<="1111111";end

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论