实际上,FPGA无法完成你需要的模拟开关的功能,但是,可以通过FPGA的数字IO控制外部的模拟开关器件来做模拟选择功能。
双向开关有:
tran rtran tranif0 rtranif0 tranif1 rtranif1
这些开关是双向的,即数据可以双向流动,并且当数据在开关中传播时没有延时。后4个
开关能够通过设置合适的控制信号来关闭。tran和rtran开关不能被关闭。
tran或rtran ( tran 的高阻态版本)开关实例语句的语法如下:
( r ) tran [instance_name] (SignalA, SignalB) ;
端口表只有两个端口,并且无条件地双向流动,即从SignalA向SignalB,反之亦然。
其它双向开关的实例语句的语法如下:
gate_type [instance_name] (SignalA, SignalB, ControlC);
前两个端口是双向端口,即数据从SignalA流向SignalB,反之亦然。第三个端口是控制信号。如果对tranif0和tranif0,ControlC是1;对tranif1和rtranif1,ControlC是0;那么禁止双向数据流动。对于rtran、rtranif0和rtranif1,当信号通过开关传输时,信号强度减弱。
模拟开关?是不是八选一的多路选择器啊