编写一个基于verilog的十人投票表决器的程序。。

作者&投稿:宥昨 (若有异议请与网页底部的电邮联系)
用verilog hdl语言设计一个9人表决器,五个人通过~

module voter9(pass,vote);
output pass;
input[8:0] vote;
reg[3:0] sum;
integer i;
reg pass;

always @(vote)
begin sum=0;
for(i=0;i<=8;i=i+1) //for 语句
if(vote[i]) sum=sum+1;
if(sum>4'b0100) pass=1; //若超过 4 人赞成,则 pass=1
else pass=0;
end
endmodule

module Vote (VOTEIN,CLK,RST,RESULT);
input CLK,RST;
input [9:0] VOTEIN;
output RESULT;
reg RESULT;
reg [3:0] votenum;
integer i;

always @ (posedge CLK or negedge RST)begin
if(!RST)
votenum <= 0;
else
for(i=0;i<10;i=i+1)
if (VOTEIN[i]==1'b1)
votenum<= votenum+ 1'b1;
end

always @ (posedge CLK or negedge RST)begin
if (!RST)
RESULT<=0;
else
if (4'b1001>votenum>4'b0101)
RESULT<=1'b1;
else
RESULT<=1'b0;
end
endmodule

module vote(vote1, vote2, vote3, vote4, vote5, vote6, vote7, vote8, vote9, vote10, go, result);
input vote1, vote2, vote3, vote4, vote5, vote6, vote7, vote8, vote9, vote10;
input go;

output result;

reg[3:0] sum;

always @ (*) begin

sum = vote1+vote2+vote3+vote4+vote5+vote6+vote7+vote8+vote9+vote10;
end

assign result = go ? ((sum<5) ? 1'b0 : 1'b1) : 1'bz;

endmodule


用夸张的修辞手法写一句作为大学生活的结尾话
大学如梦,一梦三四年,梦醒时光逝。

硬盘无法启动,出现Veriyfing DMI Pool Date
还有一个原因是新添加的硬件的兼容性不好,导致上述的情况出现。2.BIOS设置改变 当BIOS设置错误时,比如内存的读写参数设置有误,硬盘的模式设置有误,板载声卡与集成声卡的设置有误等情况,都会造成不能正常启动。3.硬盘线连接错误 这类情况有硬盘的数据线接触不良,数据线质量低劣造成数据数输时错误...

内核4.14.117什么意思?
就是字面意思,4是主版本号码,14是副版本号,117就是修改号码了,没大的改动4是不会变成5,有价值的修改14才会增加,一般的修改啥的117会增加了。记得要有说双数是稳定版,单数是改进加功能的那版。

很容易英文怎么写
so easy 词汇分析:so 英 [səʊ]美 [soʊ]adv、(表示程度)这么,这样,那么 conj、(表示因果关系)因此,所以;因此;例句:'Do you think that made much of a difference to the family?' — 'I think so.'“你认为那会给这个家庭带来很大的变化吗?”——“我认为是这样...

我的爸爸很高用英语怎么写
这些嵌板折起来组成了一个约5英尺高的屏风。There was a tall tree in front of the house.房前有一棵很高的树。Sylvain Bailly, his master, displayed these luxuriant creations — often as large as 4 feet tall — in his bakery windows.他的师傅西尔万·贝利把这些常常有4英尺高的华丽...

“很酷”的英文怎么写
So cool.

简述数字签名的原理
数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码...

二维码是什么?有什么用途?
二维条码\/二维码(dimensional barcode)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读...

帮人代签字,怎么样写规范?
一般格式:张三(李四代签),但如是有委托书的代理人,则无须同时写上授权人和被授权人的名字,只签被授权人(即代理人)名字即可。用户的运行环境使用代码签名数字证书中含有的公钥解密被签名的哈希值;用户的运行环境使用同样的算法新产生一个原代码的哈希值。用户的运行环境比较两个哈希值。如果相同...

重装系统后出现 veriflying dmi pool data,,
1.尝试恢复BIOS默认设置 对于更换新的硬件或由于内存读写参数设置有误,或硬盘模式设置有误等会出现verifying DMI Pool Data 错误,尝试恢复BIOS默认设置,或根据实际情况对BIOS进行优化设置。2.硬盘数据线问题 硬盘数据线质量不好,容易引起数据传送错误,数据线与硬盘或主板接触不良也会出现问题。检查数据...

施秉县19511145581: 求~ 10人表决器Verilog HDL程序,for循环语句写 -
离俭癃闭: int person[9]; int sum_a=0;//agree int sum_b=0;//disagree bit agree; int i=0; for(i=0;i<10;i++) beginif(person[i]==1)begin sum_a=sum_a+1; endelsebegin sum_b=sum_b+1; end end if(sum_a>=6) begin agree=1; end else begin agree=0; end

施秉县19511145581: 2 - 4译码器verilog语言编写程序实现功能 -
离俭癃闭: always @(*) begin case(input[1:0])2'b00:out = 4'b0001;2'b01:out = 4'b0010;2'b10:out = 4'b0100;2'b11:out = 4'b1000; endcase end

施秉县19511145581: 我用Verilog语言编写了一个FPGA的程序,程序里有主程序和子程序,连接主程序与子程序之间的输 -
离俭癃闭: main(){//定义switch(uMainCnt){case0:SubPrg1();//子程序1uMainCnt++;break;case1:SubPrg2();//子程序2uMainCnt++;break;default:uMainCnt=0;}}

施秉县19511145581: 编写程序统计各候选人的得票数,假定在选举中有6位候选人,有10个人参加投票(只能对一位候选人投票). -
离俭癃闭: 结构体赋初值的地方要加{}#include"stdio.h"#include"string.h"struct person{ char name[2...

施秉县19511145581: 求verilog语言分别编写一个8位的ram和rom存储器 -
离俭癃闭: ROM = read only memory RAM = Random Access Memory 这两个都是做存储用的. FPGA上面应该都有分布式RAM和块RAM,直接声明就可以用了. 楼主是意思是写一个接口?还是就用verilog去描述一个RAM和ROM?我明白你的意思了.你要写一个基于FPGA的存储器,对于RAM,在开发板上应该是有的,这个是现成的东西,你所要做的是,设计一定的接口电路,使其能和外部进行数据的接受和发送.如果非要说,用verilog描述ram,这个东西就是一堆寄存器组.所以你要根据ram和rom的时序要求、带宽要求来写一个interface,使得能够和外部交互.谢谢

施秉县19511145581: 一个简单的Verilog 编程 -
离俭癃闭: 根据你写的代码,你是用Verilog实现的一个四位的比较器.首先,你的代码主要的错误是数组B写成了b,因为Verilog中的变量名是区分大小写的;其次,代码比较冗余,如果要写比较器,直接写成这样就可以了.将F设置成wire类型,然后 assign F = (A > B) ? 1:0;

施秉县19511145581: Verilog编一个八位移位寄存器,单向的就可以了 -
离俭癃闭: module reg_8(clk,reset,data_in,data_out); input clk,reset; input data_in; output [7:0]data_out; always@(posedge clk) begin if(reset) data_outelse data_outend endmodule

施秉县19511145581: 想写一个一千进制计数器,有可逆的功能,用Verilog语言实现怎么写 -
离俭癃闭: module cnt(in,out,rst,clk,en,ld,ne);input [9:0] in; input rst,clk,en,ld,ne; ouput [9:0] out; reg [9:0] out; always@(posedge clk or negedge rst) begin if(!rst)//复位信号则清零 out<='b0; else if(!en)//使能端无效则不工作 out<='b0; else if(ld)//读数使能有效则...

施秉县19511145581: 用VERILOG语言编写一个计数器模型 -
离俭癃闭: 举个简单点的例子,设计一个4bit的计数器,在记到最大值时输出一个信号 module counter_16 ( input clk, input rst_n, input cnt_in ,output reg cnt_out ); reg [3:0] cnt; always @ (posedge clk or negedge rst_n) begin if (~rst_n) cnt <= 4'b0; else if (cnt_...

施秉县19511145581: 求助:verilog语言编写加法 -
离俭癃闭: 用verilog hdl 改成vhdl 就可以了 用状态机写的 /*信号定义: clk: 时钟输入; reset: 为系统复位信号; half_dollar: 代表投入5角硬币; one_dollar: 代表投入1元硬币; half_out: 表示找零信号; dispense: 表示机器售出一瓶饮料; collect: ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网