5输入的多数表决器(结构化建模)_只采用74ls138译码器和一些基本逻辑门,是否也可以完成5输入多数表决器的设计?如果_罗老师别这样了的博客-程序员宅基地

技术标签: systemverilog  

  • 采用 3 个 74LS138 模块、和基本逻辑门电路实现 5 输入多数表决器

dec_74LS138(3-8 译码器)

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2021/04/08 10:25:45
// Design Name: 
// Module Name: dec_74LS138
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module dec_74LS138(
   input logic G,G2A,G2B,
   input logic [2:0] D,
   output logic [7:0] Y
    );
    always_comb begin
    if(G==0)  Y=8'b11111111;
    else if(G2A==1)  Y=8'b11111111;
    else if(G2B==1)  Y=8'b11111111;
    else begin
    case(D)
    3'b000: Y=8'b11111110;
    3'b001: Y=8'b11111101;
    3'b010: Y=8'b11111011;
    3'b011: Y=8'b11110111;
    3'b100: Y=8'b11101111;
    3'b101: Y=8'b11011111;
    3'b110: Y=8'b10111111;
    3'b111: Y=8'b01111111;
    endcase
    end
    end
endmodule

v1.sv(结构化建模)

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2021/04/08 10:26:54
// Design Name: 
// Module Name: voter5
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module v1(
   input logic [4:0] I,
   output  logic pass

    );
    logic G=1'b1;
    logic G1=1'b0;
    logic G2=1'b0;
    logic [7:0] Y5;
    logic [7:0] Y6;
    logic [7:0] Y7;
    logic  A1,A2,A3;
    dec_74LS138 T5 (.G(G),.G2A(G1),.G2B(I[3]),.D(I[2:0]),.Y(Y5));
    dec_74LS138 T6 (.G(G),.G2A(I[4]),.G2B(G2),.D(I[2:0]),.Y(Y6));
    dec_74LS138 T7 (.G(G),.G2A(G1),.G2B(G2),.D(I[2:0]),.Y(Y7));
    assign A1= (!((~Y5)|(~Y6)))&(Y7[0]);
    assign A2= Y5==8'b11111111 ?  (Y7[0]& Y7[1]& Y7[2]& Y7[4]) :(!Y7[7]);
    assign A3= Y6==8'b11111111 ?  (Y7[0]& Y7[1]& Y7[2]& Y7[4]) :(!Y7[7]);
    assign pass=A1|A2|A3;
  
endmodule

v1_tb.sv(测试文件)

`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2021/04/07 19:41:43
// Design Name: 
// Module Name: voter5_tb
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module  vi_tb();
 logic [4:0] I;
 logic  pass;
 integer i;
 v1 DUT(.I(I),.pass(pass));
 initial begin
   for(i=0;i<32;i=i+1) begin
    I=i;
    #20;   
    end
 end
 initial begin
 $timeformat(-9,0,"ns",5);
 $monitor("At time %t: I=%b,pass=%b",$time,I,pass);
 end
endmodule

v1.xdc(约束文件)

set_property -dict {
    PACKAGE_PIN B9  IOSTANDARD LVCMOS33} [get_ports {
    I[0]}];
set_property -dict {
    PACKAGE_PIN D11  IOSTANDARD LVCMOS33} [get_ports {
    I[1]}];
set_property -dict {
    PACKAGE_PIN B11  IOSTANDARD LVCMOS33} [get_ports {
    I[2]}];
set_property -dict {
    PACKAGE_PIN B12  IOSTANDARD LVCMOS33} [get_ports {
    I[3]}];
set_property -dict {
    PACKAGE_PIN A10  IOSTANDARD LVCMOS33} [get_ports {
    I[4]}];

set_property -dict {
    PACKAGE_PIN K13  IOSTANDARD LVCMOS33} [get_ports {
    pass}];
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45645937/article/details/115626261

智能推荐

UVa 1645 - Count(递推)_1645集成块_wcr1996的博客-程序员宅基地

给出一个数n,求n个结点的树有多少种结构满足每个结点的子结点数相同。n结点树,除去根结点,有n-1个结点,根结点的每棵子树需要完全相同,所以根结点的子树个数k,满足(n-1)%k==0。然后就可以递推打表了。_1645集成块

从本地导入文件到mysql-windows系统_windows实现从本地导入文件的代码_kksilu的博客-程序员宅基地

本地文件数据样式fields terminated by ‘\t’ 值字段之间的分隔符load data local infile 'C:\\opt\\small.txt' into table test character set utf8 fields terminated by '\t';_windows实现从本地导入文件的代码

CPU、GPU、TPU、NPU等到底是什么_npu和gpu的区别_嵌入式Linux系统开发的博客-程序员宅基地

GPU即图形处理器,Graphics Processing Unit的缩写。CPU即中央处理器,Central Processing Unit的缩写。TPU即谷歌的张量处理器,Tensor Processing Unit的缩写。三者区别:CPU虽然有多核,但一般也就几个,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大..._npu和gpu的区别

python 实现简单的端口扫描器_Blood_Seeker的博客-程序员宅基地

# -- coding: utf-8 -- # port scan script 2.0 import optparse from socket import * from threading import *screenLock = Semaphore(value=1)def connScan(tgtHost, tgtPort):try: connSkt = socket(AF_INE

ssm图片上传并显示在页面_qq_43151016的博客-程序员宅基地

先展示效果需要两个jar包commons-fileupload-1.3.2.jarcommons-io-2.5.jar首先在 web.xml 中新增加一段<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> <url-pattern>*.png</url-pattern> &_ssm图片

JVM 内存分析工具 - MAT_jvm mat+details_程序员35的博客-程序员宅基地

文章目录1 简介2 使用2.1 准备 MAT2.2 准备堆转储文件(Heap Dump)2.3 分析堆转储文件2.3.1 Histogram2.3.2 Leak Suspects2.3.3 内存快照对比MAT(Memory Analyzer Tools)是一个快速且功能丰富的 Java 堆分析器,可帮助您查找内存泄漏并减少内存消耗。使用 MAT 分析具有数亿个对象的高效堆转储,快速计算对象的保留大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏嫌疑者。1 简介MAT 是一款非常强大的内存分析工_jvm mat+details

随便推点

Windows安装Anaconda导致原有python3.7的 pip无法使用问题_安装anaconda后原有的python失效_chencaw的博客-程序员宅基地

(1)安装Anaconda的时候记得注册Anaconda的环境变量,Anaconda就能正常使用了。(2)python3.7的pip不能用了(3)目录中切换到D:\Program Files\Python37\Scripts,输入cmd(4)测试pip3.7.exe --version(5)安装,如matplotlibpip3.7.exe install matplo..._安装anaconda后原有的python失效

JDT AST学习笔记_FoxIV的博客-程序员宅基地

JDT AST学习笔记1.在IfStmt中的ThenStmt有两种情况:if (a == b) a = 1;if (a == b) { a = 1;}区别在于后者的ThenStmt是Block的一个实例,而前者不是,即对于后者而言,IfStatement.getThenStatement() instanceof Block为真。

数论&密码学基础 欧拉函数_密码学欧拉函数_真·skysys的博客-程序员宅基地

1.浅谈欧拉函数 https://blog.csdn.net/liuzibujian/article/details/810863242.https://baike.baidu.com/item/欧拉函数/1944850?fr=aladdin_密码学欧拉函数

解决绝对定位元素遮住可见内容使其不可点击问题_svg 事件遮挡了_研爸的博客-程序员宅基地

pointer-events: none;pointer-eventsCSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的target。当此属性未指定时,visiblePainted值的相同特征适用于 SVG(可缩放矢量图形) 内容。除了指示该元素不是鼠标事件的目标之外,值none表示鼠标事件“穿透”该元素并且指定该元素“下面”的任何东西。..._svg 事件遮挡了

node命令行构建构建_构建CouchApps_cuyi7076的博客-程序员宅基地

在你开始前 本教程面向有兴趣使用HTML,CSS和JavaScript来创建数据库驱动的应用程序的Web应用程序开发人员。 您应该知道如何编写JavaScript以及如何使用JavaScript操作HTML页面的文档对象模型(DOM)。 您还应该具有使用库工具(例如jQuery或Dojo)的经验。 关于本教程 Apache CouchDB是一个面向文档的开源数据库管理系统,将数据存..._couchapp安装

推荐文章

热门文章

相关标签