Verilog中如何用assign条件判断语句构造三选一数据选择器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Verilog中如何用assign条件判断语句构造三选一数据选择器?相关的知识,希望对你有一定的参考价值。

参考技术A 你好,下面是对应的verilog:
assign result =a ?a1 :b?a2 :a3;
这里面a,b是条件,然后 a1,a2,a3是输入的数据。追问

有没有更加详细一点的,因为初学verilog,各种方面都不太懂,我用软件仿真是出错了

追答

你需要将a,b也作为输入加进去,否者他们没有定义。

参考技术B assign L=(A&~SEL)|(B&SEL);//连续赋值 在assign语句中,左边变量的数据类型必须是wire型。input和output如果不特别声明类型,默认是wire类型。举例2选1的数据选择器:module mux2x1_df(A,B,SEL,L);input A,B,SEL... 参考技术C assign result =a ?a1 :b?a2 :a3;这里面a,b是条件,然后 a1,a2,a3是输入的数据。

sql 中如何用别名作为查询条件

两个sql语句是用union连接的,例如:
select a.id as 'id',a.membername as 'name' b.suppliername as 'companyname' from member a
inner join supplier b on a.supplierid=b.supplierid where company like'%某某%'
union
select a.id as 'id',a.membername as 'name' b.customername as 'companyname' from member a
inner join customer b on a.customerid=b.customerid where companyname like '%某某%'
像这样的查询怎么用别名作为查询条件啊

SQL Server 2005/2008
Oracle 10/11

可以用 CTE, 来 “曲线”的实现这个要求.

例如:

1> with myCTE AS (
2> SELECT 1+2+3+4 AS 别名 UNION ALL
3> SELECT 2+3+4+5 AS 别名
4> )
5> SELECT * FROM myCTE WHERE 别名 = 10
6> go
别名
-----------
10

(1 行受影响)
参考技术A select * from (select a.id as 'id',a.membername as 'name' b.suppliername as 'companyname' from member a
inner join supplier b on a.supplierid=b.supplierid
union
select a.id as 'id',a.membername as 'name' b.customername as 'companyname' from member a
inner join customer b on a.customerid=b.customerid) a where companyname like '%某某%'本回答被提问者采纳

以上是关于Verilog中如何用assign条件判断语句构造三选一数据选择器?的主要内容,如果未能解决你的问题,请参考以下文章

sql 中如何用别名作为查询条件

Excel中如何用VBA判断行数?

Oracle中如何用一条insert into 语句插入多条数据 如: insert into 表 values(多条数据)????????

java中的BufferedReader语句如何用?

awk中如何用正则表达式判断某位数值的位数?

Verilog 如何用持续赋值语句实现2选1多路选择器