# CHDL **Repository Path**: L__Can/chdl ## Basic Information - **Project Name**: CHDL - **Description**: 使用软件方法去编写硬件,以提供硬件软件化的方法。以获取无限的自由度、可仿真性、生产参与性、传播性、复用性 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-30 - **Last Updated**: 2025-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1、为什么我想要让硬件原理图以及pcb以代码的方式规范 无论是原理图还是pcb都是基于图形化的方式去设计。那么为什么我还要把这两个进行代码化?因为是为了共享。无论是cadence还是ad这类的软件,都是基于符号库与器件库设计。但是这两个库无论是哪一个公司都是把他们当瑰宝来保密。而个人设计的符号库以及器件库因为标准不同+可信度原因,开发者需要对库的筛选下功夫。这些实际上阻止了全世界的开发者共享同一个符号库以及器件库。这些导致个人与个人之间相互割裂,对于同一个元器件就可能对应几十种不同的符号库与器件库。这种巨大的资源浪费不仅事实上阻止了资源共享也阻止了其他人的相互合作。那么为了弥合每个开发者之间的距离,必须要一种代码化的设计语言来描述硬件的元器件。把开发者与具体的符号库与器件库分割开来。
具体上:
1、 首先是规范化每一个元器件所对应的元件库与器件库,使得一个相同元件对应一个符号库与一个器件库。也就是存在一个命名空间,使得: - 元件------->符号------->器件 2、事实上符号库是为了器件库,而器件在设计中只需要关注其长宽高与外形即可,而不会看其作用为何。所以就会出现多个元器件对应一个符号库与一个器件库。这是允许的。 - 元件[9:0]------->符号------->器件 3、那么理清楚了元器件与符号跟器件的关系,我们继续把原理图设计代码化。硬件设计中元器件是可以分类的:电阻、电容、接插件、晶体管