HDLBits-Verilog学习记录 | Verilog Language-Basics(2)
文章目录
- 9.Declaring wires | wire decl
- 10. 7458 chip
9.Declaring wires | wire decl
problem:Implement the following circuit. Create two intermediate wires (named anything you want) to connect the AND and OR gates together. Note that the wire that feeds the NOT gate is really wire out, so you do not necessarily need to declare a third wire here. Notice how wires are driven by exactly one source (output of a gate), but can feed multiple inputs.
If you’re following the circuit structure in the diagram, you should end up with four assign statements, as there are four signals that need a value assigned.
`default_nettype none
module top_module(input a,input b,input c,input d,output out,output out_n ); wire ab_out;wire cd_out;wire abcd_out;assign out = (a & b) | (c & d);assign out_n = ~((a & b) | (c & d));endmodule
注:
1、`default_nettype none 在后面Vectors中会提到
2、当运行完之后 ,突然发现定义的ab_out、cd_out、abcd_out三根线并没有用上(当时真是没用心,就是简单的循规蹈矩的去做,没做思考),我把三条语句删去之后,运行也是通过的。当然从逻辑上即使不运行这当然是通的。但这样虽然省了代码行数,但如果后面还有继续的电路图,那么这样每行代码的逻辑就会很复杂,也不符合模块化的思想。
因为期望代码行数为5,那么经过改进,如下。
`default_nettype none
module top_module(input a,input b,input c,input d,output out,output out_n ); wire ab_out, cd_out; //可以直接连续赋值assign ab_out = a & b;assign cd_out = c & d;assign out = ab_out | cd_out;assign out_n = ~out;endmodule
答案很不唯一,可自行多尝试
10. 7458 chip
problem:Create a module with the same functionality as the 7458 chip. It has 10 inputs and 2 outputs. You may choose to use an assign statement to drive each of the output wires, or you may choose to declare (four) wires for use as intermediate signals, where each internal wire is driven by the output of one of the AND gates. For extra practice, try it both ways.
问题部分说了两种方式,我们都来试一下。
然后要求的是2到10行
1、You may choose to use an assign statement to drive each of the output wires,
那就试一下,只用2行,就像上一题一样,一行直接把逻辑表达完整。
assign p1y = (p1a & p1b & p1c) | (p1f & p1e & p1d);
assign p2y = (p2a & p2b) | (p2c & p2d);
2、or you may choose to declare (four) wires for use as intermediate signals, where each internal wire is driven by the output of one of the AND gates.
wire and1, and2, and3, and4;assign and1 = p1a & p1b & p1c;assign and2 = p1f & p1e & p1d;assign and3 = p2a & p2b;assign and4 = p2c & p2d;assign p1y = and1 | and2;assign p2y = and3 | and3;
相关文章:

HDLBits-Verilog学习记录 | Verilog Language-Basics(2)
文章目录 9.Declaring wires | wire decl10. 7458 chip 9.Declaring wires | wire decl problem:Implement the following circuit. Create two intermediate wires (named anything you want) to connect the AND and OR gates together. Note that the wire that feeds the …...
Ubuntu22.0网络/网卡丢失
Ubuntu22.0开机突然连不上网了,右上角网络图标消失了,设置里网络也没有了“有线”,只剩下VPN了,试了好多种办法,最终终于解决了。 看到有些直接用的下面的两条命令,有解决的,不过我这不行。 s…...
Linux 常用
系统信息 查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c查看物理CPU个数 cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo | grep "c…...

AWS 提示证书签名过期无法自动更新
如果域名没有通过验证的话,证书的过去是没有办法自动更新的。 验证的方式也非常简单,通过下面的配置,把 CNAME添加到你的域名上面,AWS 就可会自动完成验证了。 当添加完成后,AWS 验证需要的时间大致在 30 分钟到 1 个…...
Git版本管理(01) 简介 基本提交相关命令
1 git简介 Git是一种分布式版本控制工具,用于跟踪文件和代码的变化,协调多个开发者之间的协作,并提供版本控制和代码管理的功能。 官方学习可参考文档-> Git版本控制工具特点总结如下: 分布式版本控制:Git采用分…...
解决 vue项目报错:digital envelope routines::unsupported
出现这个错误是因为 node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响. 方法1:运行前$ npm run serve前 先运行 export NODE_OPTIONS--openssl-legacy-provider 方法2…...

【Java基础增强】类加载器和反射
1.类加载器 1.1类加载器【理解】 作用 负责将.class文件(存储的物理文件)加载在到内存中 1.2类加载的过程【理解】 类加载时机 创建类的实例(对象) 调用类的类方法 访问类或者接口的类变量,或者为该类变量赋值 …...
【Java】数据类型变量
【Java】数据类型&变量 文章目录 【Java】数据类型&变量1、字面常量2、数据类型3、变量3.1 整型变量3.1.1 整型变量3.1.2 长短整型变量3.1.3 字节型变量 3.2 浮点型变量3.2.1 双精度浮点型3.2.2 单精度浮点型 3.3 字符型变量3.4 布尔型变量3.5 类型转换3.5.1 自动类型转…...

护目镜佩戴检测识别算法
护目镜佩戴检测识别算法通过opencvpython网络深度学习模型,护目镜佩戴检测识别算法实时监测工人的护目镜佩戴情况,发现未佩戴或错误佩戴的情况,及时提醒调整。与C / C等语言相比,Python速度较慢。也就是说,Python可以使…...
NOIOLPJ2022B. 数学游戏 分析
数学游戏 题目描述 Kri 喜欢玩数字游戏。 一天,他在草稿纸上写下了 ttt 对正整数 (x,y)(x,y)(x,y),并对于每一对正整数计算出了 zxygcd(x,y)z x \times y \times \gcd(x,y)zxygcd(x,y)。 可是调皮的 Zay 找到了 Kri 的草稿纸,并把每一组的…...

android studio gradle build running慢 卡住不动 失败 原因与解决方式
快速导航 分析原因解决办法 分析原因 主要原因是 gradle 构建时无法从网络获取需要的包或库。 解决办法 将国外库替换为阿里云镜像库。 例如 google 对应的库是 maven { url ‘https://maven.aliyun.com/repository/google’ }...

如何保障Facebook账号登录稳定
当谈到保障Facebook账号的稳定性时,我们不得不提到那些令人头疼的情况——Facebook账号被封。尽管我们已经踏入数字化的未来,但是被封号似乎是一个时常困扰着社交媒体用户的问题。那么,让我们来看看一些常见的Facebook账号被封的原因…...
当前目录下的excel文件的两列内容的相似度比较
# -- coding: utf-8 --** from sklearn.feature_extraction.text import CountVectorizer from sklearn.metrics.pairwise import cosine_similarity import numpy as np import pandas as pd import os # 获取当前目录 current_dir os.getcwd() # 获取当前目录下所有xlsx文件…...

Cookie for Mac:隐私保护工具保护您的在线隐私
随着互联网的发展,我们每天都会浏览各种网站,享受在线购物、社交娱乐和学习资料等各种便利。然而,您是否曾经遇到过需要频繁输入用户名和密码的情况?或者不方便访问您常用的网站?如果是这样,那么Cookie for…...
Huggingface训练Transformer
在之前的博客中,我采用SFT(监督优化训练)的方法训练一个GPT2的模型,使得这个模型可以根据提示语进行回答。具体可见博客召唤神龙打造自己的ChatGPT_gzroy的博客-CSDN博客 Huggingface提供了一个TRL的扩展库,可以对tra…...

IA-YOLO项目中DIP模块的初级解读
IA-YOLO项目源自论文Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions,其提出端到端方式联合学习CNN-PP和YOLOv3,这确保了CNN-PP可以学习适当的DIP,以弱监督的方式增强图像检测。IA-YOLO方法可以自适应地处理正常和不…...

MathType7.4mac最新版本数学公式编辑器安装教程
MathType7.4中文版是一款功能强大且易于使用的公式编辑器。该软件可与word软件配合使用,有效提高了教学人员的工作效率,避免了一些数学符号和公式无法在word中输入的麻烦。新版MathType7.4启用了全新的LOGO,带来了更多对数学符号和公式的支持…...

为Claude的分析内容做准备:提取PDF页面内容的简易应用程序
由于Claude虽然可以分析整个文件,但是对文件的大小以及字数是有限制的,为了将pdf文件分批传入Claude人工智能分析和总结文章内容,才有了这篇博客: 在本篇博客中,我们将介绍一个基于 wxPython 和 PyMuPDF 库编写的简易的…...

js中作用域的理解?
1.作用域 作用域,即变量(变量作用域又称上下文)和函数生效(能被访问)的区域或集合 换句话说,作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() {let inVariable "函数内部变量"; } myFunction();//要先执行这…...

机器学习基础之《分类算法(4)—案例:预测facebook签到位置》
一、背景 1、说明 2、数据集 row_id:签到行为的编码 x y:坐标系,人所在的位置 accuracy:定位的准确率 time:时间戳 place_id:预测用户将要签到的位置 3、数据集下载 https://www.kaggle.com/navoshta/gr…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...