命题:设计一个三变量表决器。真值表如下:

可以写出并简化得出公式:F=AB+BC+AC。

以下是两种算法:

第一种:仅从算法方面描述为:A、B、C的和大于1则输出结果为1,否则为0;源码如下:

module vote_c(a,b,c,result);
input a,b,c;
output result;
reg result;
always @(a or b or c or result)
begin
if((a+b+c)>)
result=;
else
result=;
$display("a,b,c,result");
$display("%d,%d,%d,%d",a,b,c,result);
end
endmodule

第二种:采用上面公式描述的组合逻辑。源码如下:

module vote_d(a,b,c,result);
input a,b,c;
output result; assign result=((a&&b)||(b&c)||(a&&c));
always@(a or b or c or result)
begin
$display("a b c result");
$display("%d %d %d %d",a,b,c,result);
end
endmodule

测试平台 modelsim altera 6.5b,测试源码如下:

`timescale 1us/1us
`include "votec.v"
`include"voted.v" module vote_top;
reg a,b,c;
wire result; initial
begin
a=;b=;c=;
# a=;b=;c=;
# a=;b=;c=;
# a=;b=;c=;
# a=;b=;c=;
# a=;b=;c=;
# a=;b=;c=;
# a=;b=;c=;
end
vote_c v1(a,b,c,result);
//vote_d v2(a,b,c,result);
endmodule

得出结果都为:

# a  b  c  result

# 0  0  0    0

# a  b  c  result

# 0  0  1    0

# a  b  c  result

# 0  1  0    0

# a  b  c  result

# 0  1  1    1

# a  b  c  result

# 1  0  0    0

# a  b  c  result

# 1  0  1    1

# a  b  c  result

# 1  1  0    1

# a  b  c  result

# 1  1  1    1

与真值表一致。所以两种方式都是正确的。在quartus II中综合编译后:

第一种的RTL视图如下:

可以看出,该模块综合成两个加法器和一个比较器。

第二种RTL视图如下:

可以看出综合成3个与门和一个或门的组合逻辑电路。

两者在资源消耗方面如下:

  

可以看出基本没有区别。仿真器应该最后将他们优化成一致了。

verilog描述表决器的两种方式简易分析的更多相关文章

  1. Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)

    加载图片属于比较耗时的工作,我们需要异步进行加载,异步加载有两种方式:1.通过AsyncTask类进行:2.通过Handler来实现,下面我们就来看一下如何通过这两种方式实现网络图片的异步加载. 一. ...

  2. CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking)

    CSharpGL(18)分别处理glDrawArrays()和glDrawElements()两种方式下的拾取(ColorCodedPicking) 我在(Modern OpenGL用Shader拾取 ...

  3. System.Web.Http.Cors配置跨域访问的两种方式

    System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心 ...

  4. ImageView设置边框的两种方式

    转载:http://www.2cto.com/kf/201308/239945.html package cc.testimageviewbounds; import android.os.Bundl ...

  5. Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition

    Java并发编程:线程间协作的两种方式:wait.notify.notifyAll和Condition 在前面我们将了很多关于同步的问题,然而在现实中,需要线程之间的协作.比如说最经典的生产者-消费者 ...

  6. Hadoop之HDFS文件操作常有两种方式(转载)

    摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HD ...

  7. 简介C#读取XML的两种方式

    简介C#读取XML的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-03-03 在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型,使用DOM的 ...

  8. 加载xib文件的两种方式

    一.加载xib文件的两种方式 1.方法一(NewsCell是xib文件的名称) NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@&quo ...

  9. 内核知识第12讲,SSDT表.以用户模式到系统模式的两种方式.

    内核知识第12讲,SSDT表.以用户模式到系统模式的两种方式. 一丶IDT解析. 我们知道.IDT表中存放着各种中断信息.比如当我们调用int 3的时候,则会调用IDT表中的第三项来进行调用. 而函数 ...

随机推荐

  1. ASP.NET MVC 扩展HtmlHelper类方法

    1.扩展HtmlHelper类方法ShowPageNavigate 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...

  2. 【USACO 2.1】Healthy Holsteins

    /* TASK: holstein LANG: C++ URL: http://train.usaco.org/usacoprob2?a=SgkbOSkonr2&S=holstein SOLV ...

  3. bzoj4400: tjoi2012 桥

    先传代码再填坑 #include <iostream> #include <cstdio> #include <cmath> #include <cstrin ...

  4. 【BZOJ-3697&3127】采药人的路径&YinandYang 点分治 + 乱搞

    3697: 采药人的路径 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 681  Solved: 246[Submit][Status][Discus ...

  5. PowerShell控制台快捷键

    按键 功能 ← 光标向左移动一个字符 Ctrl + ← 光标向左移动一个单词 → 光标向右移动一个字符 Ctrl + → 光标向右移动一个单词 Home键 光标移动到行首 End键 光标移动到行尾 D ...

  6. BZOJ1922 [Sdoi2010]大陆争霸

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  7. 素材收集(icon/images/javascript)

    icon: http://www.easyicon.net/ http://www.iconpng.com/ images: http://www.58pic.com/tupian/fenxiangt ...

  8. 认识http协议

    http:Hyper Text Transfer Protocol,超文本传输协议.是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和 ...

  9. Android虚拟机Classic qemu does not support SMP问题记录

    不及之前重装了一次系统,导致要重新搭建android开发环境,但是在启动AVD时queue遇到了这个问题 androidstudio中看到的是这个样子 大概查了一下,应该是创建虚拟机是选择的cpu构架 ...

  10. 解决“HTTP/1.1 405 Method not allowed”问题

    Apache.IIS.Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回"HTTP/1.1 405 Method not allowed"错误. 即,将 ...