- 博客(12)
- 收藏
- 关注
原创 为什么标准单元Std要以水平方向以行(Row)为单位放置?
为了保证布局的规整性和连线的简洁性。如果标准单元以垂直方向进行放置,则会导致布局不均匀、连线过长、层级过多等问题。而以水平方向进行放置,则可以使布局更紧凑、连线更短、层级更少等优点。芯片设计中,标准单元法是库单元设计方法中的一种,其特点就是。,单元的电源线和地线位置也相同。
2023-03-06 22:44:37
211
原创 协议学习-USB
USB,Universal Serial Bus,即通用串口总线USB是用差分的方法进行传输的,就是在发送端两条信号线上发送幅值一样但是相位相反的信号,然后在接收端将这两个信号进行减法运算,就会得到相位相同幅值翻倍的信号。将两条信号线进行扭在一起,根据电磁学的原理,可以近似认为两条线受到的干扰信号的幅值和相位是相同的,所以在进行减法运算的时候就会将干扰信号给去除掉,提高其抗干扰的能力。USB的编码方式为NRZI(Non Return to Zero Invert,不归零就反向),NRZI编码是一种映射
2022-03-25 22:47:09
4123
原创 HDLBits练习总结3
if 还有case 如果条件没有把全部可能列出来的话,即使语法没有问题,在生成综合电路的时候是有可能变成锁存器的。因为如果有条件没有列出的话,当出现到那个条件的时候,输出和输入是一样的,而组合电路的输出是随着输入变化的,所以这时候会综合处锁存器来保证输出和输入一样。同一个变量,不能上边用了非阻塞型赋值,下面又用阻塞型赋值。使用阻塞和非阻塞所综合出的电路是不一样的。三目运算符:condition ? if_true : if_falsea and-not b :a&(~b)通过真值表写出逻辑.
2022-03-18 23:33:05
99
原创 HDLBits练习总结2
注意矢量的写法 是 in[7:0] 而不是in[0:7]区分逻辑运算符与按位运算符,按位运算符是对其自变量的每一位进行逐位的逻辑运算,输出与输入位数一致。逻辑运算符进行逻辑运算,不关注输入的某一位而是将输入作为整体进行逻辑操作,输出位数为1;Verilog不允许矢量反转排序out[7:0] = in[0:7]out[24] = ~a ^ a; 相当于 a == a;...
2022-03-17 16:53:34
93
原创 HDLBits练习总结1
整数需要用 +/-’<base_format> <number>的形式,比如1应该写成1’b1wire 电线是有方向的,assign out = in;成立,但assign in = out;不成立assign w = a;assign x = b;assign y = b;assign z = c;如果我们确定每个信号的宽度,使用连接运算符等价且更短{w,x,y,z} = {a,b,b,c};assign out =~in; 实现一个非门(notgate)ass.
2022-03-11 21:34:28
132
原创 Verilog学习-可综合语句
Verilog的语句是分为可综合与不可综合两类的,可综合语句就是能够生成相对于电路的语句,不可综合语句是主要是用于测试仿真的。基础知识-语言要素空白符注释符标识符和转义标识符关键字基础知识-数值整数及其表示实数及其表示字符串及其表示基础知识-数据类型物理数据类型:连线型(wire、tri)(wor、trior)(wand、triand)(tri0、tri1)(supply0、supply1)(trireg线网)、寄存器型(reg)、存储器型(menory)抽象数据类型:整
2022-03-11 21:32:03
2396
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人