基于modelsim-SE的简单仿真流程 编写RTL功能代码 要进行功能仿真,首先得用需要仿真的模块,也就是RTL功能代码,简称待测试的模块,该模块也就是在设计下载到FPGA的电路.一个电路模块想要有输出,就得有输出,数字电路也是一样的,时钟和复位信号是必不可少的测试激励信号之一,同时可能还包括控制信号.数据信号.这里总结一下,一般系统中包括的测试激励信号主要为四大类: 系统信号(时钟.时钟使能信号.复位信号等): 控制信号(使能信号.片选信号.握手信号,状态机控制信号等): 数据信号(并行接口…
基于modelsim-SE的简单仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile All是编译所有文件,这里选择 Compile->Compile All,如下图所示: 在脚本窗口中将出现绿色字体: # Compile of counter.v was successful. # Compile of counter_tst.v was successful.,说明文件编译成功,在…
基于modelsim-SE的专业进阶仿真流程 通过<基于modelsim-SE的简单仿真流程>和<调用altera IP核的仿真流程>是否感受到仿真流程中的繁琐步骤,特别是在modelsim创建工程之后的步骤:编译.添加仿真信号.开始仿真.这三个步骤涉及到一大堆的鼠标操作,涉及到一大堆的窗口操作,由于RTL仿真过程是一个反复迭代的过程,同时要求覆盖到100%的功能测试,由此也要覆盖到所有状态机和条件判断的所有情况,由此,RTL的功能仿真功能需要不断的修改RTL代码,每次修改RTL代…
调用altera IP核的仿真流程—上 在学习本节内容之后,请详细阅读<基于modelsim-SE的简单仿真流程>,因为本节是基于<基于modelsim-SE的简单仿真流程>的基础上进行设计的,关于设计仿真流程的过程所涉及到的重复内容将不再详述,将会一笔带过,如果深入学习了<基于modelsim-SE的简单仿真流程>这一小节,则下面的内容将会非常的简单. 编写RTL功能代码 本小节通过调用altera的ROM宏功能模块,FPGA的ROM模块主要用于存储数据,可以在上电的…
本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera实际是针对Altera 的OEM版本,它事先将Altera的一些IP核仿真库添加到了工具中,但功能上有一些缩减.而Modelsim-SE需要自己手动添加这些仿真库,但是功能更全,而且工作中,工程师更倾向用SE版本,因为今后的FPGA开发中我们会接触更多其他厂商的FPGA,比如Xilinx.Latti…
Modelsim SE 仿真 ALTERA FPGA IP 最近,有几个朋友问过我是不是有新版本的Modelsim altera,其原因是 Qii 升级为新版本的,但是没配套的modelsim,没办法仿真程序中的IP,但是我还一直坚守modelsim SE6.5,现在简单讲下如何用SE版本的仿真IP步骤,其实方法还是很多种,但是感觉下面这方法还是一次工作长期受益的.希望能给遇到这个问题的朋友一点帮助. 其实主要就是编译一次ALTERA的ip文件,然后仿真的时候把库加载进来就OK了. 打开mode…
Modelsim se仿真Xilinx IPcore 方法:先写好do文件常规框架,根据modelsim报错再添加ise IP核库仿真文件.注:记得添加并仿真glbl.v全局控制仿真文件到sim/ise_lib下 步骤: 查看modelsim提示的错误信息:Error:./../ise_prj/ipcore_dir/sync_fifo_8x256.v(493):Module’FIFO_GENERATOR_V9_3’is not defined 找到ise安装路径:在快捷键上右键-属性-打开文件位…
我们用Modelsim SE进行仿真时,为了方便,一般会编写.do文件来启动当前仿真.关于.do文件的编写,一般网上都有成型的模板,我们只要稍微改几个参数,就可以符合我们的仿真需求了.但是如果仿真时需要链接额外已经编译好的自定义逻辑库到testbench模块时(比如Altera(Intel PSG)或者Xilinx的仿真库),就需要在现有的模板上加一点东西. 在下面这句话的基础上,加上需要链接的库就可以了,格式为“-L 库名”. vsim -voptargs=+acc work.tb 下面是链接…
服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Core.Utility;@{ string ButtonScript = string.Empty;}@if (Rattan.Basic.Globals.GetIsAuth(ViewBag.AuthValues, "QuickExport")){ ButtonScript = @"…
一.前言 本篇主要针对牟新刚编著<基于FPGA的数字图像处理及应用>第六章第五节中直方图统计相关类容进行总结,包括代码实现及 基于Modelsim的仿真.书读百遍,其意自现. 2020-03-09 22:16:07 二.基于FPGA的直方图算法统计原理 设计难点: (1)统计工作至少要等到当前图像“流过”之后才能完成.此限制决定了我们不可能对统计工作进行流水统计和输出. (2)必须对前期的统计结果进行缓存. (3)在下一次统计前需要将缓存结果清零. 在直方图统计中,我们一般选择片内双口RAM作…
如果我们直接用Modelsim SE仿真 Altera IP核,首先会进入Quartus II目录下找到IP核对应的仿真库源文件,然后在Modelsim SE中进行编译,添加到Modelsim SE的仿真库中,在仿真对Altera IP核进行仿真时,然后选择对应的仿真库,才可以正常进行仿真.   然而,有时候我们在PC上会安装多个版本的Quartus II软件,此时我们一定要注意,定制IP核的Quartus II 版本一定要和IP核仿真库文件的Quartus II版本保持一致,我之前就是忽略了这…
在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要.目前已经形成一套标准的流程,最重要的组成部分就是持续集成(Continuous Integration,CI)及持续部署.交付(CD).在此,我们来以一个案例初步了解 CI 流程.那么什么是 CI 呢?简单来讲,CI 就是将传统的代码合并.构建.部署.测试都集成在一起,不断地执行这个过程,并对结果进行反馈. CI 流程设计图: 工作流程: 1. 开发人员提交代码到Git版本仓库:2. Jenkins人工/定时触发项…
引子:ModelSim是HDL仿真软件,Debussy是波形查看软件:搭配使用,相当爽.此处所谓快速查看前仿真波形仅为抛砖引玉,大家不要拘泥于此.两款软件的功能都很强大,请自行研究. 注:本篇博文的软件环境为:Debussy 5.3v9 + Modelsim SE 6.5 配置篇 1 安装.和谐软件.略. 2 拷贝文件..\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll至文件夹..\modeltech_6.5\win32. 3 取消文件.…
今儿个是冬至,所谓“冬大过年”,公司也应景五点钟就放大伙儿回家吃饺子喝羊肉汤了,而我本着极高的职业素养依然坚持留在公司(实则因为没饺子吃没羊肉汤喝,只能呆公司吃食堂……).趁着这一个多小时的时间,想跟大家介绍下前段时间整的一个基于netty http协议栈的轻量级流程控制组件 nettice(点此查看代码),目前已经实现了一些功能并将持续完善,希望能为大伙儿切实解决一点开发问题(或者至少提供一些思路). 什么是流程控制组件? 服务的流程,简单来说就是在一次交互过程中,对 client 端而言,是…
调用altera IP核的仿真流程—下 编译 在 WorkSpace 窗口的 counter_tst.v上点击右键,如果选择Compile selected 则编译选中的文件,Compile All是编译所有文件,这里选择 Compile->Compile All,如下图所示: 在脚本窗口中将出现一行绿色字体 # Compile of altera_mf.v was successful. # Compile of counter.v was successful. # Compile of r…
下面是我们的Tcl仿真步骤:启动ModelSim SE, 首先看到在在ModelSim SE右边的窗口有ModelSim> 这样的提示符.在提示符后,顺序运行以下命令:    vlib work  该命令的作用是在该目录下建立一个work目录,请注意不要用操作系统来新建一个work的文件夹,因为用操作系统建立的work文件夹并没有ModelSim SE自动生成的_info文件.    vmap work work    该命令的作用是将目前的逻辑工作库work和实际工作库work映射对应.   …
在开发项目的时候,我们为了提高速度和质量,往往不是白手起家,需要基于一定的基础上进行项目的快速开发,这样可以利用整个框架的生态基础模块,以及成熟统一的开发方式,可以极大提高我们开发的效率.本篇随笔就是介绍基于Winform开发框架或混合框架基础上进行项目的快速开发,这个主题在之前的一些随笔有一定的介绍,但是觉得都不是很全面.完整,因此本篇随笔通过一些简单的例子以及一个具体的项目案例来进行全流程的开发出来,希望读者对基于我们开发框架的开发模式有一个更深入的了解. 1.基于框架开发简单界面的过程 由…
最近用Quartus 15.0配合Modelsim SE 10.4的64位版本,简直就是闪电一般的仿真速度.但是众所周知,SE版本最大的问题就是每次由Quartus自动调用时,都要重新编译所使用的器件库,特别是使用Stratix等含有收发器.PCIE硬核等单元时,仿真库编译时间实在太长.为了避免这个问题,一个方法就是采用Modelsim Altera版本,其含有已经编译好的Altera器件库,但是存在软件需要破解和仿真速度慢的问题.最近研究了很久,终于完美地解决了这个问题. 需要的工具:Quar…
[微信支付]分享一个失败的案例 2018-06-04 08:24 by stoneniqiu, 2744 阅读, 29 评论, 收藏, 编辑 这个项目是去年做的,开始客户还在推广,几个月后发现服务器已经关掉了.这是一个发图片猜谜语的应用,用户猜对了分红包,所得奖金可以提现.开发的时候对需求都不太看好,觉得用户粘性太低了.今天就把所有的程序拿了出来放在了github上.供有兴趣的伙伴玩耍. 产品逻辑 用户从公众号直接进来,可以做两件事,一个是发布悬赏谜题,一个是去答题.答题获得赏金可以提现.之前还…
基于PHP实现一个简单的在线聊天功能(轮询ajax ) 一.总结 1.用的轮询ajax 二.基于PHP实现一个简单的在线聊天功能 一直很想试着做一做这个有意思的功能,感觉复杂的不是数据交互和表结构,麻烦的是前端展..于是.. 需求分析 要实现功能,首先要做前端,经过对比其他网站的在线聊天功能,发现除了基本的聊天功能以外,还要注意以下几点. 1.一次只能和一个人聊天,但是可以随意切换其他人. 2.如果用户是从"发送消息" 入口进来的,那么当前马上就切换到对应的聊天窗口,而且如果之前有过聊…
背景介绍 前面在基于bat脚本的前端发布流程设计与实现中,我已经介绍了设计与实现,这一篇主要是针对其的一个优化折腾(分两步走,第一步先搞出来,第二步再想着怎么去优化它),我主要做了以下几件事. "各个击破" ------ 更细粒度地拆分构建.打包.上传模块,逻辑更清晰,维护更简便,程序更鲁棒 "条条大路通杭州" ------ 更改了压缩zip的实现逻辑(npm pkg - archiver) "打扫干净屋子再请客" ----- 追加了清理之前的文…
原文:微信公众号PHP简单开发流程 微信公众号开发分傻瓜模式和开发者模式两种,前者不要考虑调用某些接口,只要根据后台提示傻瓜式操作即可,适用于非专业开发人员. 开发模式当然就是懂程序开发的人员使用的. 下面简单说一下微信公众号开发的简易流程,新手看看会有帮助,高手请一笑而过. 1.配置服务器: A.首先在本机建立如下结构的文件夹(这里是我自己的习惯,仅供参考) MMPN:总目录mro message public number 微信公众号 backup:备份目录,主要用于备份php文件,每次修改…
前面介绍的模板有关知识大部分都是用顺序表来举例的,现在我们就专门用模板来实现顺序表,其中的很多操作都和之前没有多大区别,只是有几个比较重要的知识点需要做专门的详解. #pragma once #include<iostream> #include<string> #include<stdlib.h> using namespace std; template <class T> class Vector { public: Vector() //构造函数 :…
1.简介 本文是上一篇文章实践篇,在上一篇文章中,我分析了选择器 Selector 的原理.本篇文章,我们来说说 Selector 的应用,如标题所示,这里我基于 Java NIO 实现了一个简单的 HTTP 服务器.在接下来的章节中,我会详细讲解 HTTP 服务器实现的过程.另外,本文所对应的代码已经上传到 GitHub 上了,需要的自取,仓库地址为 toyhttpd.好了,废话不多说,进入正题吧. 2. 实现 本节所介绍的 HTTP 服务器是一个很简单的实现,仅支持 HTTP 协议极少的特性…
UEditor之实现配置简单的图片上传示例 原创 2016年06月11日 18:27:31 开心一笑 下班后,阿华到楼下小超市买毛巾,刚买完出来,就遇到同一办公楼里另一家公司的阿菲,之前与她远远的有过几次眼神交流,但从没说过话,“买毛巾啊”,看着阿华手里的毛巾,阿菲先开口了. 阿华回到:“是啊,这里的老板眼神太好了,我不敢偷,就只有买了.” 阿菲一下就哈哈笑了,配合到:“哇,原来你是小偷.” 阿华:“嘘,小声点,其实主要原因是……”阿华指着自己的脑袋接着说到:“你看,我是个有头有脸的人,所以还是…
当对目标模块进行RTL描述后,习惯先会用Modelsim做一下功能仿真.当我们写好Tensbench文件,直接在Modelsim SE中对源文件(design和Testbench)进行编译时,如果源文件中存在相应的语法错误或者逻辑错误,一般都会提示错误大概存在于哪一行,我们找到对应的行修改代码就行了.但是对于有些错误,比如语句中误输入了中文字符(像中文空格),Modelsim编译器只是提示出错,但是不提示错误所在的行数,这样就不利于我们查错.后来我重新在Quartus II中对源文件进行编译,此…
<基于qml创建最简单的图像处理程序>系列课程及配套代码基于qml创建最简单的图像处理程序(1)-基于qml创建界面http://www.cnblogs.com/jsxyhelu/p/8343310.html课程1附件https://files.cnblogs.com/files/jsxyhelu/%E9%98%B6%E6%AE%B5%E4%BB%A3%E7%A0%811.zip基于qml创建最简单的图像处理程序(2)-使用c++&qml进行图像处理http://www.cnblogs…
在ModelSim中添加Xilinx仿真库 说明: l ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下.如作者是安装在D:\softwares\Modelsim目录下. l ISE软件也最好安装在不带空格的目录下. 1.找到开始菜单->程序->Xilinx ISE Design Suite 11 -> ISE -> Accessories -> Simulation Library Compilation Wizard. 2.选…
QuartusII从9.1之后的版本都已经取消了内部自带的仿真器,都需要借助第三方仿真软件比如Modelsim才能实现仿真.一般在进行代码编写的时候,如果结合功能仿真,可以很快的验证代码实现的逻辑是否满足要求.所以熟练使用Modelsim也是逻辑工程师必须掌握的一个技能.由于Modelsim可以支持命令行的方式,通过创建do文件,可以集成多个可执行的命令.那么对于前期一边编写代码,一边进行功能仿真,使用do文件是可以明显提高工作的效率.下面以Modelsim SE版本为例,通过以下几个步骤与大家…
本文均属自己阅读源代码的点滴总结.转账请注明出处谢谢. 欢迎和大家交流.qq:1037701636 email:gzzaigcn2009@163.com 写在前面的闲话: 自我感觉自己应该不是一个非常擅长学习算法的人.过去的一个月时间里由于须要去接触了BP神经网络.在此之前一直都觉得算法界的神经网络.蚁群算法.鲁棒控制什么的都是特别高大上的东西,自己也就听听好了,未曾去触碰与了解过.这次和BP神经网络的邂逅.让我初步掌握到.理解透彻算法的基本原理与公式,转为计算机所能识别的代码流,这应该就是所谓…