日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字IC手撕代码--投票表决器

發布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字IC手撕代码--投票表决器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

設計一個投票表決器,輸入為一個5bit的向量,為1表示贊同,為0表示不贊同,當贊同人數大于非贊同人數時,表決器輸出為1,否則為0。
思路:一種方法是統計向量中1的個數,若大于等于3,則輸出1,否則輸出0。另一種方法是考慮所有可能的情況,事實上,只要有三個位的值為1,則表決器就輸出1,因此可據此進行枚舉(C53=10C_5^3=10C53?=10),得到最終的結果。

代碼

`timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2022/07/01 15:19:05 // Design Name: // Module Name: top // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // //module top( input logic clk, input logic rst, input [4:0] vote, output logic r1, output logic r2); //1 always@(posedge clk,posedge rst) if(rst)r1<=0; elser1<=(vote[0]&vote[1]&vote[2])|(vote[0]&vote[1]&vote[3])|(vote[0]&vote[1]&vote[4])|(vote[0]&vote[2]&vote[3])|(vote[0]&vote[2]&vote[4])|(vote[0]&vote[3]&vote[4])|(vote[1]&vote[2]&vote[3])|(vote[1]&vote[2]&vote[4])|(vote[1]&vote[3]&vote[4])|(vote[2]&vote[3]&vote[4]); //2 logic s1; logic c1; logic s2; logic c2; logic [2:0] sum; assign {c1,s1}=vote[0]+vote[1]+vote[2]; assign {c2,s2}=vote[3]+vote[4]; assign sum={c1,s1}+{c2,s2}; always@(posedge clk,posedge rst) if(rst)r2<=0; else if(sum>=3)r2<=1; elser2<=0; endmodule

測試平臺

module test; logic clk; logic rst; logic [4:0] vote; logic r1; logic r2; logic error; //clk initial beginclk=0;forever#5 clk=~clk; end //rst initial beginrst=1;#100rst=0; end // always@(posedge clk,posedge rst) if(rst)vote<=0; else vote<=$urandom%32; // assign error=(r1!=r2)?1:0;top U(.* /* input logic clk, input logic rst, input [4:0] vote, output logic r1, output logic r2 */); endmodule

結果

總結

對于N輸入的表決器(N為奇數),我們同樣可以采用類似的方法:
1.通過加法器求1的個數,若和大于(N-1)/2,則輸出為1
2.枚舉這N個輸入的(N+1)/2組合(共CN(N+1)/2C_N^{(N+1)/2}CN(N+1)/2?項),然后將它們或起來。

總結

以上是生活随笔為你收集整理的数字IC手撕代码--投票表决器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。