10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码

这篇具有很好参考价值的文章主要介绍了10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 always的block之间,采用并行执行

always之内,采用非阻塞赋值,为顺序执行

一些代码分析

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

这个把使能信号和W信号组合在一起,进行case语句,即只有合并信号最高位为1时,才进行操作

always后面要写@,assign不用

存储元件代码

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

这没有期望的边沿,就是只要发生变化就会触发

加上posedge,negedge就可以标记期望的边沿10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

按位操作与逻辑操作

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

一个操作符就是按位操作,两个就是逻辑操作

香浓展开与选择器实现电路 

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

对四变量提取w1,做出香浓展开,则w1为选择信号,其他w2,w3,w4组合成被选择的信号

提取出n个量,就有n个选择信号,就需要传进2^n的被选择信号

例一

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

香浓展开的提取项,就是选择器的选择信号

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

对两个量进行展开,考虑出所有情况

对于各子项里没有出现的提取项,可以放到任意一个里去,但必须有对应的提取项,最后的目标是各种情况能凑齐子项

移位器

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

就是移位信号为1时,y3选为0,y2为w3,y1为w2,y0为w1,即整体左移一位

代码

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件由于采用了always,所以输出信号在模块内要定义成reg

always@(W,Shift)就是说,只要这里面有一个变化,就进行触发

如果用assign就是时刻都在触发,而always是标定信号发生变化时才触发

另一种实现10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

桶形移位器

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

就是一个可以指定移动位数的移位器,并且循环

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

y3,y2,y1,y0是实际输出的每位,每位都是一个四选一选择器,被选择信号就是循环出现的四个信号,然后s1s0组合在一起构成移位信号对每个选择器进行选择。

代码

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

多位宽信号在运算时,是整成实际大小意义进行的

二进制转格雷码函数

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

就是从低位与高位两两异或,最高位独自保留

异或实现

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

 选择器的上是0,下是1的情况,即异或式中,认为一个信号是选择信号,剩下的所有信号的异或运算结果和它的非为被选择信号,选择信号为0时,不做改变,直接消掉,即输出剩下所有的运算结果,即选择上部直接出;为1时,对前面的所有信号的异或运算结果取反,输出取反后的结果;

10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码,数电,javascript,开发语言,ecmascript,1024程序员节,单片机,嵌入式硬件

三个项异或电路

n个项就是往后不断递归加二选一选择器,延长电路长度

这个原理也可说明异或函数能检验一串二进制数的1的个数

如果个数为奇数,则输出结果为1;

如果个数为偶数,则输出结果为0;文章来源地址https://www.toymoban.com/news/detail-730014.html

到了这里,关于10.31一些代码分析,香浓展开,移位器(桶形多位),二进制转格雷码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 10月31日作业

    2024年02月07日
    浏览(28)
  • 【pen200-lab】10.11.1.31

    【pen200-lab】10.11.1.31 🔥系列专栏:pen200-lab 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年12月7日🌴 🍭作者水平很有限,如果发现错误,还望告知,感谢!

    2024年02月04日
    浏览(28)
  • 北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分  二.管脚分配 三.实现过程讲解及效果 shift_register.v d

    2024年02月05日
    浏览(45)
  • 数码管移位循环显示数字verilog代码ego1开发板

    名称:数码管移位循环显示数字verilog代码ego1开发板 软件:VIVADO 语言:Verilog 代码功能: 采用EGO1中的两组数码管,让该8个数码管循环显示:01234567,12345678,23456789.... 电路的输入信号en进行启动或暂停;用按键控制循环,按一下显示下一组数。 FPGA代码Verilog/VHDL代码资源下载

    2024年02月03日
    浏览(32)
  • 【Verilog编程】线性反馈移位寄存器(LFSR)原理及Verilog代码实现

    移位寄存器 :指若干个寄存器排成一列,每个寄存器中存放1bit二进制数据(0或1),每个时钟周期向左或向右移动一个bit。下图所示为一个向右移动的移位寄存器。 反馈移位寄存器(Feedback Shift Register,FSR) :每个时钟脉冲,移位寄存器向右移动一位,则移位寄存器的左左侧就

    2024年02月15日
    浏览(40)
  • BI零售数据分析:以自身视角展开分析

    随着零售业务不断扩展,市场竞争不断加剧,各层级的销售管理人员都急需一张能快速查看销售数据分析报表,能从中知道自己管辖内的业务最近或过去的情况,并依次为依据科学优化销售管理措施。这就要求零售数据分析报表信息足够多、数据足够直观易懂,最好是以浏览

    2024年02月07日
    浏览(28)
  • Android 10.0 原生SystemUI下拉通知栏每条通知默认展开

    在10.0的系统rom原生开发中,在在对SystemUI下拉通知栏做定制的时候,在下拉状态栏的时候,通知栏中最后一条通知默认是收缩的 点击按钮 就会展开 原生系统systemui就是如此,为了更美观 所以要求最后一条通知也默认展开,显得更美观 最终效果图:   在systemui中,关于下拉通

    2023年04月08日
    浏览(34)
  • 银河麒麟kylin_V10系统安装mysql-8.0.31

    0.安装前的准备工作 检查是否已经安装mysql   rpm -qa | grep mysql 有的话,将查询出来的卸载掉, rpm -e –nodeps   xxxxxxxx 查询残余文件夹 :   whereis mysql 检查MySQL用户组以及用户是否存在,若没有则创建 [root@localhost ~]# cat /etc/group | grep mysql [root@localhost ~]# cat /etc/passwd |grep mysql [ro

    2024年02月07日
    浏览(35)
  • 【区块链 | 智能合约】Ethereum源代码(10)- 以太坊Downloader源码分析

    上一节分析到Fetcher用于同步网络节点的新区块和新的交易数据,如果新区块和本地最新的区块相隔距离较远,说明本地区块数据太旧,Fetcher就不会同步这些区块。这时候就要借助Downloader来同步完整的区块数据。 一,启动Downloader handler 初始化的时候会进行Downloader的初始化:

    2024年02月15日
    浏览(33)
  • 电脑干货:Win10系统中31个运维小技巧,值得收藏

    目录 技巧列表 今天给大家分享Win10系统中31个运维小技巧,希望对大家能有所帮助! 1、查看电脑IP地址:按Win+R打开运行框→输入cmd点确定→输入ipconfig回车就可以看到IP地址了。 2、网页上的文字不能复制怎么解决:按F12→在弹出的调试框里点击设置→向下滑找到Disable Java

    2024年04月28日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包