电路仿真

verilog 心得

爱⌒轻易说出口 提交于 2020-01-17 04:28:17
verilog语法学习心得 1.数字电路基础知识: 布尔代数、门级电路的内部晶体管结构、组合逻辑电路分析与设计、触发器、时序逻辑电路分析与设计 2.数字系统的构成: 传感器 AD 数字处理器 DA 执行部件 3.程序通在硬件上的执行过程: C语言(经过编译)-->该处理器的机器语言(放入存储器)-->按时钟的节拍,逐条取出指令、分析指令、执行指令 4.DSP处理是个广泛概念,统指在数字系统中做的变换(DFT)、滤波、编码解码、加密解密、压缩解压等处理 5.数字处理器包括两部分:高速数据通道接口逻辑、高速算法电路逻辑 6.当前,IC产业包括IC制造和IC设计两部分,IC设计技术发展速度高于IC设计 7.FPGA设计的前续课程:数值分析、DSP、C语言、算法与数据结构、数字电路、HDL语言 计算机微体系结构 8.数字处理器处理性能的提高:软件算法的优化、微体系结构的优化 9.数字系统的实现方式: 编写C程序,然后用编译工具得到通用微处理器的机器指令代码,在通用微处理器上运行(如8051/ARM/PENTUIM) 专用DSP硬件处理器 用FPGA硬件逻辑实现算法,但性能不如ASIC 用ASIC实现,经费充足、大批量的情况下使用,因为投片成本高、周期长 10.FPGA设计方法: IP核重用、并行设计、层次化模块化设计、top-down思想 FPGA设计分工:前端逻辑设计、后端电路实现

Boost建模与仿真 1MW设计

不想你离开。 提交于 2020-01-16 01:51:59
这里讲一下BOOST电路从建模到系统实现,为了方便DSP移植性,所以采用离散仿真加s-function,C代码编写的程序。 Boost 电路设计 主要仿真功率为1MW的Boost电路。主回路拓扑: Boost硬件参数选型 电容C:50000uf 电感:1.5mH DC: 600V Boost控制框图 建立模型: 0-DTs ,S1导通: (1) DTs -Ts ,S1截止: (2) 由(1),(2)式得: (3) (4) 通过(4)我们可以得到系统模型: 结合(3)(4)进行控制结构设计: 这里采用双闭环控制,外环电压环,内环电流环,鲁棒性强,抗扰动性强。 4. Boost软件参数设计 该系统可以按照二型系统进行设计: 控制系统采用二型控制设计,这样设计稳定性以及动态响应更强。 电流环参数: 截止频率:1000HZ 中频带宽H:10000 电压环参数: 截止频率:10HZ: 中频带宽H:11 波形:母线电压 电感电流: 可以通过以下链接下载模型: //download.csdn.net/download/hero5123456789/12103145 来源: CSDN 作者: hero5123456789 链接: https://blog.csdn.net/hero5123456789/article/details/103983048

[文档].艾米电子 - 逻辑门电路,Verilog

时光毁灭记忆、已成空白 提交于 2020-01-14 09:06:48
对读者的假设 已经掌握: 可编程逻辑基础 Verilog HDL基础 使用Verilog设计的Quartus II入门指南 使用Verilog设计的ModelSIm入门指南 内容 1 基本门电路 1.1 采用结构化描述方式 1. 使用Quartus II新建工程logic_gates,顶层模块名为logic_gates,如图1.1所示。 图1.1 新建工程logic_gates 2. 录入下面的代码。 `timescale 1ns/1ns module logic_gates( input iA, input iB, output oAnd, output oOr, output oNot ); and and_inst(oAnd, iA,iB); or or_inst(oOr, iA,iB); not not_inst(oNot, iA); endmodule 第10~12行,采用了门级原语,分别例化了与门、或门和非门。 and and_inst(oAnd, iA,iB); or or_inst(oOr, iA,iB); not not_inst(oNot, iA); 3. 由于是基本的门电路,我们直接编译。编译成功后,选择 Tools>Netlist Viewers>RTL Viewer ,查看该工程综合后的RTL视图,如图1.2所示。 图1.2 RTL视图 4.

算术运算单元ALU的设计与实现

拟墨画扇 提交于 2019-12-30 13:10:27
算术运算单元ALU的设计与实现 这是2018年大三时的一个课程设计,在这里把相关技术和用到的知识分享给大家。(由于编者水平有限可能存在错误的地方,欢迎大家指正)题目给出的要求如下: 一、设计题目及要求 要求: 1.进行两个四位二进制数的运算。 2.算术运算:A+B,A-B,A+1,A-1 3.逻辑运算:A and B,A or B,A not, A xor B 注意:从整体考虑设计方案,优化资源的利用 二、设计过程及内容 2.1总体设计 ALU算术运算单元由以下几个部分构成: 图1 ALU运算单元系统结构图 为了尽可能减少资源的使用(或以相同的资源增加更多的功能),在此系统的基础上,增加基于寄存器的分时复用输入模块进行改进。 图2 基于分时复用方法的ALU运算单元结构 ①输入模块 该模块用于两个四位二进制数的输入。通过使用实验箱的拨码开关,输入高低电平,表示二进制的 1和0,四组拨码开关组合可以表示一个四位二进制数。 ②逻辑运算单元 该模块用于两个四位二级制数的逻辑运算。通过列出一位二进制数逻辑运算的真值表(含有四种不同的逻辑运算功能),得出了一位二进制数逻辑运算单元的表达式(已使用卡诺图化简)。将按照逻辑表达式连接好的多个一位二进制逻辑运算单元进行组合,可得到多位二进制数逻辑运算单元。 通过使用“真值表+卡诺图”的方法将所有的逻辑运算的表达式融合在一起进行化简

知识点_001_后仿真_无复位寄存器和存储需要$deposit

霸气de小男生 提交于 2019-12-24 08:30:05
1、后仿真中的无复位寄存器和存储 在IC设计中,处于减少功耗和面积的考虑会存在部分的无复位寄存器和存储单元,而在使用VCS进行后仿真时,无复位的寄存器和存储单元输出会是X态,因此会导致仿真异常,仿真结果不符合预期,因此在仿真时,需要对无复位的寄存器和存储单元进行初始化。 2、$deposit初始化无复位寄存器和存储 使用$deposit对无复位寄存器和存储进行初始化,是在0时刻,赋一个初始值。使用格式如下所示,在0时刻,对无复位寄存器的q端进行赋值,一般默认为0,无复位寄存器的q端在非0时刻会随着电路信号的变化而变化,使用$deposit赋值不会导致电路信号的变化,仅仅在初始化阶段赋值一个确定值。 initial begin $deposit (lif_u0__lif0_mac_u0__mac_tx_u0__tx_data_in_reg_1_.q,’b0); $deposit (lif_u0__lif0_mac_u0__mac_tx_u0__tx_data_in_reg_2_.q,’b0); $deposit (lif_u0__lif0_mac_u0__mac_tx_u0__tx_data_in_reg_3_.q,’b0); end 来源: CSDN 作者: IC小鸽 链接: https://blog.csdn.net/icxiaoge/article/details

vivado进阶:FPGA实现(一)

馋奶兔 提交于 2019-12-22 01:30:47
中国大学MOOC [UESTC数字设计FPGA应用] 通过实践,进一步掌握硬件描述语言(Verilog HDL)与vivado开发的全过程。在vivado的开发环境下,使用Verilog HDL编译代码。根据原理图和对于端口的说明,编写约束文件,对电路进行实现,并进行仿真,然后下载到电路板验证。 以简单工程多数表决器为例,进行实现。掌握Verilog HDL的基本语言,FPGA的仿真方法,以及开发板的使用方法。 第一个工程:多数表决器 使用FPGA实现简单的组合逻辑电路。 三个输入分别是a,b,c,输出是f。 基本思路: 1、根据问题的描述作出真值表; 2、得到最小项表达式; 3、卡诺图圈图得到逻辑函数的表达式; 4、vivado下新建工程进行开发。 进入工程 小贴士: 1、左侧PROGECT MANAGER(工程管理)中有Settings设置一项,可以对使用的开发板进行修改。 2、在比特流选项中选择-bin.file,是需要最后下载到FPGA配置的Flash。 3、发现自己找不到Sources的小框之后,可以单击左侧栏中的PROGECT MANAGER来找到。 4、界面右上角会显示项目的工作状态。 设计源文件代码 module v_dsbjq ( input a , input b , input c , output f ) ; assign f = a & b | b & c

Scheme实现数字电路仿真(1)——组合电路

*爱你&永不变心* 提交于 2019-12-09 16:03:27
  EDA是个很大的话题,本系列只针对其中一小部分,数字电路的仿真,叙述一点概念性的东西,并不会过于深入,这方面的内容实则是无底洞。本系列并不是真的要做EDA,按照SICP里的相关内容,采用Lisp的方言Scheme。再者,Lisp并不是只有函数式一种编程范式,真正做EDA,仿真的核心部分为了运行效率可以采用C/C++编写,编程的思路也可以借鉴。    门级电路   学过数字电路,我们都知道与、或、非三个门。虽然从实际上真实电路的角度来说,与非门、或非路一般比起与、或门更为简单,但一般情况下我们可能更喜欢从与、或、非说起。   与、或、非这三个门级的逻辑符号如下:   与门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 假   或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 真 真 假 真 假 假 假   非门的真值表如下: 输入 输出 真 假 假 真   除此之外还有异或门、同或门比较常用,符号如下:   异或门的真值表如下: 输入1 输入2 输出 真 真 假 假 真 真 真 假 真 假 假 假   同或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 真    组合电路   将以上的门级电路连在一起,得到组合电路。前提是,组合电路没有反馈。   解释一下反馈的意思,  

Scheme实现数字电路仿真(1)——组合电路

China☆狼群 提交于 2019-12-09 13:23:27
  EDA是个很大的话题,本系列只针对其中一小部分,数字电路的仿真,叙述一点概念性的东西,并不会过于深入,这方面的内容实则是无底洞。本系列并不是真的要做EDA,按照SICP里的相关内容,采用Lisp的方言Scheme。再者,Lisp并不是只有函数式一种编程范式,真正做EDA,仿真的核心部分为了运行效率可以采用C/C++编写,编程的思路也可以借鉴。       门级电路   学过数字电路,我们都知道与、或、非三个门。虽然从实际上真实电路的角度来说,与非门、或非路一般比起与、或门更为简单,但一般情况下我们可能更喜欢从与、或、非说起。   与、或、非这三个门级的逻辑符号如下:      与门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 假   或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 真 真 假 真 假 假 假   非门的真值表如下: 输入 输出 真 假 假 真   除此之外还有异或门、同或门比较常用,符号如下:      异或门的真值表如下: 输入1 输入2 输出 真 真 假 假 真 真 真 假 真 假 假 假   同或门的真值表如下: 输入1 输入2 输出 真 真 真 假 真 假 真 假 假 假 假 真    组合电路   将以上的门级电路连在一起,得到组合电路。前提是,组合电路没有反馈。   解释一下反馈的意思,  

经典技术指南合集:电路仿真和PCB设计

﹥>﹥吖頭↗ 提交于 2019-12-06 06:47:24
经典技术指南合集:电路仿真和PCB设计 此篇是关于《 经典技术指南合集:电路仿真和PCB设计 》 的文章,文章主要讲解一些电路仿真和 pcb设计的解析和经典案例,可以给大家的学习带来便利,利于理解,有什么不懂的可以加群了解:613377058 下载地址:https://bbs.usoftchina.com/thread-209159-1-1.html 电磁兼容性(EMC)简介 模拟电路性能常常会因附近电气活动产生的高频信号而受到不利影响。此外,内置模拟电路的设备也可能对其外部的系统产生不利影响。参考文献1(第4页)根据IEC-60050定义给出了“电磁兼容性(EMC)”定义: EMC是指器件、整套设备或系统在电磁环境下保持良好性能且不会向该环境中的任何器件、设备或系统引入大量电磁干扰的能力。 因此,术语“EMC”描述以下两个方面: 1. 电气电子系统保持正常工作且不干扰其它系统的能力。 2. 此类系统在额定电磁环境中按预期工作的能力。 因此,完整的EMC保证将会表明:设计中的设备应该既不会产生杂散信号,也不易受带外外部信号(即目标频率范围之外的那些信号)影响。模拟设备多数时候深受后一类EMC问题之害。此部分将重点介绍如何恰当处理这类杂散信号。 外部产生的电气活动可能产生噪声,这种噪声称为“电磁干扰(EMI)”或“射频干扰(RFI)”。下面将从电磁干扰和射频干扰两个方面探讨EMI

使用ngspice进行电路仿真

给你一囗甜甜゛ 提交于 2019-12-05 12:11:51
电路spice仿真工具已经比较成熟,开源的免费工具也有不错的性能。使用ngspice可以得到不错的仿真结果。 在Linux系统上,例如写一个RLC谐振的电路: RLC V1 1 0 AC 1V L 1 2 0.2 IC=0 R 3 0 500 C 2 3 0.1U IC=0 .AC DEC 501 100 10K .END 命名为rlc.cir。 在终端运行ngspice: 绘图: 来源: https://www.cnblogs.com/lyuyangly/p/11924156.html