verilong 代码中寄存器字长勿省略!

例子1:

module exe4(out,E1,addr,d1,d2,d3,d4);
input [1:0] addr;
input d1,d2,d3,d4;
input E1;

output out;

assign out = (addr==00)?d1: 1‘bz;
assign out = (addr==01)?d2: 1‘bz;
assign out = (addr==10)?d3: 1‘bz;
assign out = (addr==11)?d4: 1‘bz;

endmodule

例子1修改:

module exe4(out,E1,addr,d1,d2,d3,d4);
input [1:0] addr;
input d1,d2,d3,d4;
input E1;

output out;

assign out = (addr==2‘b00)?d1: 1‘bz;
assign out = (addr==2‘b01)?d2: 1‘bz;
assign out = (addr==2‘b10)?d3: 1‘bz;
assign out = (addr==2‘b11)?d4: 1‘bz;

endmodule

总结:仔细体会代码,不要图省事!

时间: 2024-10-12 12:49:56

verilong 代码中寄存器字长勿省略!的相关文章

通过库函数API和C代码中嵌入汇编代码剖析系统调用的工作机制

作者:吴乐 山东师范大学<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本次实验的主要内容就是分别采用API和gcc嵌入汇编的方式调用system_call.系统调用其实就是操作系统提供的服务.我们平时编写的程序,如果仅仅是数值计算,那么所有的过程都是在用户态完成的,但是我们想将变量打印在屏幕上,就必须调用printf,而printf这个函数内部就使用了write这个系统调用.操作系统之所以以system ca

HTML代码中的空格和空行

HTML 代码中的所有连续的空格或空行(换行)都会被显示为一个空格. 例子1:(文本内容中的连续空格) 代码 <p>这段文本中,输入连续的空格 大概输入了十个.</p> 显示效果:“格”和“大”之间的是个空格显示出来只是一个空格. 这段文本中,输入连续的空格 大概输入了十个. 例子2:(代码之间的连续空格) 代码 <span>span是一个行内标签</span> <span>和前面的span元素之间隔了很多个空格</span> 显示效

linux内核分析第四周-使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

本周作业的主要内容就是采用gcc嵌入汇编的方式调用system call.系统调用其实就是操作系统提供的服务.我们平时编写的程序,如果仅仅是数值计算,那么所有的过程都是在用户态完成的,但是我们想将变量打印在屏幕上,就必须调用printf,而printf这个函数内部就使用了write这个系统调用.操作系统之所以以system call的方式提供服务,是因为如果程序员能够任意操作OS所有的资源,那么将无比危险,所以OS设计出了内核态和用户态. 我们平时编程都是在用户态下,如果我们想要调用系统资源,那

[翻译]:怎样从C/C++代码中对C#进行回调

声明:网络上类似的中文博客大有存在,本人知识水平有限,业余爱好,也是为了备份收藏How to make a callback to C# from C/C++ code 本着共享知识的初衷,翻译一份给大家参考,为了便于阅读不至于拗口,没有按照原文直译,不到之处或者翻译有误,还望勿喷,敬请指评. 几乎每个人都知道怎样调用一个非托管DLL中的函数,然而有时候我们希望能从C/C++代码中调用C#代码.想象一个场景,其中有一个名为Engine.dll的本机C语言编写DLL的C#应用程序.在DLL中有一个

SDRAM和重定位(二)---开始在汇编代码中调用 C 语言

前面的点亮led的代码由于比较简单,所以全部用汇编代码完成,但是随着代码越来越多,逻辑关系越来越复杂,想要完全用汇编代码来写程序不太现实,必须要借助 c 语言程序,那么就会有从汇编语言到 c 语言的一个过渡阶段. ======================================================= 如何在汇编语言中调用 c 语言? 在汇编中调用 c语言程序的方法很简单,只需利用汇编代码:bl xxx(函数名)即可,但是重点不是如何调用 c 程序,而是汇编代码要为运行 c

用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

姓名:王晨光 学号:20133232 王晨光 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本周的实验相比较前面3次实验较为容易理解,这次实验的浅析了系统调用的工作过程,通过用库函数API和C代码嵌入汇编代码两种方式使用同一个系统调用. 我这次实验选择了20号系统调用getpid来获取进程ID.首先我先在网上查阅了getpid函数是用来获取目前进程的ID,许多程序利用取到的此值

动力之源:代码中的“泵”

相关文章连接: 编程之基础:数据类型(一) 编程之基础:数据类型(二) 高屋建瓴:梳理编程约定 完整目录与前言 动力之源:代码中的"泵"     10.1 "泵"的概念    215 10.1.1 现实生活中的"泵"    215 10.1.2 代码中的"泵"    216 10.1.3 代码中"泵"的作用    218 10.2 常见"泵"结构    219 10.2.1 桌面GUI框

Android-广播发送与接收(Java代码中订阅)

Android四大组件之一广播,使用的也比较多,广播可大致分为两种,一种是Android系统区域的广播,是由系统指令发出,例如:点亮屏幕广播,开机过程中的一些广播 省略-, 然而还有一种广播就是我们自己定义,自己来控制发出的广播,以下就简单介绍以下,在代码中发送广播和接收广播: 第一步,在onCreate注册广播(订阅) UpdateIpSelectCity updateIpSelectCity = new UpdateIpSelectCity(); IntentFilter filter =

try-catch-finally 中哪个部分可以省略?try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

try-catch-finally 中哪个部分可以省略? finally这部分可以省略 try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 会执行 1.不管有没有异常,finally中的代码都会执行2.当try.catch中有return时,finally中的代码依然会继续执行3.finally是在return后面的表达式运算之后执行的,此时并没有返回运算之后的值,而是把值保存起来,不管finally对该值做任何的改变,返回的值都不会改变