这是一篇儿正儿八经的自我介绍~

一位00后陕西女生,身为双非本科在读大学生,分享她在软件工程专业的学习困境与决心。她承认自己是编程小白,过去的学习方法导致理论与实践脱节,但现在决定痛改前非,从C语言重新开始,目标是与代码和解,迈向大厂。她希望通过博客记录学习过程,寻找同伴互相激励,并期待在编程世界中找到自己的位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

你好啊朋友!来到这儿我们就认识一下吧(我真的不是来唠嗑的)

关于我

  • 性别:女
  • 年龄:00后
  • 坐标:陕西
  • 职业:双非本科在读大学生
  • 目前我的关注:别人的爱情、自己的财富、什么时候可以彻底解封!
  • ……
  • 想了解更多欢迎找我唠嗑~(友情提示:我是一个不会唠嗑的小话痨)

关于编程

  • 自我剖析

  • 软工专业大二还是编程小白这件事说来惭愧,首先对于我的持续性颓废、间歇性挣扎,以至于到现在还是说啥啥不会在这里先做个深刻的思想检讨。现状是:想的比做的多,上课是老师的上课,下课是老师的下课,仅仅考试是我的考试,东西学会没学会两说,考完试一股脑全还给老师了,到现在什么都不会,成绩也平平无奇。这当然与老师半毛钱关系都没有,同学院、同专业不乏很多拿奖拿到手软的同年级大佬,我偶尔也在想,同一个教室、同一个教师,难道这就是刻在了DNA里的命中注定么。
  • 我能清醒的认识到自己缺点在哪儿:总在空想、总在规划,脑子日行千里,脚下未动一步,是天王老子来了也拯救不了的那种。但是也能知道自己是那种不到最后一刻就不会着急的人,总是在匆匆忙忙的生活里让时间溜走,不熬到最后一刻绝不会善罢甘休,现在也终于熬到火烧眉毛的时候了。
  • 做什么

  • 虽然但是,为时尚未太晚,希望还有机会再容我挣扎一番。学过C语言、Java、数据结构,目前在读数据库、python,回过头才发现仅限于学过考过忘过,真就没有一点点其他的余地了。我很善于自我反省,那么我需要做的就是付诸行动。思来想去,与其一团乱麻剪不断理还乱,不如从头开始,个子不高心也不大,就怀着空杯心态从零开踏上编程这条不归路吧。希望我的脑子能明白我的苦心,主动调动肢体与我积极配合,踏踏实实本本分分在这条求生之路上稳步向前。
  • 怎么做

  • 作为软工专业的学生自然要花百分之二百的时间与精力在编程上面的,这是不打商量的,我明白理论学习、编程练习、刷题都是必不可少的,我可以从C语言一步一步都能这样脚踏实地走过当然是最好不过的了,如果不可以,那就先一点一点来,总不能老惯着自己,要强迫自己踏出舒适区。但是由于自己的步伐与学校的课程有一定的冲突,需要进行自我协调。
  •  编程的目标自然就是希望我有朝一日能与代码和解,它能随我一起快快乐乐奔向大厂赚面包,实现财富自由。

关于博客

  • 来到这儿,给自己立个flag的同时希望在这条路上找到志同道合的伙伴儿来监督我,当然如果可以收获一群小伙伴儿,大家一起也许会更努力。自制力明显不够用、想方设法提醒自己是一方面,当然也想在这里记录分享每天的所学所思,记录自己踏踏实实走下的每一步。希望能和初学者或者和我一样境地的小伙伴一起从这里扬帆启航,也希望路过的大佬可以对我的错误或有偏差的理解予以指正。关注我吧!我们一起努力做意想不到的自己!

结语

  • 这不是我的第一篇博客,但这是我真正意义上第一次下定决心,希望由此开始,不断坚持!
  • 最后一句话送给正在努力的我们:若你决定灿烂,山无遮,海无拦!
  • 你不止于此,加油呀!
  • 愿,共勉!
<think>我们之前已经讨论过,if-else逻辑在数字电路中通常用2:1多路复用器(MUX)实现。现在用户要求用标准电路图符号表示if-else逻辑结构,我们将详细描述其电路图符号和门级实现。 ### 标准电路图符号表示if-else逻辑 #### 1. **2:1多路复用器(MUX)的电路符号** - **功能**:根据选择信号S,从两个输入(D0和D1)中选择一个作为输出Y。 - 当S=0时,Y=D0(对应else分支)。 - 当S=1时,Y=D1(对应if分支)。 - **标准符号**: - 矩形框表示多路复用器。 - 左侧有两个数据输入引脚:D0(对应else分支)和D1(对应if分支)。 - 顶部或侧面有一个选择输入引脚S(对应条件判断)。 - 右侧有一个输出引脚Y。 - 符号内部通常标注“MUX”或“2:1 MUX”。 - **示意图**(文本描述): ``` +------------+ D0 ----|0 | | 2:1 |---- Y (输出) D1 ----|1 MUX | | | S ----|S | +------------+ ``` - 在专业电路图中,此符号广泛使用,符合IEEE/ANSI标准[^1][^2]。 #### 2. **门级实现电路图** - 一个2:1 MUX可由基本逻辑门(AND、OR、NOT)构成,具体如下: - **输入**:S(选择信号)、D0(else分支数据)、D1(if分支数据)。 - **输出**:Y。 - **门电路**: - 1个NOT门:对S取反,生成$\overline{S}$。 - 2个AND门: - AND1:输入为$\overline{S}$和D0,输出为$\overline{S} \cdot D0$。 - AND2:输入为S和D1,输出为$S \cdot D1$。 - 1个OR门:输入为AND1和AND2的输出,输出$Y = (\overline{S} \cdot D0) + (S \cdot D1)$。 - **电路图**(文本描述): ``` D0 -----------------| AND |\ |_____| \ \ | OR |--- Y / S ----| NOT |----| AND |-----/ |_____| |_____| D1 --------------| AND | ``` - **逻辑验证**: - 当S=0:$\overline{S}=1$,Y = D0。 - 当S=1:$\overline{S}=0$,Y = D1。 - 此门级实现是组合逻辑电路的基础,可直接用于原理图设计[^1][^2]。 #### 3. **在时序电路中的应用** - if-else逻辑也可用于时序电路(如引用[^1][^2]提到的触发器设计): - 例如,在时钟边沿触发的D触发器中,if-else可控制数据加载: ```verilog always @(posedge clk) begin if (reset) q <= 0; // 复位时输出0 else q <= d; // 否则加载输入d end ``` - **电路符号**:此时if-else被综合为带异步复位的D触发器(标准符号为矩形框带CLK和RST引脚)[^2]。 - 但核心条件选择仍由组合逻辑部分(MUX)完成,再连接至触发器输入。 #### 4. **注意事项** - **符号标准化**:在电路图中,MUX和基本门符号需遵循工程规范(如IEC 60617标准)。 - **优化**:实际设计中,MUX可能由更底层的门(如NAND)构建以提高性能[^2]。 - **综合工具**:在HDL代码中(如Verilog),if-else会被自动综合为类似电路(见引用[^2])。 此表示基于数字电路设计原理,确保正确性。若需具体工具中的符号库示例(如Altium或Cadence),可进一步说明。 §§相关问题§§ 1. 如何用Verilog或VHDL代码描述2:1 MUX? 2. 在FPGA设计中,if-else逻辑的资源消耗如何优化? 3. if-else在状态机(如Moore机)中如何用电路符号表示? 4. 多路复用器的传播延迟如何计算? [^1]: 数字电路设计中的时序逻辑与同步设计方法。 [^2]: Verilog综合中if-else映射为MUX的机制。 [^3]: 电路图符号标准化规范(如IEC 60617)。</think>### if-else逻辑的标准电路图符号表示 在数字电路设计中,if-else逻辑结构主要通过**2:1多路复用器(2:1 MUX)** 实现,其标准电路符号和门级实现如下: #### 1. **标准电路符号(IEEE/ANSI标准)** ```plaintext +------------+ D0 ----|0 | | 2:1 |---- Y (输出) D1 ----|1 MUX | | | S ----|S | +------------+ ``` - **符号说明**: - **S (选择端)**:条件信号(if判断条件),对应`if(condition)`中的condition - **D1 (输入1)**:条件为真时的值(then分支),当S=1时输出 - **D0 (输入0)**:条件为假时的值(else分支),当S=0时输出 - **Y (输出端)**:最终输出结果 - **功能等效**: $$Y = (S \cdot D1) + (\overline{S} \cdot D0)$$ 其中$\cdot$=AND,$+$=OR,$\overline{S}$=NOT[^2] #### 2. **门级实现电路图** ```plaintext D0 -----------------| AND |\ |_____| \ \ | OR |--- Y / S ----| NOT |----| AND |-----/ |_____| |_____| D1 --------------| AND | ``` - **逻辑元件**: 1. **NOT门**:对选择信号S取反生成$\overline{S}$ 2. **AND门1**:计算$\overline{S} \cdot D0$(else分支) 3. **AND门2**:计算$S \cdot D1$(then分支) 4. **OR门**:合并两个分支结果:$Y = (\overline{S} \cdot D0) + (S \cdot D1)$ - **工作流程**: - 当S=0(条件假):$\overline{S}=1$ → Y输出D0 - 当S=1(条件真):$\overline{S}=0$ → Y输出D1 #### 3. **时序电路中的特殊应用** 在时序逻辑中(如引用[^1]描述的同步设计),if-else常与触发器结合: ```plaintext +-----------------+ | 2:1 MUX |---- D +--------+--------+ | | | CLK -----|> D触发器 |---- Q (输出) +-------------+ ``` - **功能说明**: - 时钟上升沿触发时,MUX根据S选择D0或D1输入触发器 - 示例:带复位的D触发器(Verilog代码): ```verilog always @(posedge clk) begin if (reset) q <= 0; // S=reset, D1=0 else q <= d; // S=reset, D0=d end ``` 此结构在计数器、状态机中广泛应用[^1][^2] #### 4. **设计注意事项** 1. **优先级处理**:嵌套if-else会形成多级MUX串联,增加路径延迟 2. **时序约束**:需满足建立时间($T_{setup}$)和保持时间($T_{hold}$)要求 - 最大路径延迟决定$T_{setup}$,最小路径延迟决定$T_{hold}$[^2] 3. **符号规范**: - 矩形框表示组合逻辑(如MUX) - 三角形边表示时钟触发(时序逻辑) - 输入/输出引脚标注明确功能 > 此电路符号符合IEC 60617/IEEE Std 91标准,在EDA工具(如Cadence、Altium)中通用。实际工程中,综合工具会将HDL代码中的if-else自动映射为此类电路[^2][^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值