sky 06笔记中

1.进阶的hello verilog

module hello_verilog ();parameter clk_cyc = 10.0;//定义常量reg clk,rstn;
reg [31:0] a;always #(clk_cyc/2.0) clk = ~clk;initial begin$display("Hello Verilog.\n");
endinitial beginclk = 0; rstn = 0;@(posedge clk); //等待时钟上升沿,#和@都是等待的意思a = 1;repeat(5) @(posedge clk);//等待5个时钟上升沿a = 2; rstn = 1;repeat(5) @(negedge clk);$finish();
end
endmodule

2.tri0,定义三态,如果这根线没有驱动,看作加了下拉电阻的线,tri1上拉电阻。通常用于模块间的连接,连接设计和仿真环境,一般可综合代码不用。
initial 不可综合,always可综合。initial用于测试,只执行一次。

3.wire signed [9:0] s0 ;//定义无符号变量,最高位符号位,补码表示。
4.wire [15:0] c0 ;
assign c0 = “ab”; //16’h6162,把a,b的ascii码赋给c0
5.实数型变量目前不可综合
6.wire [3:0] array [0:7];//8个4bit数组成的数组
7.按bit位逻辑操作运算符:&, |, ~, ^ (与,或,非,异或)
e.g. a&b ; a|b ; a^b ; &a ; |a ; ~a ;
8.整体逻辑操作:&&, ||, !, ==(相等), !=(不相等)
9.条件运算符(描述MUX)
assign out = sel ? a : b;
10.bit位 使用[]选择,{}拼接
注:a[0 +: 8] //从0bit 开始取8bit,等价于a[7 : 0]
11.算术运算符: + , -, * , < , > , <= , >= , / , %

wire [13:0] a0,a1,a2;
wire [13:0] b0,b1,b2,div;
wire [15:0] sum;
wire [14:0] sub;
wire [27:0] mul;
wire        big,less;assign sum = a0 + a1 + b0;
assign sub = a0 - a1;//sub最大为a0本身,a0最大为2^13-1,最小为负的2^13-1,因此sub定义为15bit,最高位为符号位
assign mul = a2 * b2;
assign div = b1 / a1;
assign big = (a0 > b0) ? 1'b1 : 1'b0;
assign less = (a0 < b0) ? 1'b1 : 1'b0;

仔细定义位宽,确保结果不溢出。通常两个数相加,扩1bit。/ 与%慎用,逻辑资源消耗较大,delay也比较大。
12.4to1MUX

module 4to1MUX (
dout,
din,
sel);
input wire [3:0] din;
input wire [1:0] sel;
output reg dout;always @(*)begincase (sel)2'b00:dout = din[0];2'b01:dout = din[1];2'b10:dout = din[2];default: dout = din[3];	endcase
end
endmodule

13.有符号数符号位扩展

wire [15:0] a,b; //signed number
assign out0 = {a[15],a} - {b[15],b};
assign out1 = a - b;//工具自动扩展0,遇到负数会出错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win11安装WSL UbuntuTLS

win11安装WSL WSL 简介WSL 1 VS WSL 2先决要求安装方法一键安装通过「控制面板」安装 WSL 基本命令Linux发行版安装Ubuntu初始化相关设置root用户密码网络工具安装安装1panel面板指导 WSl可视化工具问题总结WSL更新命令错误Ubuntu 启动初始化错误未解决问题 WSL 简介 Windows …

【QT+QGIS跨平台编译】056:【pdal_kazhdan+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_kazhdan介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_kazhdan介绍 pdal_kazhdan 是 PDAL(Point Data Abstraction Library)相关的 Kazhdan 算法的实现。PDAL 是一个用于处理和分析点云数据的开源库,而 Kazhdan 算法通常…

Java面试题:请解释Java中的策略模式?

Java中的策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了一系列的算法&#xff0c;并将每一个算法封装起来&#xff0c;使它们可以互相替换。策略模式让算法的变化独立于使用算法的客户。 策略模式的关键特点如下&#xff1a; 定义…

C语言 | Leetcode C语言题解之第9题回文数

题目&#xff1a; 题解&#xff1a; bool isPalindrome(int x) {if(x < 0)return false;long int sum0;long int nx;while(n!0){sumsum*10n%10;nn/10;}if(sumx)return true;elsereturn false; }

LLaMA-Factory微调(sft)ChatGLM3-6B保姆教程

LLaMA-Factory微调&#xff08;sft&#xff09;ChatGLM3-6B保姆教程 准备 1、下载 下载LLaMA-Factory下载ChatGLM3-6B下载ChatGLM3windows下载CUDA ToolKit 12.1 &#xff08;本人是在windows进行训练的&#xff0c;显卡GTX 1660 Ti&#xff09; CUDA安装完毕后&#xff0c…

前端路径问题总结

1.相对路径 不以/开头 以当前资源的所在路径为出发点去找目标资源 语法: ./表示当前资源的路径 ../表示当前资源的上一层路径 缺点:不同位置,相对路径写法不同2.绝对路径 以固定的路径作为出发点作为目标资源,和当前资源所在路径没关系 语法:以/开头,不同的项目中,固定的路径…

爬取高校专业信息的Python爬虫简介与实践

1. 介绍 在当前高校专业信息繁多的情况下&#xff0c;选择适合自己的专业成为了许多学生面临的挑战。为了帮助学生更好地了解各高校专业情况&#xff0c;我们开发了一个Python爬虫程序&#xff0c;用于爬取高校专业信息并保存到Excel文件中。本文将详细介绍该爬虫的实现过程以…

【Godot4自学手册】第三十四节来回无限滚动的伤害铁刺球

本节主要学习给地宫添加来回滚动的铁刺球&#xff0c;铁刺球共有两个方向&#xff0c;一个是左右方向&#xff1b;另一个是上下方向。如果主人公不小心碰到球&#xff0c;就会收到伤害。这是地宫的第一个机关。 一、新建场景并布局节点 把我们准备好的铁球图片素材拖入到文件…

基于单片机的测时仪系统设计

**单片机设计介绍&#xff0c;基于单片机的测时仪系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的测时仪系统设计是一个结合了单片机技术与测时技术的综合性项目。该设计的目标是创建一款精度高、稳定性强且…

空调系统风道计算方法介绍

一.风道水力计算方法 风道的水力计算是在系统和设备布置、风管材料、各送、回风点的位置和风量均已确定的基础上进行的。 风道水力计算方法比较多,如假定流速法、压损平均法、静压复得法等。对于低速送风系统大多采用假定流速法和压损平均法,而高速送风系统则采用静压复得法…

【数据结构】复杂度(长期维护)

本篇博客主要是浅谈数据结构概念及时间复杂度&#xff0c;并做长期的维护更新&#xff0c;有需要借鉴即可。 复杂度目录 一、初识数据结构1.基础概念2.如何学好数据结构 二、复杂度1.复杂度2.时间复杂度①有限数的时间复杂度②函数的时间复杂度③二分查找时间复杂度④递归拓展练…

汇编语言作业(二)

目录 一、实验目的 二、实验内容 三、实验步骤以及结果 四、实验结果与分析 五、实验总结 一、实验目的 1、巩固debug命令 2、使用 debug 来进行寄存器、内存中内容的查看和修改 3、使用 debug 来进行程序的调试 二、实验内容 上图是一段指令代码 &#xff0c;机器码和汇编…

Java中常用的加密算法及其实现原理详解(二)

本系列文章简介&#xff1a; 随着互联网的快速发展&#xff0c;信息的安全保护愈发重要。在软件开发中&#xff0c;加密算法被广泛应用于数据的加密和解密过程中&#xff0c;以保护敏感信息的机密性和完整性。Java作为一种广泛应用于企业级开发的编程语言&#xff0c;也提供了丰…

ubuntu更换国内镜像源,下载增速

方法一&#xff1a;通过脚本更换源 1.备份原来的源 sudo cp /etc/apt/sources.list /etc/apt/sources_init.list 将原来的源保留一下&#xff0c;以后想用还可以继续用 2.更换源 sudo gedit /etc/apt/sources.list 使用gedit打开文档&#xff0c;将下面的阿里源复制进去&am…

Java零基础入门-java8新特性(完结篇)

一、概述 ​上几期&#xff0c;我们是完整的学完了java异常类的学习及实战演示、以及学习了线程进程等基础概念&#xff0c;而这一期&#xff0c;我们要来玩点好的东西&#xff0c;那就是java8&#xff0c;我们都知道java8是自2004年发布java5之后最重要且一次重大的版本更新&a…

走进车厂 | 移远通信以前沿车载技术,照亮智能网联汽车产业创新发展之路

无钥匙自动解锁方便快捷、实时路况导航精准高效、语音指令轻松控制车辆、车载娱乐系统丰富多样……随着智能化、数字化浪潮的不断推进&#xff0c;现如今的汽车出行焕然一新。 正如我们所见&#xff0c;汽车产业正在经历前所未有的变革。物联网、车联网等前沿技术的发展和应用&…

idea Springboot校园新闻系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 校园新闻发布系统是一套完善的信息系统&#xff0c;结合springboot框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&a…

ubuntu无法粘贴复制windows中的内容,分辨率无法自适应电脑自带系统

1、直接在命令行执行以下命令 sudo apt-get autoremove open-vm-tools //卸载已有的工具 sudo apt-get install open-vm-tools //安装工具open-vm-tools sudo apt-get install open-vm-tools-desktop //安装open-vm-tools-desktop 2、重启Ubuntu系统即可 3.如果上述…

mbti,ESTP型人格的心理问题分析

什么是ESTP型人格 ESTP分别代表外向&#xff0c;实感&#xff0c;理智&#xff0c;依赖&#xff0c;而ESTP型人格则是一种性格上十分激进&#xff0c;喜欢冒险&#xff0c;并且总是因为情绪起伏过大&#xff0c;而一下子做出应激行为的相对冒险的人格。具有ESTP型人格的人一般…

蓝桥杯 --- 日期问题模板

目录 1.如何判断闰年 2.如何遍历当前年份的每一天 3.如果想要输出某一年某一天到某一年某一天之间一共有多少天。 4.精确到具体周几到周几的问题分析 5.如何直接通过一层for循环枚举年月日 习题&#xff1a; 蓝桥杯竞赛特别喜欢考日期问题&#xff0c;今天给大家分享一下…