当前位置: 首页 > news >正文

牛客网Verilog刷题 | 入门特别版本

文章目录

  • 1、 VL1 输出1
  • 2、VL2 wire连线
  • 3、 VL3 多wire连接
  • 4、VL4 反相器
  • 5、VL5 与门
  • 6、VL6 NOR 门
  • 7、VL7 XOR 门
  • 8、VL8 逻辑运算
  • 10、VL10 逻辑运算2
  • 11、VL11 多位信号
  • 12、VL12 信号顺序调整
  • 13、VL13 位运算与逻辑运算
  • 14、VL14 对信号按位操作
  • 15、VL15 信号级联合并
  • 16、VL16 信号反转输出
  • 17、VL17 三元操作符

1、 VL1 输出1

描述
构建一个没有输入和一个输出常数1的输出的电路
输入描述:

输出描述:
输出信号为one

`timescale 1ns/1nsmodule top_module(output  one   
);assign one = 1;endmodule

2、VL2 wire连线

描述
创建一个具有一个输入和一个输出的模块,其行为类似于电路上的连线。
输入描述:
输入信号in0
输出描述:
输出信号out1

`timescale 1ns/1nsmodule wire0( input in0, output out1);assign out1 = in0;
endmodule

3、 VL3 多wire连接

描述
创建一个具有 2个输入和 3个输出的模块,使用线连接的方式:
a -> z
b -> x
b -> y

输入描述:
input wire a b
输出描述:
output wire x y z

`timescale 1ns/1nsmodule top_module(a, b, x, y, z);input  a, b;output x, y, z;assign x = b;assign y = b;assign z = a;endmodule

4、VL4 反相器

描述
输出输入信号的值的相反的值
输入描述:
in
输出描述:
out

`timescale 1ns/1nsmodule top_module(input in,output out 
);assign out = ~in;
endmodule

5、VL5 与门

描述
创建实现 AND 门的模块,输入有三个wire,将三个信号(a b c)进行与操作,请思考在实际电路需要几个与门?请写出对应的RTL
输入描述:
a b c
输出描述:
d

`timescale 1ns/1ns
module top_module( input a, input b, input c,output d );assign d = a & b & c;endmodule

6、VL6 NOR 门

描述
创建实现 OR和NOR 的模块,NOR 门是输出反相的 OR 门。
c 是 nor输出,d是or输出
输入描述:
a b
输出描述:
c d

`timescale 1ns/1nsmodule top_module( input a, input b, output c,output d);assign c = a ~| b;assign d = a | b;endmodule

7、VL7 XOR 门

描述
创建一个实现 XOR 门的模块
输入描述:
a b
输出描述:
c

`timescale 1ns/1nsmodule top_module( input a, input b, output c );assign c = a ^ b;endmodule

8、VL8 逻辑运算

描述
写出如图的rtl逻辑,限制使用最多四次assign
在这里插入图片描述
输入描述:
a b c d
输出描述:
e f

`timescale 1ns/1nsmodule top_module (input a,input b,input c,input d,output e,output f );wire out_xor;assign out_xor = (a & b) ^ (c | d);assign e = ~out_xor;assign f = out_xor;endmodule

9、VL9 模拟逻辑芯片
描述
下图为某芯片的逻辑,请通过RTL实现它的功能
在这里插入图片描述
输入描述:
p1a, p1b, p1c, p1d, p1e, p1f,p2a, p2b, p2c, p2d
输出描述:
p1y,p2y

`timescale 1ns/1nsmodule top_module ( input p1a, p1b, p1c, p1d, p1e, p1f,output p1y,input p2a, p2b, p2c, p2d,output p2y );assign p1y = (p1a & p1b & p1c) | (p1f & p1e & p1d);assign p2y = (p2a & p2b) | (p2c & p2d);
endmodule

10、VL10 逻辑运算2

描述
根据下述逻辑,给出对应的module设计
在这里插入图片描述
输入描述:
a b c d
输出描述:
e f

`timescale 1ns/1nsmodule top_module (input a,input b,input c,input d,output e,output f );wire out_xor;assign out_xor = (a & b) ^ (c ^ d);assign e = ~out_xor;assign f = out_xor | d;
endmodule

11、VL11 多位信号

描述
构建一个具有一个3位输入in的信号[2:0],将其分成三个独立的输出a b c(从2到0)
输入描述:
in
输出描述:
a b c

`timescale 1ns/1nsmodule top_module(in, a, b, c
);input [2:0] in;output a, b, c;assign a = in[2];assign b = in[1];assign c = in[0];endmodule

12、VL12 信号顺序调整

描述
一个16位信号in包含四个四位数[3:0]a[3:0]b[3:0]c[3:0]d,将它们顺序倒置为dcba输出,输出out
输入描述:
in
输出描述:
out

`timescale 1ns/1nsmodule top_module(in, out
);input [15:0] in;output [15:0] out;assign out = { in[3:0], in[7:4], in[11:8], in[15:12] };
endmodule

13、VL13 位运算与逻辑运算

描述
现有一个模块,输入信号为[2:0]a和[2:0]b,请输出信号的按位或[2:0]c和或信号d

输入描述:
[2:0]a [2:0]b
输出描述:
[2:0]c d

`timescale 1ns/1nsmodule top_module(input [2:0] a, input [2:0] b, output [2:0] c,output d
);assign c = a | b;assign d = a || b;
endmodule

14、VL14 对信号按位操作

描述
将一个五输入的信号分别进行的每一位进行: 全部按位与;全部按位或;全部按位异或
输入描述:
[4:0]in
输出描述:
out_and, out_or, out_xor

`timescale 1ns/1nsmodule top_module( input [4:0] in,output out_and,output out_or,output out_xor
);assign out_and = & in;assign out_or = | in;assign out_xor = ^ in; 
endmodule

15、VL15 信号级联合并

描述
将6个输入信号串联转为四个信号输出,输入信号为[4:0] a[4:0] b[4:0]c [4:0]d [4:0]e [4:0]f,末尾增加一个宽度为两位的3,形成32位长度后,按照从前到后的顺序输出[7:0]w [7:0]x [7:0]y [7:0]z
输入描述:
[4:0] a[4:0] b[4:0]c [4:0]d [4:0]e [4:0]f
输出描述:
[7:0]w [7:0]x [7:0]y [7:0]z

在`timescale 1ns/1nsmodule top_module(input [4:0] a, b, c, d, e, f,output [7:0] w, x, y, z );assign { w, x, y, z } = {a, b, c, d, e, f, 2'b11};
endmodule

16、VL16 信号反转输出

描述
输入一个16位的信号in,将其从低位到高位输出(即反转顺序输出)为out
输入描述:
[15:0] in
输出描述:
[15:0] out

`timescale 1ns/1nsmodule top_module(input [15:0] in,output [15:0] out
);reg [15:0] out;integer i;always@(*)beginfor(i=0; i<=15; i=i+1) beginout[15-i] = in[i];endend
endmodule

个人完成90%,这里一开始用initial总是不成功
需要搞清楚 always 和initial的用法。

17、VL17 三元操作符

描述
给定四个无符号数字,找到最大值。不使用if进行判断,尽量少使用语句的情况下完成。
输入描述:
[7:0]a b c d
输出描述:
[7:0] max

`timescale 1ns/1nsmodule top_module(input [7:0] a, b, c, d,output [7:0] max);assign max = (((a >= b) ? a:b)>=((c>=d)? c:d)) ?((a >= b) ? a:b):((c>=d) ? c:d);endmodule

注:一开始分开比较测试但就是 不用过,最后干脆就直接一行搞定,既然尽量少使用语句,那就一行。

相关文章:

牛客网Verilog刷题 | 入门特别版本

文章目录 1、 VL1 输出12、VL2 wire连线3、 VL3 多wire连接4、VL4 反相器5、VL5 与门6、VL6 NOR 门7、VL7 XOR 门8、VL8 逻辑运算10、VL10 逻辑运算211、VL11 多位信号12、VL12 信号顺序调整13、VL13 位运算与逻辑运算14、VL14 对信号按位操作15、VL15 信号级联合并16、VL16 信…...

ROS通信机制之话题(Topics)的发布与订阅以及自定义消息的实现

我们知道在ROS中&#xff0c;由很多互不相干的节点组成了一个复杂的系统&#xff0c;单个的节点看起来是没起什么作用&#xff0c;但是节点之间进行了通信之后&#xff0c;相互之间能够交互信息和数据的时候&#xff0c;就变得很有意思了。 节点之间进行通信的一个常用方法就是…...

容灾设备系统组成,容灾备份系统组成包括哪些

随着信息技术的快速发展&#xff0c;企业对数据的需求越来越大&#xff0c;数据已经成为企业的核心财产。但是&#xff0c;数据安全性和完整性面临巨大挑战。在这种环境下&#xff0c;容灾备份系统应运而生&#xff0c;成为保证企业数据安全的关键因素。下面我们就详细介绍容灾…...

腾讯云服务器租用价格表_一年、1个月和1小时报价明细

腾讯云服务器租用费用表&#xff1a;轻量应用服务器2核2G4M带宽112元一年&#xff0c;540元三年、2核4G5M带宽218元一年&#xff0c;2核4G5M带宽756元三年、云服务器CVM S5实例2核2G配置280.8元一年、GPU服务器GN10Xp实例145元7天&#xff0c;腾讯云服务器网长期更新腾讯云轻量…...

【java安全】JNDI注入概述

文章目录 【java安全】JNDI注入概述什么是JNDI&#xff1f;JDNI的结构InitialContext - 上下文Reference - 引用 JNDI注入JNDI & RMI利用版本&#xff1a;JNDI注入使用Reference 【java安全】JNDI注入概述 什么是JNDI&#xff1f; JNDI(Java Naming and Directory Interf…...

零基础如何使用IDEA启动前后端分离中的前端项目(Vue)?

一、在IDEA中配置vue插件 点击File-->Settings-->Plugins-->搜索vue.js插件进行安装&#xff0c;下面的图中我已经安装好了 二、搭建node.js环境 安装node.js 可以去官网下载&#xff1a;安装过程就很简单&#xff0c;直接下一步就行 测试是否安装成功&#xff1a;要…...

laravel实现AMQP(rabbitmq)生产者以及消费者

基于php-amqplib/php-amqplib组件适配laravel框架的amqp封装库 支持便捷可配置的队列工作模式 官网详情 在此基础上可支持延迟消息、死信队列等机制。 环境要求&#xff1a; PHP版本: ^7.3|^8.0 需要开启的扩展: socket 其他: 如果需要实现延迟任务需要安装对应版本的ra…...

LeetCode——二叉树篇(九)

刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 目录 669. 修剪二叉搜索树 108. 将有序数组转换为二叉搜索树 538. 把二叉搜索树转换为累加树 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界…...

uniapp scroll-view横向滚动无效,scroll-view子元素flex布局不生效

要素排查&#xff1a; 1.scroll-x属性需要开启&#xff0c;官方类型是Boolean&#xff0c;实际字符串也行。 2scroll-view标签需要给予一个固定宽度&#xff0c;可以是百分百也可以是固定宽度或者100vw。 3.子元素需要设置display: inline-block&#xff08;行内块元素&#x…...

无涯教程-进程 - 简介

进程间通信就是在不同进程之间传播或交换信息&#xff0c;那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的&#xff0c;一般而言是不能互相访问的&#xff0c;唯一的例外是共享内存区。另外&#xff0c;系统空间是“公共场所”&#xff0c;各进…...

HTML番外篇(四)-HTML5新增元素-CSS常见函数-理解浏览器前缀-BFC

一、HTML5新增元素 1.HTML5语义化元素 在HMTL5之前&#xff0c;我们的网站分布层级通常包括哪些部分呢&#xff1f; header、nav、main、footer ◼ 但是这样做有一个弊端&#xff1a; 我们往往过多的使用div, 通过id或class来区分元素&#xff1b;对于浏览器来说这些元素不…...

机器学习之Adam(Adaptive Moment Estimation)自适应学习率

Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种常用的优化算法&#xff0c;特别适用于训练神经网络和深度学习模型。它是一种自适应学习率的优化算法&#xff0c;可以根据不同参数的梯度信息来动态调整学习率&#xff0c;以提高训练的效率和稳定性。 Adam算法…...

深入理解Linux权限管理:保护系统安全的重要措施

Linux操作系统以其稳定性、可靠性和灵活性而受到广泛使用。其中一个关键特性是其强大的权限管理系统&#xff0c;它可以保护系统资源和用户数据的安全性。本文将深入探讨Linux权限管理的概念、原则和实践&#xff0c;帮助您理解如何正确配置和管理权限&#xff0c;以确保系统的…...

kafka复习:(20):消费者拦截器的使用

一、定义消费者拦截器&#xff08;只消费含"sister"的消息&#xff09; package com.cisdi.dsp.modules.metaAnalysis.rest;import org.apache.kafka.clients.consumer.ConsumerInterceptor; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.…...

水库大坝安全监测的主要内容包括哪些?

在水库大坝的实时监测中&#xff0c;主要任务是通过无线传感网络监测各个监测点的水位、水压、渗流、流量、扬压力等数据&#xff0c;并在计算机上用数据模式或图形模式进行实时反映&#xff0c;以掌握整个水库大坝的各项变化情况。大坝安全监测系统能实现全天候远程自动监测&a…...

Cadence软件屏幕显示问题

问题 就是今天打开Cadence软件想导出网表看一下&#xff0c;发现没有显示确定按钮什么的&#xff0c;那个窗口也是无语&#xff0c;不能移动&#xff0c;缩放也只能左右缩放&#xff0c;还不能缩小什么的&#xff0c;真的醉了&#xff0c;后面就是调整窗口的分辨率。 因为我最…...

访问服务器快慢的因素

我们在租用服务器的过程中&#xff0c;可能在访问速度方面&#xff0c;会受到某些因素影响&#xff0c;如果您要进行此项业务&#xff0c;进行一些简单的了解 是非常的有必要的&#xff0c;下面壹基比小鑫带大家一起去做个具体的探讨吧。 对于服务器不太了解的都认为&#xff0…...

vue(element ui安装)

目录 一&#xff0c;element ui安装二&#xff0c;main.js三&#xff0c;使用element ui最后 一&#xff0c;element ui安装 先在盘服中找到你创建的node的位置 如有不懂根据可以看看上一章安装node 然后在终端找到 进入这个位置之后就可以安装了 输入npm i element-ui -S这个…...

基于FPGA视频接口之HDMI2.0编/解码

简介 为什么要特别说明HDMI的版本,是因为HDMI的版本众多,代表的HDMI速度同样不同,当前版本在HDMI2.1速度达到48Gbps,可以传输4K及以上图像,但我们当前还停留在1080P@60部分,且使用的芯片和硬件结构有很大差别,故将HDMI分为两个部分说明1080@60以下分辨率和4K以上分辨率(…...

Codeforces Round #894 (Div.3)

文章目录 前言A. Gift Carpet题目&#xff1a;输入&#xff1a;输出&#xff1a;思路&#xff1a;代码&#xff1a; B. Sequence Game题目&#xff1a;输入&#xff1a;输出&#xff1a;思路&#xff1a;代码&#xff1a; C. Flower City Fence题目&#xff1a;输入&#xff1a…...

罚到肉疼!2026“两个细则”大考:你的风电场还在用“注定不准”的方法做预测吗?

当95%置信概率成为国家标准&#xff0c;单点预测的时代彻底终结2026年的春天&#xff0c;对于新能源发电企业而言&#xff0c;比以往任何时候都要“寒冷”。山东、四川等地新版“两个细则”正式施行&#xff0c;国家发改委“136号文”深入落地&#xff0c;新能源全面进入电力市…...

时间切片:24小时

基于双层优化的电动汽车优化调度研究 代码主要做的是一个双层的电动汽车充放电行为优化问题&#xff0c;具体来讲&#xff0c;输电网上层优化将电动汽车与发电机、基本负荷协调&#xff0c;同时考虑风力发电&#xff0c;从而在时域内优化电动汽车的负荷周期。 然后&#xff0c;…...

量子行走:从理论到Python实现——4. 量子算法设计与实现

目录 4. 量子算法设计与实现 4.1 基础量子算法 4.1.1 Deutsch-Jozsa算法 4.1.2 量子傅里叶变换 4.1.3 Grover搜索算法 4.2 Shor因数分解与离散对数 4.2.1 算法框架与经典预处理 4.2.2 量子相位估计的精度分析 4.3 变分量子算法 4.3.1 变分量子本征求解器 4.3.2 量子近…...

别再让PowerBI报告挤成一团了!用按钮+书签,一个页面搞定趋势和明细分析

PowerBI交互设计进阶&#xff1a;用按钮与书签打造空间魔术 当业务分析报告遇上数据爆炸时代&#xff0c;信息过载与界面拥挤成为每个分析师挥之不去的噩梦。我曾见过某零售企业的季度分析仪表板——12个图表密密麻麻挤在A4纸大小的画布上&#xff0c;趋势线相互缠绕&#xff…...

从零配置YOLOv5与RealSense D405:深度测距与目标检测的完整流程指南

从零构建YOLOv5与RealSense D405的智能视觉系统&#xff1a;深度感知与目标检测实战手册 当计算机视觉遇上深度感知&#xff0c;会碰撞出怎样的火花&#xff1f;YOLOv5作为当前最流行的实时目标检测框架&#xff0c;与Intel RealSense D405深度相机结合&#xff0c;能够为机器…...

简述双亲委派机制以及其优点

面试 概念&#xff1a;加载类的时候先交给自己的父类加载器执行&#xff0c;直到顶层的启动类加载器&#xff0c;如果父加载器能够完成加载&#xff0c;则交给父类加载器&#xff0c;否则自己尝试加载。 优点&#xff1a;保证类的加载的安全性&#xff0c;避免类的重复加载。...

Charticulator:突破传统桎梏的自定义数据可视化革新——从模板依赖到自由创作

Charticulator&#xff1a;突破传统桎梏的自定义数据可视化革新——从模板依赖到自由创作 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 数据可视化工具是否常常…...

LabVIEW新手避坑指南:用For循环和数组搞定水仙花数,别再手动算啦!

LabVIEW实战&#xff1a;用For循环与数组高效求解水仙花数的5个关键技巧 水仙花数这个经典的编程练习题&#xff0c;在文本编程语言中可能只需十几行代码&#xff0c;但切换到LabVIEW的图形化编程环境时&#xff0c;不少初学者会陷入连线混乱和逻辑纠结。本文将从实际工程视角…...

Python实战:从零构建基于腾讯混元大模型的智能客服系统

1. 为什么选择腾讯混元大模型做智能客服 最近两年大模型技术突飞猛进&#xff0c;但真正要把大模型落地到实际业务中&#xff0c;很多开发者都会遇到三个头疼的问题&#xff1a;第一是模型效果不稳定&#xff0c;第二是API调用复杂&#xff0c;第三是业务逻辑难集成。我在帮几…...

超级AI数字员工源码系统,支持贴牌OEM,独立部署交付

温馨提示&#xff1a;文末有资源获取方式最近“龙虾AI”概念很火&#xff0c;到处都在讨论。但说实话&#xff0c;这类技术对普通用户而言存在明显门槛&#xff0c;部署要代码、配置要工程师、日常运行的Token成本也不低——轻度使用每月100-200元&#xff0c;重度甚至单日上千…...