具体实施方式
本发明公开了一种ISA总线到Multibus总线的读写操作转换电路,把ISA总线的同步读写操作转换为Multibus总线的异步读写操作,实现ISA总线主设备对Multibus总线从设备的读写操作,解决了ISA总线机箱上配置Multibus总线从设备的混插与兼容问题,在混合总线加固计算机设计、计算机总线板卡测试诊断等领域有广泛应用。
结合附图1,说明本发明的ISA总线到Multibus总线的读写操作转换电路的组成。
一种ISA总线到Multibus总线的读写操作转换电路,包括状态转移电路、时序处理电路、复位电路、中断电路;ISA总线的核心部分ISA三总线(控制总线、地址总线、数据总线)与状态转移电路和时序处理电路相连,ISA总线复位信号与复位电路相连,ISA总线中断信号与中断电路相连,状态转移电路输出时序控制信号到时序处理电路;Multibus总线的核心部分Multibus三总线与状态转移电路和时序处理电路相连,Multibus总线复位信号与复位电路相连,Multibus总线中断信号与中断电路相连,复位电路输出总复位信号到状态转移电路和时序处理电路,并输出Mulitbus总线复位信号到Multibus总线;复位电路还与***复位相连接。
状态转移电路采用ISA总线时钟作为状态机的工作时钟,根据ISA总线和Multibus总线输入的控制信号,通过同步有限状态机进行状态转移处理,输出时序控制信号到时序处理电路。
时序处理电路根据状态转移电路提供的时序控制信号对ISA三总线进行时序处理,实现ISA三总线到Multibus三总线的读写操作的时序转换。
中断电路从Multibus总线接收Multibus总线中断信号,输出ISA总线中断信号至ISA总线,实现中断信号的中转处理。
复位电路实现ISA总线复位信号到Multibus总线复位信号的转换,并提供状态转移电路和时序处理电路使用的总复位信号。
本发明中,相同名称的信号标识表示同一电气连接,Multibus总线简称M总线。
结合附图1、附图2、附图4和附图5,说明状态转移电路的外部连接、组成和工作原理。
状态转移电路与ISA三总线相连的信号包括ISA总线时钟(isa_bclk)、ISA总线存储器读(isa_memr,低有效)、ISA总线存储器写(isa_memw,低有效)、ISA总线I/O读(isa_ior,低有效)、ISA总线I/O写(isa_iow,低有效);状态转移电路与Multibus三总线相连的信号为M总线传输确认(m_xack,低有效),状态转移电路输出到时序处理电路的时序控制信号包括:ISA总线读(isa_rd,高有效)、ISA总线写(isa_wt,高有效)、ISA总线读/写(isa_rd_wt,高有效)、计数信号(isa_ws_cnt)、状态信号IDLE、RD_WT、BT_END(高有效);状态转移电路的复位信号为来自复位电路的总复位(rst,高有效);
状态转移电路包括第一等于比较器[E01]、第二等于比较器[E02]、第三等于比较器[E03]、第四等于比较器[E04]、第五等于比较器[E05]、第一或门[OR01]、第二或门[OR02]、第三或门[OR03]、第一多路复用器[M01]、第二多路复用器[M02]、第一D触发器[D01]、第一状态机模块[U01];
上述等于比较器的A输入端和B输入端相等时输出高电平,不相等输出低电平。上述第一多路复用器[M01]为二选一复用器,第二多路复用器[M02]为四选一复用器;二选一复用器的S选择端为低电平时D0输入端与Q输出端连通,二选一复用器的S选择端为高电平时D1输入端与Q输出端连接;四选一复用器的[S1,S2]选择端为2’b00时D0输入端与Q输出端连通,[S1,S2]选择端为2’b01时D1输入端与Q输出端连通,[S1,S2]选择端为2’b10时D2输入端与Q输出端连通,[S1,S2]选择端为2’b11时D3输入端与Q输出端连通;第一等于比较器[E01]、第二等于比较器[E02]、第三等于比较器[E03]、第四等于比较器[E04]、第五等于比较器[E05]的输入端均为4位宽度,第一多路复用器[M01]的数据端、第二多路复用器[M02]的数据端、第一D触发器[D01]的数据端、第五等于比较器[E05]的输入端均为2位宽度,第一或门[OR01]、第二或门[OR02]、第三或门[OR03]以及第一状态机模块[U01]的外部接口均为1位宽度;
第一等于比较器[E01]、第二等于比较器[E02]、第三等于比较器[E03]、第四等于比较器[E04]的A输入端相连,从高位到低位依次连接到ISA总线I/O写isa_iow、ISA总线存储器写isa_memw、ISA总线I/O读isa_ior、ISA总线存储器读isa_memr;第一等于比较器[E01]的B输入端从高位到低位连接到电平状态4’hE,第二等于比较器[E02]的B输入端从高位到低位连接到电平状态4’hD,第三等于比较器[E03]的B输入端从高位到低位连接到电平状态4’hB,第四等于比较器[E04]的B输入端从高位到低位连接到电平状态4’h7;第一等于比较器[E01]的OUT输出端连接到第一或门[OR01]输入端1,第二等于比较器[E02]的OUT输出端连接到第一或门[OR01]输入端2,第一或门[OR01]的输出端信号为ISA总线读(isa_rd,连接到第三或门[OR03]的输入端1并输出到时序处理电路,第三等于比较器[E03]的OUT输出端连接到第二或门[OR02]输入端1,第四等于比较器[E04]的OUT输出端连接到第二或门[OR02]输入端2,第二或门[OR02]的输出端信号为ISA总线写(isa_wt),连接到第三或门[OR03]的输入端2并输出到时序处理电路,第三或门[OR03]的输出端信号为ISA总线读/写(isa_rd_wt),连接到第一状态机模块[U01]的T1输入端并输出到时序处理单路;
第一多路复用器[M01]的D1输入端从高到低连接到电平状态2’b11,第一多路复用器[M01]的反相S选择端连接到外部信号M总线传输确认m_xack,第一多路复用器[M01]的Q输出端连接到第二多路复用器[M02]的D2输入端,第二多路复用器[M02]的D0输入端从高位到低位连接到电平状态2’b01,第二多路复用器[M02]的D1输入端从高位到低位连接到电平状态2’b10,第二多路复用器[M02]的D3输入端从高位到低位连接到电平状态2’b00,第二多路复用器[M02]的Q输出端连接到第一D触发器[D01]的D输入端,第一D触发器[D01]的时钟端连接到ISA总线时钟isa_bclk,第一D触发器[D01]的EN使能端连接到状态信号RD_WT,第一D触发器[D01]的CLR复位端连接到总复位rst,第一D触发器[D01]的Q输出端为计数信号isa_ws_cnt,与第一多路复用器[M01]的D0输入端、第二多路复用器[M02]的[S1,S2]选择端、第五等于比较器[E05]的A输入端相连,并输出到时序处理电路,第五等于比较器[E05]的B输入端从高位到低位连接到电平状态2’b11,第五等于比较器[E05]的OUT输出端连接到第一状态机模块[U01]的T2输入端;第一状态机模块[U01]的CLK时钟端连接到ISA总线时钟isa_bclk,第一状态机模块[U01]的CLR复位端连接到总复位rst,第一状态机模块[U01]的state输出端信号包括状态信号IDLE、RD_WT、BT_END,分别输出到时序处理电路。
所述第一状态机模块[U01]采用ISA总线时钟isa_bclk作为状态机工作时钟,第一状态机模块[U01]的状态转移条件包括T1和T2,有效状态包括state1、state2、state3,分别对应状态信号IDLE、RD_WT、BT_END(均为高电平有效),总复位rst有效时***处于state1状态,状态信号IDLE有效,在总复位rst撤销的正常工作条件下,当T1无效时(T1=0),状态机处于state1状态,当T1有效时(T1=1),状态机转移到state2状态,状态信号RD_WT有效,当T2无效时,状态机处于state2状态,当T2有效时(T2=1),状态机转移到state3状态,状态信号BT_END有效,state3状态停留一个ISA总线时钟(isa_clk)之后,转移到state1状态,完成一次状态机的状态转移操作。
状态转移电路主要完成状态机的状态转移控制,当进行ISA总线存储器读操作时,[isa_iow,isa_memw,isa_ior,isa_memr]=4’b1110=4’hE,当进行ISA总线I/O读操作时,[isa_iow,isa_memw,isa_ior,isa_memr]=4’b1101=4’hD,当进行ISA总线存储器写操作时,[isa_iow,isa_memw,isa_ior,isa_memr]=4’b1011=4’hB,当进行ISA总线I/O写操作时,[isa_iow,isa_memw,isa_ior,isa_memr]=4’b0111=4’h7;因此,第一或门[OR01]的输出端信号即为ISA总线读isa_rd,第二或门[OR02]的输出端信号即为ISA总线写isa_wt,第三或门[OR03]的输出端信号(也即第一状态机模块[U01]的状态转移条件T1)为ISA总线读/写isa_rd_wt;当出现有效的ISA总线读命令时,isa_rd有效,当出现有效的ISA总线写命令时,isa_wt有效,当出现有效的ISA总线读或写命令时,isa_rd_wt有效,即T1有效;
当总复位rst有效时,第一D触发器[D01]的Q输出端信号即计数信号isa_ws_cnt为2’b00,在state2状态下,状态信号RD_WT有效,第一D触发器[D01]与第二多路复用器[M02]组成一个受控计数器,计数信号isa_ws_cnt从2’b00开始按照ISA总线时钟isa_bclk进行加1计数;当isa_ws_cnt为2’b10时,如果M总线传输确认m_xack有效(低电平),isa_ws_cnt正常加1变为2’b11,如果M总线传输确认m_xack无效(高电平),isa_ws_cnt保持为2’b10状态,直到M总线传输确认m_xack有效(低电平)再加1变为2’b11,isa_ws_cnt变为2’b11之后,下一个ISA总线时钟isa_bclk再加1复位到2’b00,当计数信号isa_ws_cnt为2’b11时,第一状态机模块[U01]的状态转移条件T2有效;
标准的ISA总线操作周期(无***等待周期)为六个ISA总线时钟周期,可能的***等待周期位于第五ISA总线操作周期和第六ISA总线操作周期之间,即使出现***等待周期,本文中仍然把***等待周期之后的这个ISA总线操作周期称为第六ISA总线操作周期;isa_ws_cnt为2’b10对应第五ISA总线操作周期和可能的***等待周期,isa_ws_cnt为2’b11对应第六ISA总线操作周期;
状态机的state1状态对应复位状态、总线空闲状态和第一、第二ISA总线操作周期,状态机的state2状态对应第三到第五ISA总线操作周期、可能的***等待周期以及第六ISA总线操作周期,状态机的state3状态对应最后一个额外的ISA总线周期;
在复位或总线空闲状态下,状态机处于state1状态,状态信号IDLE有效,当出现ISA总线读或写操作命令时,状态机转移到state2状态,状态信号RD_WT有效,在state2状态下,从第三ISA总线操作周期计数到第五ISA总线操作周期,在第五个ISA总线操作周期,判断M总线传输确认m_xack是否有效(M总线数据读写是否完成),如果m_xack无效,则进入等待周期,如果m_xack有效,在第六ISA总线操作周期,状态机从state2状态转移到state3状态,状态信号BT_END有效,在state3状态下占用一个额外的ISA总线周期(用于Multibus总线地址、数据保持),直接跳转到state1状态,结束本次状态转移操作。
结合附图1、附图3说明时序处理电路的电路的外部连接、组成模块和主要功能。
时序处理电路与ISA三总线相连的信号包括ISA总线存储器读(isa_memr,低有效)、ISA总线存储器写(isa_memw,低有效)、ISA总线I/O读(isa_ior,低有效)、ISA总线I/O写(isa_iow,低有效)、ISA总线地址(isa_addr)、ISA总线数据(isa_dat)、ISA总线从设备就绪(isa_chrdy,高有效),时序处理电路接收的状态转移电路的输出信号包括ISA总线读(isa_rd,高有效)、ISA总线写(isa_wt,高有效)、ISA总线读/写(isa_rd_wt,高有效)、计数信号(isa_ws_cnt)、状态信号IDLE、RD_WT、BT_END(均为高有效),时序处理电路与Multibus三总线连接的信号包括M总线存储器读(m_mrdc,低有效)、M总线存储器写(m_mwtc,低有效)、M总线I/O读(m_iorc,低有效)、M总线I/O写(m_iowc,低有效)、M总线地址(m_addr)、M总线数据(m_dat)、M总线传输确认(m_xack,低有效),时序处理电路的复位信号来自复位电路的总复位(rst,高有效);
时序处理电路包括地址转换电路、读写命令转换电路、数据写转换电路、数据读转换电路、反馈电路。地址转换电路、读写命令转换电路、数据写转换电路、数据读转换电路、反馈电路均采用ISA总线时钟(isa_bclk)作为工作时钟,采用总复位(rst)作为复位信号。
地址转换电路用于实现ISA总线地址(isa_addr)到M总线地址(m_addr)的读写时序转换,输入的时序控制信号包括ISA总线读/写(isa_rd_wt)、状态信号IDLE、RD_WT、BT_END;
读写命令转换电路用于实现ISA总线读写操作命令(ISA总线存储器读isa_memr、ISA总线存储器写isa_memw、ISA总线I/O读isa_ior、I/O总线I/O写isa_iow)到M总线读写操作命令(M总线存储器读m_mrdc、M总线存储器写m_mwtc、M总线I/O读m_iorc、M总线I/O写m_iowc)的读写时序转换,输入的时序控制信号包括计数信号(isa_ws_cnt)、状态信号RD_WT;
数据写转换电路用于实现ISA总线数据(isa_dat)到M总线数据(m_dat)的写操作时序转换,输入的时序控制信号包括ISA总线读(isa_rd)、ISA总线写(isa_wt)、状态信号IDLE、RD_WT、BT_END;
数据读转换电路用于实现读操作的M总线数据(m_dat)到ISA总线数据(isa_dat)的读操作时序转换,输入的时序控制信号包括ISA总线读(isa_rd)、ISA总线写(isa_wt)、计数信号(isa_ws_cnt)、状态信号IDLE、RD_WT、BT_END,输入的反馈信号为M总线传输确认(m_xack);
反馈电路用于实现M总线传输确认(m_xack)到ISA总线从设备就绪(isa_chrdy)的反馈信号的时序转换,输入的时序控制信号包括计数信号(isa_ws_cnt)、状态信号RD_WT。
结合附图6,说明地址转换电路的组成和工作原理。
所述地址转换电路包括第一选择器[S01]、第二D触发器[D02]、第三D触发器[D03]、第一三态门[T01];第一选择器[S01]为三路选择器,当只有S0选择端为高电平时,D0输入端与OUT输出端连通,当只有S1选择端为高电平时,D1输入端与OUT输出端连通,当只有S2选择端为高电平时,D2输入端与OUT输出端选通;第一选择器[S01]、第二D触发器[D02]的数据端为1位宽度,第三D触发器[D03]、第一三态门[T01]的数据端对应地址总线,数据宽度可根据实际应用调整,默认为20位宽度;
第一选择器[S01]的D0输入端连接到高电平,第一选择器[S01]的D1输入端连接到低电平,第一选择器[S01]的D2输入端连接到ISA总线读/写isa_rd_wt,第一选择器[S01]的S0选择端连接到状态信号BT_END,第一选择器[S01]的S1选择端连接到状态信号RD_WT,第一选择器[S01]的S2选择端连接到状态信号IDLE,第一选择器[S01]的OUT输出端与第二D触发器[D02]的EN使能端、第三D触发器[D03]的EN使能端相连,第二D触发器[D02]的反相D输入端连接到状态信号BT_END,第二D触发器[D02]的Q输出端连接到第一三态门[T01]的ENB使能端,第三D触发器[D03]的D输入端连接到ISA总线地址isa_addr,第三D触发器[D03]的Q输出端连接到第一三态门[T01]的输入端,第二D触发器[D02]、第三D触发器[D03]的时钟端均连接到ISA总线时钟isa_bclk,第二D触发器[D02]、第三D触发器[D03]的CLR复位端均连接到总复位rst,第一三态门[T01]的输出端连接到M总线地址m_addr。
在state1状态,状态信号IDLE有效,第一选择器[S01]的OUT输出端与D2输入端连通,如果出现ISA总线读写操作,isa_rd_wt有效(高电平),第二D触发器[D02]、第三D触发器[03]的EN使能端为高电平,第一三态门[T01]的ENB使能端为高电平,第一三态门[T01]导通,ISA总线地址isa_addr输出到M总线地址m_addr;在state2状态,状态信号RD_WT有效,第一选择器[S01]的OUT输出端与D1输入端连通为低电平,第二D触发器[D02]、第三D触发器[03]关闭,M总线地址m_addr保持;在state3状态,状态信号BT_END有效,第一选择器[S01]的OUT输出端与D0输入端连通为高电平,第一三态门[T01]的ENB使能端为低电平,第一三态门[T01]关闭,结束对M总线地址m_addr的驱动,释放M地址总线。
ISA总线地址isa_addr在第二ISA总线操作周期输出到M总线地址m_addr,M总线地址m_addr保持到第六ISA总线操作周期(对应M总线读写命令结束)之后,再保持一个ISA总线周期释放。
结合附图7,说明读写命令转换电路的组成和工作原理。
所述读写命令转换电路包括第三多路复用器[M03]、第四D触发器[D04];第三多路复用器[M03]为四选一复用器,第三多路复用器[M03]、第四D触发器[D04]数据端均为4位宽度;
第三多路复用器[M03]的D0输入端从高位到低位依次连接ISA总线I/O写isa_iow、ISA总线存储器写isa_memw、ISA总线I/O读isa_ior、ISA总线存储器读isa_memr,第三多路复用器[M03]的D1输入端与D2输入端对应位相连,并与第四D触发器[D04]的Q输出端对应位连接,第三多路复用器[M03]的D3输入端从高位到低位连接到电平状态4’hF,第三多路复用器[M03]的[S1,S2]选择端连接到计数信号isa_ws_cnt,第三多路复用器[M03]的Q输出端连接到第四D触发器[D04]的D输入端,第四D触发器[D04]的时钟端连接到ISA总线时钟isa_bclk,第四D触发器[D04]的EN使能端连接到状态信号RD_WT,第四D触发器[D04]的SET置位端连接到总复位rst,第四D触发器[D04]的Q输出端从高位到低位依次连接到M总线I/O写m_iowc、M总线存储器写m_mwtc、M总线I/O读m_iorc、M总线存储器读m_mrdc。
在state2状态,状态信号RD_WT有效,计数信号isa_ws_cnt从2’b00开始计数,isa_ws_cnt为2’b00时,ISA总线读写命令(isa_iow、isa_memw、isa_ior、isa_memr)输出到M总线读写命令端(m_iowc、m_mwtc、m_iorc、m_mrdc),isa_ws_cnt为2’b01和2’b10时,M总线读写命令(m_iowc、m_mwtc、m_iorc、m_mrdc)保持不变,isa_ws_cnt为2’b11时,M总线读写命令(m_iowc、m_mwtc、m_iorc、m_mrdc)结束(全部变为高电平);
ISA总线读写命令在第三ISA总线操作周期输出到M总线读写命令端,M总线读写命令保持到第六ISA总线操作周期结束(M总线读写命令结束与ISA总线读写命令结束对应一致)。
结合附图8、附图9,说明数据写转换电路、数据读转换电路的组成和工作原理。
所述数据写转换电路包括第四多路复用器[M04]、第五多路复用器[M05]、第六多路复用器[M06]、第二选择器[S02]、第五D触发器[D05]、第六D触发器[D06]、第二三态门[T02];第四多路复用器[M04]、第五多路复用器[M05]、第六多路复用器[M06]均为二选一复用器,第二选择器[S02]为3路选择器,第四多路复用器[M04]、第五多路复用器[M05]、第二选择器[S02]、第五D触发器[D05]的数据端均为1位宽度,第六多路复用器[M06]、第六D触发器[D06]、第二三态门[T02]的数据端对应数据总线,数据宽度为8位或16位,可以根据实际应用调整;
第四多路复用器[M04]的D0输入端与第二选择器[S02]的D1输入端、第五D触发器[D05]的Q输出端、第二三态门[T02]的ENB使能端相连,第四多路复用器[M04]的D1输入端连接到高电平,第四多路复用器[M04]的S选择端连接到ISA总线写isa_wt,第四多路复用器[M04]的Q输出端连接到第五多路复用器[M05]的D0输入端,第五多路复用器[M05]的D1输入端连接到低电平,第五多路复用器[M05]的S选择端连接到ISA总线读isa_rd,第五多路复用器[M05]的Q输出端连接到第二选择器[S02]的D2输入端,第二选择器[S02]的D0输入端连接到低电平,第二选择器[S02]的S0选择端连接到状态信号BT_END,第二选择器[S02]的S1选择端连接到状态信号RD_WT,第二选择器[S02]的S2选择端连接到状态信号IDLE,第二选择器[S02]的OUT输出端连接到第五D触发器[D05]的D输入端、第五D触发器[D05]的时钟端连接到ISA总线时钟isa_bclk,第五D触发器[D05]的CLR复位端连接到总复位rst;
第六多路复用器[M06]的D0输入端与第六D触发器[D06]的Q输出端、第二三态门[T02]的输入端相连,第六多路复用器[M06]的D1输入端连接到ISA总线数据isa_dat,第六多路复用器[M06]的S选择端连接到ISA总线写isa_wt,第六多路复用器[M06]的Q输出端连接到第六D触发器[D06]的D输入端,第六D触发器[D06]的时钟端连接到ISA总线时钟isa_bclk,第六D触发器[D06]的EN使能端连接到状态信号IDLE,第六D触发器[D06]的CLR复位端连接到总复位rst,第二三态门[T02]的输出端连接到M总线数据m_dat。
所述数据读转换电路包括第七多路复用器[M07]、第八多路复用器[M08]、第九多路复用器[M09]、第十多路复用器[M10]、第十一多路复用器[M11]、第三选择器[S03]、第六等于比较器[E06]、第七D触发器[D07]、第八D触发器[D08]、第三三态门[T03];第七多路复用器[M07]、第八多路复用器[M08]、第三选择器[S03]、第七D触发器[D07]的数据端均为1位宽度,第六等于比较器[E06]的输入端为2位宽度,第九多路复用器[M09]、第十多路复用器[M10]、第十一多路复用器[M11]、第八D触发器[D08]、第三三态门[T03]的数据端对应数据总线,数据宽度为8位或16位,可以根据实际应用调整;
第七多路复用器[M07]的D0输入端与第三选择器[S03]的D1输入端、第七D触发器[D07]的Q输出端、第三三态门[T03]的ENB使能端相连,第七多路复用器[M07]的D1输入端连接到低电平,第七多路复用器[M07]的S选择端连接到ISA总线写isa_wt,第七多路复用器[M07]的Q输出端连接到第八多路复用器[M08]的D0输入端,第八多路复用器[M08]的D1输入端连接到高电平,第八多路复用器[M08]的S选择端连接到ISA总线读isa_rd,第八多路复用器[M08]的Q输出端连接到第三选择器[S03]的D2输入端,第三选择器[S03]的D0输入端连接到低电平,第三选择器[S03]的S0选择端连接到状态信号BT_END,第三选择器[S03]的S1选择端连接到状态信号RD_WT,第三选择器[S03]的S2选择端连接到状态信号IDLE,第三选择器[S03]的OUT输出端连接到第七D触发器[D07]的D输入端,第七D触发器[D07]的时钟端连接到ISA总线时钟isa_bclk,第七D触发器[D07]的CLR复位端连接到总复位rst;
第九多路复用器[M09]的D0输入端与第十多路复用器[M10]的D0输入端、第十一多路复用器[M11]的D0输入端、第八D触发器[D08]的Q输出端、第三三态门[T03]的输入端相连,第九多路复用器[M09]的D1输入端连接到M总线数据m_dat,第九多路复用器[M09]的S选择端连接到ISA总线读isa_rd,第九多路复用器[M09]的Q输出端连接到第十多路复用器[M10]的D1输入端,第十多路复用器[M10]的反相S选择端连接到M总线传输确认m_xack,第十多路复用器[M10]的Q输出端连接到第十一多路复用器[M11]的D1输入端,第六等于比较器[E06]的A输入端连接到计数信号isa_ws_cnt,第六等于比较器[E06]的B输入端从高到低连接到电平状态2’b10,第六等于比较器[E06]的OUT输出端连接到第十一多路复用器[M11]的S选择端,第十一多路复用器[M11]的Q输出端连接到第八D触发器[D08]的D输入端,第八D触发器[D08]的时钟端连接到ISA总线时钟isa_bclk,第八D触发器[D08]的的EN使能端连接到状态信号RD_WT,第八D触发器[D08]的CLR复位端连接到总复位rst,第三三态门[T03]的输出端连接到ISA总线数据isa_dat。
对于数据写操作,ISA总线写isa_wt为高电平,ISA总线读isa_rd为低电平,在state1、state2、state3三个状态下,分别对应状态信号IDLE、RD_WT、BT_END有效,第三选择器[S03]的输出均为低电平、第三三态门[T03]的ENB使能端为低电平,第三三态门[T03]关闭,使ISA总线数据isa_dat为单向输入,在state1状态,状态信号IDLE有效,第二选择器[S02]的输出为高电平、第二三态门[T02]的使能端为高电平,第二三态门[T02]导通,M总线数据m_dat对应单向输出,ISA总线数据isa_dat输出到M总线数据m_dat,在state2状态,状态信号RD_WT有效,第二三态门[T02]的使能端保持为高电平,M总线数据m_dat保持,在state3状态,状态信号BT_END有效,第二三态门[T02]的使能端变为低电平,第二三态门[T02]关闭,M总线数据m_dat释放;
对于数据写操作,ISA总线数据在第二ISA总线操作周期输出到M总线数据m_dat,M总线数据m_dat保持到第六ISA总线操作周期(对应M总线读写命令结束)后的下一个ISA总线周期释放;
对于数据读操作,ISA总线写isa_wt为低电平、ISA总线读isa_rd为高电平,在state1、state2、state3三个状态下,分别对应状态信号IDLE、RD_WT、BT_END有效,第二选择器[S02]的输出均为低电平、第二三态门[T02]的ENB使能端为低电平,第二三态门[T02]关闭,使M总线数据m_dat为单向输入;在state1、state2状态下,分别对应状态信号IDLE、RD_WT有效,第三选择器[S03]的输出为高电平、第三三态门[T03]的ENB使能端为高电平,第三三态门[T03]导通,在state2状态下,状态信号RD_WT有效,在计数信号isa_ws_cnt为2’b10并且M总线传输确认m_xack为低电平时,M总线数据m_dat送到ISA总线数据端isa_dat,在state3状态下,状态信号BT_END有效,第三三态门[T03]的使能端变为低电平,第三三态门[T03]关闭,ISA总线数据isa_dat释放;
对于数据读操作,从第五ISA总线操作周期开始,等待M总线数据m_dat有效后,将M总线数据m_dat输出到ISA总线数据端isa_dat,ISA总线数据isa_dat保持到第六ISA总线操作周期(对应M总线读写命令结束)后的下一个ISA总线周期释放。
结合附图10,说明反馈电路的组成和工作原理。
所述反馈电路包括第十二多路复用器[M12]、第十三多路复用器[M13]、第九D触发器[D09];第十二多路复用器[M12]为四选一复用器,第十三多路复用器[M13]为二选一复用器,第十二多路复用器[M12]、第十三多路复用器[M13]、第九D触发器[D09]的数据端均为1位宽度;
第十二多路复用器[M12]的D0输入端与第十二多路复用器[M12]的D2输入端、第九D触发器[D09]的Q输出端、第十三多路复用器[M13]的S选择端相连,第十二多路复用器[M12]的D1输入端连接到高电平,第十二多路复用器[M12]的D3输入端连接到低电平,第十二多路复用器[M12]的[S1,S2]选择端连接到计数信号isa_ws_cnt,第十二多路复用器[M12]的Q输出端连接到第九D触发器[D09]的D输入端,第九D触发器[D09]的时钟端连接到ISA总线时钟isa_bclk,第九D触发器[D09]的EN使能端连接到状态信号RD_WT,第九D触发器[D09]的CLR复位端连接到总复位rst,第十三多路复用器[M13]的D0输入端连接到高电平,第十三多路复用器[M13]的反相D1输入端连接到M总线传输确认m_xack,第十三多路复用器[M13]的Q输出端连接到ISA总线从设备就绪isa_chrdy。
在总复位rst有效的复位状态下,第九D触发器[D09]的Q输出端为低电平,ISA总线从设备就绪isa_chrdy为高电平,在state1状态下,状态信号IDLE有效,第九D触发器[D09]的EN使能端无效,ISA总线从设备就绪isa_chrdy保持为高电平,在state2状态下,状态信号RD_WT有效,当计数信号isa_ws_cnt为2’b00时,ISA总线从设备就绪isa_chrdy仍为高电平,当isa_ws_cnt为2’b01和2’b10时,ISA总线从设备就绪isa_chrdy为M总线传输确认m_xack的取反,当isa_ws_cnt为2’b11时,ISA总线从设备就绪isa_chrdy为高电平,在state3状态下,状态信号BT_END有效,第九D触发器[D09]的EN使能端无效,ISA总线从设备就绪isa_chrdy保持为高电平;
M总线传输确认m_xack为低电平有效,表示M总线写数据完成或读数据就绪,ISA总线读写操作会在第五ISA总线操作周期和可能的***等待周期采样ISA总线从设备就绪isa_chrdy,以判断ISA总线读数据是否就绪,故ISA总线从设备就绪isa_chrdy在第四到第六ISA总线操作周期内,取值为M总线传输确认m_xack的反相值,其它情况下固定为高电平,即可实现其反馈功能。
结合附图11,说明复位电路的组成和工作原理。
复位电路接收ISA总线复位(isa_resetdrv,高有效)和***复位(sys_rst,低有效),输出M总线复位(m_init,低有效),并输出总复位(rst,高有效)到状态转移电路和时序处理电路;
复位电路包括第四或门[OR04]、第一非门[N01];第四或门[OR04]、第一非门[N01]端口均为1位宽度,第四或门[OR04]的反相输入端1连接到***复位sys_rst,第四或门[OR04]的输入端2与第一非门[N01]的输入端连接到ISA总线复位isa_resetdrv,第四或门[OR04]的输出端连接到总复位rst,第一非门[N01]的输出端连接到M总线复位m_init。
ISA总线复位isa_resetdrv高有效,M总线复位m_init为低有效,所以二者通过非门转换即可,而状态转移电路和时序处理电路使用的总复位rst为***复位sys_rst与ISA总线复位isa_resetdrv的组合,***复位sys_rst与ISA总线复位isa_resetdrv有一个有效时,总复位rst有效。Multibus总线简称M总线。
由上可知,本发明的电路结构简单,支持8位和16位数据宽度,地址线可以根据需要进行扩展;该电路转换效率高,频率适应性强,可以用于7MHz~10MHz的ISA总线时钟范围;该电路通用性强,可以在通用的CPLD/FPGA逻辑芯片上实现,占用资源少,功耗低;该电路通过ISA总线到Multibus总线的读写时序转换,实现了在ISA总线机箱上配置Multibus总线从设备的混插与兼容;在测试领域,基于ISA总线的测试***,除直接测试ISA总线模块外,如果采用本发明电路,可以扩展测试Multibus总线从模块,进而提高***测试能力。