草庐IT

EMC仿真

全部标签

南京大学数字电路与计算机组成实验的Verilator仿真(二)

实验二1.2-4译码器top.vmoduledecode24(x,en,y);input[1:0]x;inputen;outputreg[3:0]y;always@(xoren)if(en)begincase(x)2'd0:y=4'b0001;2'd1:y=4'b0010;2'd2:y=4'b0100;2'd3:y=4'b1000;endcaseendelsey=4'b0000;endmodulesim_main.cppintmain(){sim_init();top->en=0b0;top->x=0b00;step_and_dump_wave();top->x=0b01;step_and_d

用Verilog编写1位全加器,并进行波形仿真

文章目录软件环境1bit全加器真值表Verilog代码SystemVerilog代码仿真波形软件环境QuartusII+ModelSiml1bit全加器全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。真值表Verilog代码//注释//模块化modulefull_adder1(//input和output均为端口//Ai,Bi,Ci为输入,So,Co为输出inputAi,Bi,Ci,outputSo,Co);`ifdefADDER_DESCRIPTION//assign相当于连线,一般是将一

单片机课设 - 电子时钟 (仿真,仿真代码,实验板代码)

目录Proteus实现:proteus实现代码:实验板实现代码:Proteus实现:1.主要器件:C51单片机、8位LED数码管(共阴极)…2.仿真图如下:3.主要特点1.24进制显示2.最下方三个按钮分别控制时、分、秒proteus实现代码:#include#includevoidDelayms(unsignedintxms){unsignedchari,j;while(xms--){i=2;j=239;do{while(--j);}while(--i);}}charled_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};u

Modelsim的仿真之路(基础仿真流程)

Modelsim的仿真之路(基础仿真流程)前言仿真前夕一:基础仿真步骤:二:工程形式的仿真步骤:三:多个库的使用基础仿真前言缓了一段时间,该接着开始系列记录了,这一次将开始ModelSim的仿真之路,对于学FPGA或者从业于该行业的人来说,仿真是必不可免的一件事,而仿真的工具也不少,不过感觉ModelSim推荐的指数要高很多,或许和它优化的能力有关吧~仿真前夕在ModelSim中对一个设计进行仿真有几种模式,基本的仿真、工程形式的仿真,还有使用多个库进行仿真,逐个进行介绍下使用步骤;一:基础仿真步骤:1、创建工作库在ModelSim中,所有设计都被编译到一个库中。通常通过创建名为“work”的

Modelsim的仿真之路(基础仿真流程)

Modelsim的仿真之路(基础仿真流程)前言仿真前夕一:基础仿真步骤:二:工程形式的仿真步骤:三:多个库的使用基础仿真前言缓了一段时间,该接着开始系列记录了,这一次将开始ModelSim的仿真之路,对于学FPGA或者从业于该行业的人来说,仿真是必不可免的一件事,而仿真的工具也不少,不过感觉ModelSim推荐的指数要高很多,或许和它优化的能力有关吧~仿真前夕在ModelSim中对一个设计进行仿真有几种模式,基本的仿真、工程形式的仿真,还有使用多个库进行仿真,逐个进行介绍下使用步骤;一:基础仿真步骤:1、创建工作库在ModelSim中,所有设计都被编译到一个库中。通常通过创建名为“work”的

ModelSim仿真失败解决办法

前段时间下了一个ModelSim2019.2,一直没有用它跑过仿真。这几天突然想跑个仿真发现了一个问题。众所周知,用ModelSim仿真的时候要取消enableoptimization选项(下图是没有取消的样子),然后再选择自己想仿真的work。这样在出来的仿真界面才能看到信号。可是当我取消了enableoptimization选项之后仿真,却报下列错误。我把错误报告的文字贴出来:“Error(suppressible):(vsim-12110)Alloptimizationsaredisabledbecausethe-novoptoptionisineffect.Thiswillcausey

单片机课程设计--电子密码锁(源代码+proteus仿真)

目录器件选择电路图 代码 1、LCD显示功能1)LCD端口2)字模的定义3)提示符的显示4)输入密码/重置密码时密码行的显示2、总控制1)主函数2)key函数---判断用户想要进行的操作3)display函数功能---接收用户输入数据并调用相应函数进行操作4)判断密码正误5)重置密码6)in_code函数---将后一个数组内容复制到前一个数组中程序运行效果1、启动2、输入密码时的显示3、重置密码时的显示4、其他提示符的显示1)密码输入正确提示符 2)密码输入错误提示符 3)密码错误三次时的提示符本设计是基于AT89C51单片机的电子密码锁设计,实现电子密码锁的基本功能。器件选择序号器件编号Pr

【小技巧】vivado中功能仿真和时序仿真

在vivado中我们一般需要首先对程序进行功能仿真,其操作方法如下: 此时,功能仿真的效果如下所示:下一步,如果有需要,我们对程序进行时序仿真,此时,操作步骤如下:先进行综合布局布线操作: 然后进行时序仿真,操作如下:  可以看到,在完成布局布线之后,可以点击时序仿真,仿真结果如下:时序仿真和功能仿真区别,我们将上述仿真结果放大可以看到:     在两个数据的变化中间,会有一个0不稳态输出。这个也是实际FPGA开发过程中需要主要的问题。 

【开关电源RC吸收电路matlab simulink仿真】

开关电源RC吸收电路matlabsimulink仿真电路模型全局搜索吸收电路参数近期遇到了需要加吸收电路的需求,但是查阅网上资料全都是根据经验公式求得,并没有给出吸收完后的效果预测,因此自己动手做个方法。电路模型由于变压器漏感和整流二极管电容的存在整流二极管两端电压会产生过冲,如果电路或变压器设计的不好过冲甚至能达到两倍,迫使你不得不选择耐压更高的开关器件,从而增加成本,增大损耗。以移向全桥的整流电路为例电路结构如下:整流桥和RC吸收电路如下D1、D4导通,D2、D3关断瞬间的等效电路如下,lr为变压器漏感,Rd、Cd为二极管寄生电路在进行吸收电路之前,首先要确定寄生电路的参数:变压器的漏感L

关于Vivado仿真时,时钟信号初值设置方法导致仿真结果不一致的问题分析

本文以余3码加法计数器的设计为例,说明仿真激励过程中遇到的问题,解决方法及分析。加法器电路的实现代码如下:modulem10counterGU(clk,state);inputclk;outputreg[3:0]state;//Excess-3codeparameterS0=4'b0011,S1=4'b0100,S2=4'b0101,S3=4'b0110,S4=4'b0111,S5=4'b1000,S6=4'b1001,S7=4'b1010,S8=4'b1011,S9=4'b1100;always@(negedgeclk)case(state)S0:state仿真激励文件1的代码如下:modu