可编程逻辑器件编程技术.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
powered by dlut ee 建立一个新工程 每个设计都都是一个工程,都必须有一个工程名 工程名必须与设计文件名一致(相符) 工程名 工程路径 PLEASE TAKE A BREAK, AND HAVE A CUP OF COFFEE ! 首先建立新目录! 为设计工程建立一个新的 目录--- WORK 库 新建目录 打开原理图编辑窗 选原理图 编辑器 用鼠标双击图面 基本逻辑器件库,双击之 二输 入或门 用键盘打入输 入引脚名,并回车 同样方法引 进输出引脚 将半加器原理图存盘 文件取名为 adderh.gdf 将半加器变成一单一元件,并入库 注意,选此目录, 可将当前文件变 成原理图软件入库! 将当前设计文件设定为工程文件 注意,此路径的指示文件 始终指向当前的工程文件! 开始编译/综合工程文件---半加器 消掉此设置 ? VHDL综合器易于优化 ? 易构成性能良好的时序逻辑模块 ? 结构模式简单、层次分明、易读易懂、易排错 ? 运行模式类似于CPU,易于进行顺序控制 ?利用同步时序和全局时钟线可实现高速FSM ? 高可靠性,非法状态易控制 由CPLD/FPGA中 的状态机来控制 AD574的采样操作 RAM在此适配 板下面 高速晶振 单片机 适配板下的AD574A RC STATUS D[11..0] AD574启动时序 20us Z /CS 对AD574 初始化 st0 st1 st2 st3 st4 打开片选,启 动12位转换 采样周期 中等待 STATUS=‘1’ : 正在转换! STATUS=‘0’ : 转换结束! 12位转换数 据输出有效 由 LOCK 发 数据锁存信号 PROCESS REG 时序进程 PROCESS COM 组合进程 PROCESS LATCH 锁存器 current_state next_state LOCK 状态机FSM FPGA/CPLD CLK CS A0 RC K12/8 STATUS D[11..0] AD574 Q[11..0] 模拟信号输入 采样数据输出 PROCESS REG 时序进程 PROCESS COM1 组合进程 PROCESS LATCH 锁存器 current_state next_state LOCK 状态机FSM FPGA/CPLD CLK CS A0 RC K12/8 STATUS D[11..0] AD574 Q[11..0] 模拟信号输入 采样数据输出 PROCESS COM2 组合进程 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AD574 IS PORT(D :IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK ,STATUS : IN STD_LOGIC; CS,A0,RC,K12X8 : OUT STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0)); END AD574; ARCHITECTURE behav OF AD574 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL current_state, next_state: states ; SIGNAL REGL :STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; BEGIN COM: PROCESS(current_state,STATUS) BEGIN CASE current_state IS WHEN st0 = CS=1; A0=0; RC=0; LOCK=0; next_state = st1; WHEN st1= CS=0; A0=0; RC=0; LOCK=0; next_state = st2; WHEN st2= CS=0; A0=0; RC=0; LOCK=0; IF (STATUS=1) THEN next_state = st2; ELSE next_state = st3; END IF ; WHEN st3= CS=0; A0=0;

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档