You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ATF16V8寄存器模式下能否使用OE引脚值?技术实现问询

问题

需要制作一款带RESET信号预设(恒定值)的8位触发器,计划采用ATF16V8,将RESET信号直接或反向接入OE引脚,期望OE有效时作为触发器工作,无效时输出恒定值(寄存器模式下ATF16V8默认带有OE),即使需要外部电路将RESET信号同步到CLK也可接受。

编写的代码如下:

PIN 1 = CLK;
PIN [9..2] = [D7..0];
PIN [19..12] = [DQ0..7];
PIN 11 = !OE;

[DQ7..0].d = 
     [D7..0] & OE
   # ['h60] & !OE;

编译器报错:[0014cb] invalid input: OE

咨询:ATF16V8在寄存器模式下是否有办法使用OE引脚值?或是有其他实现该需求的方案?(已知可使用19V8或22V10,若16V8无方案会选择它们,仅出于技术探究需求)

解答

结合Lattice半导体GAL22V10数据手册中关于OLMC(输出逻辑宏单元)模式切换机制及ATF16V8的实际特性,结论是ATF16V8在寄存器模式下无法使用OE引脚值,原因如下:

模式和输出极性由S0、S1两位设置,通常由逻辑编译器控制。两种主要模式及启用所需的位设置如下:

[OLMC结构示意图]

寄存器模式特性

单个OLMC的输出引脚由其D型触发器的Q输出驱动,输出引脚的逻辑极性可选择输出缓冲器驱动真(高有效)或反(低有效)电平。输出三态控制为每个OLMC提供独立乘积项,可通过逻辑方程定义。D触发器的/Q输出反馈至与阵列,反馈的真和补码均可作为与阵列的输入。

注:寄存器模式下,反馈来自寄存器的/Q输出而非引脚;因此定义为寄存器模式的引脚仅为输出,无法像组合型引脚那样用于动态I/O

[寄存器模式下的OLMC示意图]

组合模式特性

单个OLMC的引脚由和项门的输出驱动,输出引脚的逻辑极性可选择输出缓冲器驱动真(高有效)或反(低有效)电平。输出三态控制为每个输出提供独立乘积项,编译器可将其单独设置为“开启”(专用输出)、“关闭”(专用输入)或“乘积项驱动”(动态I/O)。反馈至与阵列来自输出使能缓冲器的引脚侧,引脚的真和反极性均反馈至与阵列

[组合模式下的OLMC示意图]

由于寄存器模式下OE引脚仅作为三态控制,其引脚值无法反馈到与阵列参与逻辑运算,因此无法实现原代码中用OE控制触发器输出预设值的逻辑。若坚持使用ATF16V8,可考虑将RESET信号同步到CLK后,作为触发器的异步置位/复位输入(需利用ATF16V8的寄存器置位/复位资源),但该器件的全局置位/复位是共用的,需确认是否符合需求;否则只能选择支持动态I/O或可将OE引脚作为逻辑输入的器件(如19V8或22V10)。

内容的提问来源于stack exchange,提问作者EugenOS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 17:45:07