定点化-饱和截位 verilog

zhyg_321 2022-05-11 07:00:33

定点介绍(低截高饱)

一般我们会分为两步来操作

  1. 低位Round操作

封装为饱和截位

高饱操作:

d = ((c【27:24】== 4'b0000) || (c[27:24] == 4'b1111) ) ? c[24:0] : c[27] ? 25'h1000000 : 25'h0ffffff;

这个可能是在verilog上能做到的最好的方式了,但是不够完美

使用方式:

fixpoint (15,11,4,1,1) u_add1_fix (.din(fixin),.dout(fixout));
fixpoint (15,10,4,1,1) u_add2_fix (.din(fixin),.dout(fixout));

源码

 

...全文
505 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧