我在SLG46880V设备上使用F(1)计算宏单元。看起来,当使用来自专用模拟比较器引脚的输入单元进行计算时,F(1)块的输出被路由到FSM过渡输入,状态在模拟中没有正确过渡。
当从一般连接矩阵路由输入时,它似乎可以正常工作。请查看图片和示例文件的链接:
https://www.dropbox.com/s/l8loe30ldw3pf7g/F%281%29%20error%20example.gp6?dl=0
设备:
设备数量:
SLG46880V
嗨,马修,
谢谢你伸出援手。F(1)计算宏小区将开始执行指令的唯一时间是当ASM Macrocell首次进入新状态时。(您还可以在数据表的F(1)宏单元部分中找到一些更有用的信息)
因此,当输入电压小于ACMP的参考电压时,ACMP降低,F(1)块停止,ASM保持在状态0。因此,你看不到过渡。能否在命令序列中,除了OUT0之外,尝试使用Loop with Delay命令?所以每次迭代通过循环时,阈值就会被监控,并且会有一个过渡。
如果有帮助请告诉我
好的,希瓦尼,我明白你的意思了。我将尝试添加循环,看看它是否改变了什么,谢谢。
嗨Shivani再次。我仍然没有任何运气完成我正在尝试的事情,它是在Gven状态中连续监视模拟输入,使用F(1)宏电池执行运行计算,并且当a时触发状态转换满足某些计算条件。一个示例是通过与F(1)单元输入相关联的四个模拟比较器,使用堆栈机器的三位格雷码连持一个例子,然后在三位中的特定位时触发状态转换f(1)输出设置。对于f(1)代码,我有类似的东西:
正如你所说的,如果没有循环语句,F(1)计算只在进入状态时执行一次。使用循环和延迟,它看起来像在模拟堆栈机进入一个无限循环,F(1)的输出不断变化,但控制永远不会返回到ASM,过渡永远不会发生。这有可能吗?如果有,你有可以分享的工作例子吗?谢谢你!
嗨,马修,
请在附件中找到F(1)宏单元格的工作示例。命令序列与您的略有不同
亲切的问候
Shivani
谢谢你的例子,Shivani,抱歉我的回复延迟了,不幸的是,我正在经历的问题仍然存在。F(1)单元进入循环,连续计算ACMP输入的4输入和,在你的例子中不是问题。但是如果我说OUT0 F(1)细胞和连接状态转换输入ASM看起来从来没有触发,循环继续无限和控制不会返回给ASM在这种情况下,状态转换输入只是来自哪里F(1)的输出。
如果我连接F(1)的OUT0到ASM过渡输入和F(1)上的“中断”引脚,然后过渡触发时OUT0高,我假设因为控制返回和环路中断与接收过渡信号的ASM并发,但这似乎是一种竞赛风险,并不是一个特别有用的配置,无论如何,因为这种连接会在所有状态和所有四种可能的F(1)配置中持续存在。我假设这是正确的行为,尽管,一旦F(1)进入一个无限循环在一个特定的状态,唯一的方式打破是通过外部输入到ASM或使用中断引脚强制返回控制到ASM?