欢迎来到天天文库
浏览记录
ID:24196503
大小:52.50 KB
页数:3页
时间:2018-11-13
《pci多轴运动控制卡的vhdl》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、PCI多轴运动控制卡的VHDL内容显示中需要注意,在状态S1要锁存收到的地址,在状态S6变化时要适时进行时钟周期计数。还要注意,状态机设计时产生的容错问题,使非设计状态能够无条件回到空闲态S0。状态图的规划综上所述,设计规划状态图如图7所示。图7设计规划状态图(略)VHDL语言的描述设计使用四个进程和几个并行语句,实现整个CPLD的功能:一个进程完成从设备及其读写操作的识别;一个进程完成操作地址的获取;一个进程完成写操作后等待态的插入;一个进程完成状态机的相互变化;几个并行语句完成操作信号的产生。需要注意,各状态里完成的功能要用并行语句实现,不能再用进程,否则就会引起逻辑综合的麻
2、烦,甚至根本不能综合。整个程序如下:LIBRARYieee;USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYpci_itfcISPORT(clk,rst,frame,irdy:INSTD_LOGIC;ad_high:INSTD_LOGIC_VECTOR(7doap:STD_LOGIC_VECTOR(3doap,ap:STD_LOGIC;TYPEstate_typeIS(s0,s1,s2,s3,s4,s5,s6,s7);SIGNALstate:state_type;BEGINidentify:PROCE
3、SS(clk)--读、写、设备卡的识别BEGINIFrising_edge(clk)THENIFc_be=X"6"ANDad_high=X"f"ANDstate=s1THENrd_map<='0';--读ap<='1';ELSIFc_be=X"7"ANDad_high=X"f"ANDstate=s1THENrd_map<='1';--写ap<='0';ELSIFstate=s0THENrd_map<='1';ap<='1';ENDIF;ENDIF;ENDPROCESS;addr_capture:PROCESS(clk)--操作地址的获取BEGI
4、NIFrising_edge(clk)THENIFstate=s1THENaddr_map<=ad_loap;trdy<='0'axPlusII的验证设计CPLD,使用软件MaxPlusII进行逻辑综合、功能模拟与定时分析,选用Altera的Max7000系列的在系统可编程器件EPM7032STC44-10。下面是读写访问的仿真波形图:图8写操作的仿真模拟波形图(略)图9读操作的仿真模拟波形图(略)图中,时钟周期为30ns。读操作,RD#信号的低有效时间为60ns,大于tRD的最大值29ns;读信号无效后地址稳定时间为15ns,在此时间内结束读操作。写操作,CX314
5、时钟周期,此间,主机不能操作MCX314,MCX314有足够时间处理写入数据;片选CS#与地址保持时间都远远大于要求值5ns。
此文档下载收益归作者所有