E-Tool工具说明
E-Tool, A Tool Easy To Use , 用于嵌入式软件工程师、创客等的开发工作。
下载地址:微云:https://share.weiyun.com/EDVQgAKt
Github:https://github.com/makerinchina-iot/E-Tool-release
使用说明文档
简介: http://makerinchina.cn/docs/index.html?file=001-E-Tool%E5%B7%A5%E5%85%B7/001-E-Ttool%E7%AE%80%E4%BB%8B
modbus-rtu温湿度监控: http://makerinchina.cn/docs/index.html?file=001-E-Tool%E5%B7%A5%E5%85%B7/002-Modbus-RTU%E6%B8%A9%E6%B9%BF%E5%BA%A6%E7%9B%91%E6%8E%A7
界面
简要记录
2020年6月2日 发布0.10版本
2020年9月2日 发布0.20 版本,主要增加英语版本支持;修改软件图标.
KiCAD快捷键
1、原理图编辑
快捷键
说明
a
可以添加元器件符号,第一次会加载符号库
Ctrl+D
复制符号
Ctrl+C
复制到系统剪贴板
w
添加连线,将器件引脚连接
v
可以给器件添加值,比如电阻阻值,电容容值等
p
可以打开电源选择窗口,选择并添加电源符号
g
可以拖拽器件,过程中连线不会断开
m
移动会改变器件的位置并且连线会断开
x / y
分别按照x或y轴镜像符号
r
符号沿着中心点顺时针旋转90度
e
编辑元器件的一些符号属性
f
鼠标在元件上,编辑单个元器件的封装库
L
用于添加网络标签
Insert
按照一定规则重复最后一次操作项
Shift+鼠标框选
块复制
q
添加不连接标志
Ctrl+f
查找
Ctrl+z
撤回
Esc
停止正在进行的任何命令并返回正常指针模式
a
添加符号
在原理图上添加元器件
w
连线
开始画线
q
添加不连接标志
用于悬空引脚
e
编辑项目
编辑元器件的一些符号属性
y
y轴镜像
元器件沿Y轴镜像翻转
p
添加电源
在原理图上添加电源器 ...
半导体技术词汇-中英对照
整理一些半导体技术中常用的词汇。 A Abrupt junction 突变结 Accelerated testing 加速实验 Acceptor 受主 Acceptor atom 受主原子 Accumulation 积累、堆积 Accumulating contact 积累接触 Accumulation region 积累区 Accumulation layer 积累层 Active region 有源区 Active component 有源元 Active device 有源器件 Activation 激活 Activation energy 激活能 Active region 有源(放大)区 Admittance 导纳 Allowed band 允带 Alloy-junction device 合金结器件 Aluminum(Aluminium) 铝 Aluminum – oxide 铝氧化物 Aluminum passivation 铝钝化 Ambipolar 双极的 Ambient temperature 环境温度 Amorphous 无定形的,非晶体的 Amplifier 功 ...
数字IC设计-分频电路
1、偶数分频
方法
直接使用计数器实现,在计数一半时将时钟翻转即可;
4 分频示例
12345678910111213141516171819202122232425262728module clk_div_even#( parameter DIV = 4)( input clk, input rstn, output reg clko);reg [DIV/2-1:0] cnt;always @(posedge clk or negedge rstn)begin if(!rstn) begin cnt <= 0; clko <= 0; end else begin if(cnt == (DIV/2 - 1)) begin clko <= ~clko; cnt <= 0; end else begin cnt <= cnt + 1; end endendendmodule
仿真波形:
2、奇数分频
非 50% 占空比
使用计数器,当计数到一半时候进行翻 ...
数字IC设计-格雷码
格雷码是一种循环二进制编码,特点是相邻数变化时只有一位数据跳变。
4位二进制和格雷码对应如下:
1、二进制到格雷码转换
Verilog实现
123456789101112module bin_to_gray #( parameter WIDTH = 4)( input [WIDTH-1:0] in, output [WIDTH-1:0] out);assign out = in ^ (in >> 1);endmodule
仿真波形:
2、格雷码转二进制
Verilog实现:
123456789101112131415161718192021module gray_to_bin#( parameter WIDTH = 4)( input [WIDTH-1:0] in, output [WIDTH-1:0] out);// assign out[0] = ^in[3:0];// assign out[1] = ^in[3:1];// assign out[2] = ^in[3:2];// assign out[3] = ...
数字IC设计-同步FIFO设计
同步FIFO设计
1、方法(1)空满标志
使用计数器计数,当写数据时候计数加一,当读数据时减一,这样当计数值为 0 时表示空,当计数值达到FIFO深度时则表示满;
(2)读写指针
当写使能且非满时候写地址加1;
当读使能且非空时候读地址加1;
(3)读写数据
根据读写地址、空满标志、读写使能信号写入和读取数据到RAM;
2、Verilog代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192module fifo_sync#( parameter DEPTH = 3, parameter WIDTH = 8)( input clk, input rstn, input ren, input wen, input [WIDTH-1:0] din, ...
数字IC设计-异步FIFO设计
异步FIFO相对于同步FIFO设计的要点是由于读写时钟为不同时钟,因此在判断空满标志时候需要对读写地址进行跨时钟域处理后才能进行比较
1、方法(1)读写地址跨时钟域处理
格雷码具有相邻两个数仅变化一位的特点,因此可以将读写地址转换为格雷码后再使用打两拍的方式进行跨时钟域的处理;
如果出现在跳变时采样的情况,那么得到的地址要么未改变的旧地址,要么是变化后的新地址,不会出现其他地址情况,如果是新地址属于预期结果不会出现问题;如果是未改变的旧地址,那么用来判断空满信号时会出现假满、假空的信号,这种情况也不会出现逻辑错误,仅仅影响了效率;
(2)空标志信号
将写地址同步到读时钟域(因为空标志用于读,空了就不能读);
判断同步后的写地址是否和读地址相等,如果相等表示写地址追上了读地址,产生空信号;
对于同步产生地址延迟问题,即相当于和更小的读地址进行比较,提前产生了空标志,停止读操作,实际还有数据存在,在逻辑上没有问题,依然正常工作;
(3)满信号标志
将读地址同步到写时钟域(因为满信号用于写操作,满了不能再写);
对同步后的读地址和写地址进行比较,如果写地址比读地址刚好多循环了一 ...
Q&A-在Ubuntu20下通过在线安装好qtcreator后,点击qtcreator无反应
Question:在Ubuntu20下用在线安装方式安装qtcreator后启动无反应
Answer:直接到安装目录 ./Tools/QtCreator/bin 执行:sudo ./qtcreator,提示如下报错:qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “” even though it was found.…
通过如下命令安装xcb:
sudo apt-get install libxcb-xinerama0
安装完成后可以直接打开了。
Q&A-systemverilog中对数字截取位操作错误
Question:在sysemverilog 中,有的工具编译在generate中使用genvar的位截取功能(part-select) 出错: illegal select base error.
如下面代码:
1234567generate genvar i; for(i=0; i<16; i=i+1) begin: gen wire [2:0] val = i[3:1]; endendgenerate
上面对 genvar类型的变量i进行part-select操作某些工具出错
Answer:解决方法如下:
123456789generate genvar i; for(i=0; i<16; i=i+1) begin: gen localparam [3:0] tmp_i = i; wire [2:0] val = tmp_i[3:1]; endendgenerate
根据查资料是因为genvar的变量位宽不确定导致的,因此先将genvar 变量 i 给l ...
Q&A-systemverilog中包含package出错-Unsupported SystemVerilog construct
Question:使用Systemverilog,在module中包含其他package出现如下错误:
Error: Unsupported Systemverilog construct
found ‘package’ inside module before ‘endmodule’. ‘package’ inside ‘module’ is not allowed.
Answer:解决方法如下:1、有可能是把 include package 写在了module 和 endmodule之间了;需要把 include package写在 module定义之前或endmodule之后;
2、还有一种是在其他模块中少了 endmodule 关键字,这样也会导致这个模块出现这个错误,但实际上不是该模块的问题;