首页 > 其他分享 >Majority [məˈdʒɔːrəti] 大多数,多数票

Majority [məˈdʒɔːrəti] 大多数,多数票

时间:2024-12-11 20:23:32浏览次数:2  
标签:count set testbentch 多数票 Majority ti module% out

多数表决器的设计

 

有三位同学参加投票表决,每人手里有一个按键,两人以上同意(按键按下)则通过(指示灯亮),否则不通过(指示灯不亮),试使用搭建电路,完成多数表决功能。

//------------------------------------ // 多数表决器 //------------------------------------

module Majority(a, b, c, out) ;

/*这个模块定义了一个多数表决电路。它接收三个输入(a、b、c)和一个输出(out)。输出值由输入的AND操作和OR操作的结果确定。*/

input a, b, c ;

output out ;

assign out = (a & b)|(a & c)|(b & c) ;

/*在模块中,assign语句将AND和OR操作的结果分配给输出变量。如果任何一个输入为1,则相应的输出位将为1。如果所有三个输入都为0,则输出位也将为0。*/

endmodule

 

/* 总体而言,这个模块可以用于实现数字电路中的简单多数表决算法。 */

 

module Majority_TB;    // 声明模块名为Majority

reg [2:0] count;       // 定义一个3位计数器,用于记录输入信号中1的个数

wire out;       // 定义一个输出信号,用于表示多数表决器的输出结果

// 实例化多数表决器

Majority m(count[0], count[1], count[2], out);

// 生成3输入变量的8个输入取值

initial

begin

count = 3'b000;  // 将计数器初始化为000

repeat (8) begin   // 循环8次

#100;       // 等待100个时钟周期

$display("in = %b, out = %b", count, out);   // 显示当前输入和输出状态

count = count + 3'b001;     // 将计数器加1

end

end

initial begin

$dumpfile("Majority_TB.vcd"); //

$dumpvars;  //无参数,表示设计中的所有信号都将被记录

$dumpvars(0,Majority_TB);

end

endmodule

geda.bat

set iverilog_path=C:\iverilog\bin;
set gtkwave_path=C:\iverilog\gtkwave\bin;
set path=%iverilog_path%%gtkwave_path%%path%

set source_module=%1
set testbentch_module=%1_TB


iverilog -o "%testbentch_module%.vvp" -y ./lib/*.v %testbentch_module%.v %source_module%.v
vvp -n "%testbentch_module%.vvp"

set gtkw_file="%testbentch_module%.gtkw"
if exist %gtkw_file% (gtkwave %gtkw_file%) else (gtkwave "%testbentch_module%.vcd")

pause

 

标签:count,set,testbentch,多数票,Majority,ti,module%,out
From: https://www.cnblogs.com/chunk998/p/18600641

相关文章

  • Maven、mybatis框架
    一、Maven介绍1.概念:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。2.为啥使用maven:之前项目中需要引入大量的jar包。这些jar从网上下载,可能下载地址不同意。这些jar之间可能存在冲突。我们应该有一个软件,帮你完成jar的下......
  • Unet++改进51:添加IdentityFormer
    本文内容:添加IdentityFormer目录论文简介1.步骤一2.步骤二3.步骤三4.步骤四论文简介摘要-metaformer是Transformer的抽象架构,在实现竞争性性能方面发挥了重要作用。在本文中,我们进一步探索了MetaFormer的能力,再次,通过将我们的重点从令牌混合器设计转移开来:我们使用......
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-model.py
    model.pyultralytics\engine\model.py目录model.py1.所需的库和模块2.classModel(nn.Module): 1.所需的库和模块#UltralyticsYOLO......
  • AVDC UAS Modelling and Simulation
    2024-2025AVDCUASModellingandSimulationAssignmentDrDmitryIgnatyevCentreforAutonomousandCyber-PhysicalSystems,SATMntroductionThisisanindividualassignmentcomprisingareportandaccompanyingcomputer(software)codesondynamicsandcon......
  • MyBatis中的parameterType:深入浅出
    MyBatis中的parameterType:深入浅出引言在使用MyBatis进行数据库操作时,我们经常会遇到parameterType属性。这个属性用于指定传入SQL语句的参数类型,看似简单,但其中却蕴含着不少细节。本文将深入探讨parameterType的作用、使用场景以及最佳实践。parameterType的作用类型匹配:My......
  • 【Elasticsearch01】企业级日志分析系统ELK之Elasticsearch单机部署
    Elasticsearch单机部署Elasticsearch安装说明官方文档https://www.elastic.co/guide/en/elastic-stack/index.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/master/install-elasticsearch.html部署方式包安装二进制安装Docker部署Ansible批量部......
  • 为什么你用的 MyBatis 慢?一行配置让它性能翻倍!
    为什么你用的MyBatis慢?一行配置让它性能翻倍!在Java后端开发的江湖里,MyBatis堪称一员大将,凭借着灵活的SQL编写、方便的数据库对接能力,深受广大开发者的喜爱。但不少小伙伴在实际项目中却暗暗叫苦:为啥自家的MyBatis运行起来慢吞吞的,严重拖慢业务响应速度?别慌,今天这篇文章......
  • 如何实现FBX到3DTiles文件的转换?这款免费的GISBox工具箱绝对值得一试!
    在日常地理信息数据处理中,文件格式转换是不可或缺的一环。3DTiles作为GIS领域应用广泛的格式,因其高效的数据组织和渲染能力,常被作为转换后的首选格式。而FBX(Filmbox)是一种用于存储三维模型的文件格式,支持多种三维数据,虽然广泛应用于3D建模、动画和渲染领域。但在GIS领域中,FBX文......
  • 【C++】static 知识整理 【静态与局部静态】
    目录类外类内局部静态localstatic类外类内类外C++的静态可以分为两种情况来讨论:在类外和在类内。对于静态变量/函数,链接将只在内部(如果不用static,那么在不同文件定义同名变量会报错)声明定义在其他地方的变量需要使用extern,函数则不需要类内静态变量/方法将与类的所有实例......
  • Nginx location proxy_pass 后面的url 加与不加/的区别
    这里我们分4种情况讨论这里我们请求的网站为:192.168.1.123:80/static/a.html整个配置文件是server{port80,servername192.168.1.123location/static{proxy_pass192.168.2.321:81}location/static{proxy_pass192.1......