安全行为和非安全行为
由于条件语句的描述在很多情况下,导致生成锁存器。这些锁存器将上游的毛刺传输至下游,并且锁存器的使能信号(源自组合电路)也带有毛刺,引起的冒险竞争,导致下游逻辑出现错误的捕获,这种现象称为非安全行为。
一旦非安全行为发生错误,典型的特征是:前仿正确,后仿不正确,下板不正确,而且很难以找到问题所在。
因此,现代EDA,要求写安全行为的HDL,一旦出现非安全行为,大多数工具直接给出警告。又由于非安全行为的根源在锁存器,因此,“消灭锁存器”为EDA综合编译和时序收敛过程一个必然步骤。也就是说,一旦生锁,将给出警告。
安全行为的编码原则:
1.开节点输出的信号,必须满足:“全条件”+“全线与”
2.闭节点输出的信号,这些信号中的条件译码信号,必须写“全条件”+“全线与
安全行为编码例子:摩尔流水灯
设计需求
开发板的4个led灯,轮流点亮
每一个灯亮200ms,然后熄灭50ms
任何时候,按下start_n,流水灯开始运行
任何时候,按下stop_n,流水灯停止运行,全部熄灭
二段摩尔状态机
工作时钟clk频率为100KHz(10us)
顶层框图

顶层架构

ET:使能信号触发器,在start_n为真时触发ena为真,在stop_n为真时触发ena为假。复位rst_n为真触发ena为假。
CNT:cnt_en为假,cnt清零;cnt_en为真,cnt加一计数
TS:shift_rst_n为真,给出temp的初始值4’b1110;shift_en为真,temp左移一次
引用TPS:

状态转移图(非安全行为)

状态转移图(安全行为)

编辑:jq
-
led灯
+关注
关注
22文章
1607浏览量
112163 -
eda
+关注
关注
72文章
3162浏览量
184103 -
编码
+关注
关注
6文章
1043浏览量
57213 -
锁存器
+关注
关注
8文章
958浏览量
45532
原文标题:FPGA学习:全行为和非安全行为
文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
芯盾时代助力企业打造AI安全基础设施
预期功能安全是什么?(下)
预期功能安全是什么?(上)
借助京东API,轻松分析用户行为,优化店铺页面布局!
单片机开发功能安全中编译器
无法将 XOM 设置为非安全区域,为什么?
协议分析仪能监测哪些异常行为?
无人机AI视觉行为识别系统
请问如何在CYBT-343026-01上禁用BT经典连接/配对?
无人机AI视觉行为识别系统在电力巡检领域的应用
无人机AI视觉行为识别系统在智慧工地的应用
哪些技术确保萝卜快跑自动驾驶安全行驶?
FPGA学习之安全行为和非安全行为
评论