type
status
slug
date
summary
tags
category
password
icon

第二章

notion image
符号只看国标:
或 非
notion image
notion image
notion image
16进制转10进制:
8进制转10进制:
与10进制转二进制类似,用十进制数除以8取余数,商再除以8,直到商为0,余数由下到上依次排列即可,如136→
136/8 = 17 余数 0
17/8 = 2 余数 1
2/8 = 0 余数 2
则结果是从下到上排列: 210
注意对于小数的话,就是乘8取整,一直乘到小数部分为0为止,然后将整数部分从上到下排列
2进制转10进制:
用十进制数除以2取余数,商再除以2,直到商为0,余数从下到上依次排列,如29→
29/2 = 14 余 1
14/2 = 7 余 0
7/2 = 3 余 1
3/2 = 1 余 1
1/2 = 0 余 1
从下到上排列就是: 11101

第三章verilog描述

verilog的四种描述方式

开关级、门级、数据流级和行为级

基本的数据/数值

1、数值
Verilog HDL的数值有四类:0(逻辑0)、1(逻辑1)、Z/z(高阻)、X/x(未知)。
高阻态(Z):高阻态是一个电路分析中的概念,相当于开路,因此没有电压信号流过。在仿真或者实际电路中,高阻态可以被视为断开的意思。所谓的高阻,就是阻高。什么阻高,就是电阻值高呗。电阻值高到无穷高是多么高?就是断路了,与外界没有连接。 未知态(X):未知态表示信号的状态未定义,可能是因为电路中的不确定性。
2、常量
1)整数型常量
定义格式:<位宽><’进制><数字>
其中:o(O)表示八进制;b(B)表示二进制;d(D)表示十进制;h(H)表示十六进制。
注意:单引号和进制之间不能有空格。
例:3’b001、3’b01、3’b1111001、’b001。
notion image

比较运算

若两个操作数位宽不同,如果操作数都是无符号数,则位宽较小的操作数需在高位填0补齐,如果操作数都是有符号数,则位宽较小的操作数需在高位填符号位补齐。
notion image
notion image
 
注意
(6)在门级描述中,调用Verilog-HDL具有的内置门实例语句,描述顺序为“(输出,输入1,输入2········);”的形式。

模块形式

举例:

拼接操作

拼接操作符用花括号{}表示,通过拼接操作符可以将多个操作数拼接在一起,组成一个操作数,拼接操作符的每个操作数必须有确定的位宽。
拼接操作符的用法是将各个操作数用花括号括起来,每个操作数之间用逗号隔开,操作数类型可以是线网类型或者寄存器类型。
如果需要多次重复拼接同一个操作数,可以使用常数表示需要重复拼接的次数。

移位操作

Verilog HDL支持4种移位操作符:逻辑左移(<<)、逻辑右移(>>)、算术左移(<<<)、算术右移(>>>)。

举例

verilog HDL的行为级描述

Verilog HDL的行为级描述可以使用过程块结构进行描述,过程块结构有initial过程块和always过程块。
只有寄存器型数据能够在这两种语句中被赋值,这种类型的变量数据在被赋新值前保持原有值不变,所有的initial过程块和always过程块在0时刻并发执行。

赋值

Verilog有如下几种赋值操作 连续赋值:用于对线网(nets)的赋值; 过程赋值:用于对寄存器的赋值;
连续赋值 可以是组合逻辑,不需要使用逻辑门,直接使用逻辑表达式驱动线网。
例: assign mynet={enable? data : 1’b0};
过程赋值 把值放在寄存器中,过程赋值没有持续时间,相反,寄存器将保持赋值的值,直到发生下一次对变量的赋值。过程赋值发生在过程块(always,initial,task和function)中,可以把它认为是触发器赋值。当执行到达过程块的赋值时,触发就发生。
过程赋值受执行语句控制,事件控制、延迟控制、if语句、case语句和循环语句都能用来控制是否执行赋值操作。
例:寄存器声明赋值。
 

第四章

4.1组合逻辑电路分析

1、组合逻辑电路

任意时刻的输出仅仅取决于该时刻的输入组合,而与输入信号作用前电路的原状态无关(与过去的输入无关)。
特点:
(1)电路由逻辑门构成,无记忆元件;
(2)输入信号是单向传输,一般无反馈。
notion image
2、时序逻辑电路
任意时刻的输出不仅仅与该时刻的输入有关,而且还与电路的原状态有关(与过去的输入有关)。

分析步骤

notion image
示例
notion image
notion image
 

4.2组合逻辑电路设计

根据功能描述设计出合适的组合电路。
1、逻辑抽象与赋值
2、列出真值表(根据因果关系)
3、导出表达式 or 卡诺图
4、化简或变换
5、画出逻辑电路图->Verilog
notion image
 
notion image

4.3典型组合逻辑电路的设计

半加器

notion image
verilog 数据流级描述

全加器

notion image
Si= Ci=
notion image
notion image
也可以是
notion image
notion image
代码

典型例子(74283集成全加器)

notion image
notion image
 
notion image
notion image

全减器

notion image
同样,其实这里B异或G可以修改为B或G,因为BG同时为1的时候借位值一定为1.

数值比较电路

notion image
F1是A>B F2是A=B F3是A<B
调用它的顶层文件:
notion image

集成比较器7485

比较器和集成比较器(7485)的应用
四位比较器:
notion image
纯四位比较器的verilog 行为级描述
主要是它的级联:
notion image
它是低位将其输出连接到高位的级联部位,逻辑是只有当当前判定A和B两个四位数字相等的时候才会将级联的结果作为输出,否则就是高位判断的大于还是小于,但是因为要最后能判定出A=B,所以最后的没有更低位级联的那个7485比较器就应该把A=B的级联部分设置为1,A>B和A<B部分都设置为0

编码器

二进制编码器(线输入-n线输出)
就是把 个 线输入的高低电平转换为对应的2进制表示(如电平的1000→11,因为高电平在第3位,这里是高电平有效)
拿个2-4编码器来说:
notion image
可以有两种verilog描述,通过真值表化简这里
我们能把数据流级给表示出来 行为级也能很容易写出来
留意一下化简方式,3-8线这里的例子很能说明:
notion image
notion image
 
notion image

译码器74LS138

就是反过来,把输入的n线内容输出到 线输出
有个地方是将2片2-4译码器(有使能端)扩展为3-8译码器
notion image
notion image
 
notion image
notion image

二-十进制译码器

它的功能是将8421BCD码翻译成十个不同点位的指定电平。

七段数码管

notion image
notion image
notion image

集成数据选择器74LS151(8选1)

4选1数据选择器和8选1数据选择器的应用 真值表分组法 卡诺图法

组合逻辑电路的竞争和险象问题

基本概念(有竞争无险象、有竞争有险象、静态险象和动态险象、0型险象和1型险象) 险象的判定和消除
判定:代数法(得到A+A非这样的形式)、卡诺图法(看相切的部分)
消除:加冗余项、接入滤波电容

芯片汇总

我看了下有这几个: 7485 集成比较器,它可以级联
notion image
74LS138 3-8译码器,存在s1 s2 s3,其中s1是高电平 s2和s3为低电平有效
74283 4位集成全加器
notion image
主要案例是这个,可以级联,C0-1就是来自前一级别的进位输出 74LS151 8选一数据选择器 3条选择线(A0-A2) 8条数据输入线(D0-D7) 1条数据输出

第五章触发器

触发器做分频器

notion image

寄存器

notion image
 

第六章

6.3同步时序电路的设计

存在任意项(或约束项)的状态表称不完全确定状态表,它所描述的电路叫不完全确定电路。
若状态表中的次态和输出都有确定的状态和输出,则称为完全确定状态表。

完全确定状态表的化简

等效状态:设状态S1和S2是完全确定状态表中的两个状态,如果对于所有可能的输入序列,分别从状态S1和S2出发,所得到的输出和次态序列完全相同,则状态S1和S2是等效的。
等效类:是彼此等效的状态的集合称为等效类。
如果Si和Sj是完全确定原始状态表中的两个现态,则Si和Sj等效的条件可归纳为:
notion image
notion image
notion image
notion image
notion image
从最大相容类里面找最小闭覆盖

计数器

 

嵌入式实验

实验1

串口Minicom的配置和使用

Minicom:串口通信工具,类似Windows下的超级终端,通过串口控制外部嵌入式设备

网口NFS配置及使用

NFS:Network File System,网络文件系统,用户和程序可以像访问本地文件一样访问网络上远端系统上的文件
ifconfig eth0 192.168.0.100: 设置网卡eth0 地址为 192.168.0.100
notion image
因为这个可执行文件的目标架构是32位arm架构,而当前pc机是intel的x64架构
在Ubuntu控制台中输入ping -c 4 实验箱IP地址(-c 4表示测试4次与后面IP地址所在主机的连通性)

实验2

JDK(Java Development Kit)
安装配置Eclipse
安装配置NDK插件(Native Development Kit)
如果在Android应用程序开发中需要使用C语言,则还需要NDK( Native Development Kit)
 
CacheBlend: Fast Large Language Model Serving with Cached Knowledge Fusion论文学习SnapKV: LLM Knows What You are Looking for Before Generation
Loading...
liamY
liamY
Chasing Possible
最新发布
Enter AMX (Advanced Matrix Extensions)
2025-3-26
ktransformers相关内容学习
2025-2-16
sglang_benchmark
2025-2-7
SnapKV: LLM Knows What You are Looking for Before Generation
2024-12-12
数字电路复习
2024-12-11
CacheBlend: Fast Large Language Model Serving with Cached Knowledge Fusion论文学习
2024-11-23
公告
🎉Liam’s blog🎉
-- 全新上线 ---
👏欢迎comment👏
⚠️由于浏览器缓存的原因,有些内容是更新了的但是需要手动刷新3次左右,页面才会显示更新内容