HDL:中立派、激进派与保守派
设计逻辑芯片是个大工程,设计师描述芯片内部逻辑的方法是一种叫做HDL(硬件描述语言)的语言,工业界目前广泛使用Verilog和VHDL 正如软件中,同一种编程语言在描述同一逻辑功能时采用不同的写法会在可读性、性能等方面存在差别,在硬件中,同样是Verlog语言采用不同编码风格设计的同颗芯片在各方面指
设计逻辑芯片是个大工程,设计师描述芯片内部逻辑的方法是一种叫做HDL(硬件描述语言)的语言,工业界目前广泛使用Verilog和VHDL 正如软件中,同一种编程语言在描述同一逻辑功能时采用不同的写法会在可读性、性能等方面存在差别,在硬件中,同样是Verlog语言采用不同编码风格设计的同颗芯片在各方面指
起因 有一个string.c 程序,其中有几种不同的全局变量: 初始化的全局变量str1,其值是一串字符,占6个字节 初始化的全局变量s,其是一组(指向常量字符串的)指针,占6 * 4 = 24 = 0x18个字节 未初始化的全局变量str,大小为0 char *s[] = { "aaaaaaaa
时钟和复位 主从接口的输入输出之间不能是组合逻辑 可以异步复位,但是复位到低只能是在上升沿复位 复位时,主从输出通道的valid都必须拉低,其他信号无所谓 握手过程 源VALID发出后直到握手成功之前,不能改变VALID A source
静态库要按顺序排列 比如main.c中包含了func.h头文件,而func.c被做成了libfunc.a静态库,那么编译时就必须按顺序排列main.c和libfunc.a: gcc main.c libfunc.a -o main 否则就会报undefined reference错误 同理,如果静态
总结一些遇到的C语言的“奇妙”例子,虽然应用上没什么卵用,但是可以考察对细节的理解 i++和++i谁快 结论 ++i更快: i++相比++i,多一步将自加的i赋值给寄存器的指令,相当于创建临时变量。 虽然在这里只相差一条指令,但是如果i为类对象,那么i++多出的创建临时变量的指令会更多