生成块可以动态的生成Verilog代码.可以用于对矢量中的多个位进行重复操作.多个模块的实例引用的重复操作.根据参数确定程序中是否包含某段代码.生成语句可以控制变量的声明.任务和函数的调用.还能对实例引用进行全面的控制.在编程时,应用关键字generate_endgenerate来说明生成的实例范围. 生成实例可以是一下的以下一种或多种类型: 1)模块 :  2)用户定语原语 : 3)门级原语 :  4)连续赋值语句:   5)initial 和 always 块. 生成实例中语序的数据类型:…
h Verilog HDL语言和C语言一样也提供编译预处理的功能.在Verilog中为了和一般的语句相区别,这些预处理语句以符号"`"开头,注意,这个字符位于主键盘的左上角,其对应的上键盘字符为"~",这个符号并不是单引号"'".这里简单介绍最常用的`define `include `timescale. 1)宏定义`define 用一个指定的标识符(名字)来代表一个字符串,其的一般形式为: `define 标识符(宏名) 字符串(宏内容) 如:…
1)系统任务:$monitor   格式: $monitor(p1,p2,p3...pn); $monitor; $monitoron; $monitoroff; 任务$monitor提供了监控输出列表中的表达式或变量值的功能.其参数列表中输出格式控制字符串和输出列表的规则和$display一样.当启动一个带有一个或多个参数的$monitor时,仿真器则建立一个处理机制,使得每当参数列表中变量或者表达式的值发生变化是,整个参数列表中变量或者表达式的值都将输出显示.如果同一时刻,两个或多个参数的值…
task 和 function 说明语句分别用来定义任务和函数,利用任务和函数可以把函数模块分成许多小的任务和函数便于理解和调试.任务和函数往往还是大的程序模块在不同地点多次用到的相同的程序段.输入.输出和总线信号的数据可以传入.传出任务和函数. task 和 function 的不同: 1)函数只能与主模块共用同一个仿真的时间单位,而任务可以自己定义自己的仿真时间单位. 2)函数不能启动任务,但是可以调用其它函数,但是任务可以调用其他函数和任务: 3)函数至少要有一个输入变量,而任务可以没有或…
Verilog中已有一些建立好的逻辑门和开关的模型.在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述. 逻辑门: and (output,input,...) nand (output,input,...) or (output,input,...) nor (output,input,...) xor (output,input,...) xnor (output,input,...) 缓冲器和与非门 buf (output,...,input) not (outp…
$display 和 $write 任务 格式: $display (p1,p2,...,pn); $write (p1,p2,..,pn); 这两个函数和系统的任务作用是用来输出信息,即将参数p2到pn按照参数p1给的格式输出.参数1通常称作“格式控制”,参数p2至pn通常称作输出表列.这两个任务的作用基本相同,但是$display自动的在输出后进行换行,而$write却不是这样.如果想在一行内输出多个信息,可以使用$write. 注意:其输出格式控制是用双引号括起来的字符串,可以包含以下两种…
Verilog中的任何过程都可以属于以下四种结构的说明语句; 1) initial;  2) always;  3) task;   4) function; 1) initial说明语句: 一个程序中的 initial 和 always 的次数是不受限制的,他们都是在仿真的一开始同时开始运行的.initial 只执行一次,而 always语句则是不断地重复活动,直到仿真活动结束.但是always 后面的过程快是否运行,则要看他的触发条件是否满足,满足则运行一次,再满足再运行,直至仿真结束. 格…
在Verilog中存在着4种类型的循环语句,用来控制执行语句的执行次数. 1)forever语句: 连续执行的语句. 2)repeat语句:  连续执行n次的语句. 3)while语句:    执行语句,直至某个条件不满足. 4)for 语句:      三个部分,尽量少用或者不用for循环. 各语句的格式与注意事项: 1)forever格式: forever   语句: 或:forever   begin 多条语句 end 常用于产生周期性的波形,用来作为仿真测试信号.它与always的不同之…
条件语句可以分为if_else语句和case语句两张部分. A)if_else语句 三种表达形式 1) if(表达式)          2)if(表达式)               3)if(表达式1) 语句1:                    语句1:                           语句1: else                              else   if(表达式2)    语句2: 语句2:                   else…
块语句是指将两条或者两条以上的语句组合在一起,使其在格式上更像一条语句.块语句分为两种: 1)用begin_end语句,通常用来标识顺序执行的语句,用它标识的块称作顺序块: 2)用fork_join语句,通常用来标识并行执行的语句,用它标识的块称作并行块. A)顺序块 begin 语句1: 语句2: .... 语句n: end begin:块名 块内声明语句 语句1: 语句2: .... 语句n: end 特点: 1)块内的语句是按照顺序执行的,即只有上面一条语句执行完后下面的语句才能执行: 2…
在Verilog HDL语言中,信号有两种赋值方式. A)非阻塞赋值(Non-Blocking)方式(如:b<=a;) (1)在语句块中,上面语句所赋值的变量不能立即为下面的语句所用: (2)块结束后才能完成这次赋值操作,赋值的职位上次赋值得到的: (3)在编写可综合的时序逻辑模块时,这是最常用的复制方法. B)阻塞赋值(Blocking)方式(如:b=a;) (1)赋值语句完成后,块才结束: (2)b的值在赋值语句执行完后立刻改变. (3)在时序逻辑中使用时,可能会产生意想不到的结果. 补充:…
Verilog HDL的语言的运算符的范围很广,按照其功能大概可以分为以下几类: (1)算术运算符 +,-,*,/,% 优先顺序 !~ *  /   % +    - <<    >> <    <=  >   >= ==  !==  === !=== & ^  ^~ | && || ?: 最高优先级别 ↓ ↓ ↓ ↓ 最低优先级别 (2)赋值运算符 =,<= (3)关系运算符> ,<,>=,<= (4)…
Verilog中共有19种数据类型. 基本的四种类型: reg型.wire型.integer型.parameter型. 其他类型:large型.medium型.small型.scalared型.time型.tri型.trio型.tril型.triand型.trior型.trireg型.vectored型.wand型和wor型. 这14中数据类型除time外都与基本逻辑单元建库有关. A.常 量 (1)数 字 整数,整型常量即整常数有以下4种进制表示形式:1)二进制(b或B):2)十进制(d或D)…
一.Python初识(IDE环境及基本语法,Spyder快捷方式) Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,没有编译过程,可移植,可嵌入,可扩展. IDE 1.检查Python版本: 运行应用程序Terminal(win+R),输入cmd,进入界面后输入python,查看是否安装,未安装前往https://www.python.org/网址安装对应版本python. 2.IDE集成环境 (1)Anaconda spyder官网下载链接:https://www.anac…
建立和保持时间: 建立时间(Tsu)是指在时钟上升沿到来之前数据必须保持稳定的时间,保持时间(Th)是指在时钟上升沿到来以后数据必须保持稳定的时间.一个数据需要在时钟的上升沿被锁存,那么这个数据就必须在这个时钟的上升沿的建立时间和保持时间内保持稳定.建立时间和保持时间的示意图如下图所示: 同步系统中的时序分析: 如图为采用一个时钟的同步设计中的一个基本的模型.其中Tco是触发器数据输出的延时,Tdelay是组合逻辑的延迟,Tsetup是触发器的建立时间,Tpd为时钟的延时.如果第一个触发器D1的…
[Unity Shaders]学习笔记——SurfaceShader(八)生成立方图 转载请注明出处:http://www.cnblogs.com/-867259206/p/5630261.html 写作本系列文章时使用的是Unity5.3. 写代码之前: 当然啦,如果Unity都没安装的话肯定不会来学Unity Shaders吧? 阅读本系列文章之前你需要有一些编程的概念. 在VS里面,Unity Shaders是没有语法高亮显示和智能提示的,VS党可以参考一下这篇文章使代码高亮显示,也可以下…
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 年前工作事务比较繁琐,我只能用零碎的时间继续学习Python,决定开一个系列的博文,作为自己深入学习Python的记录吧.名字也取好了,就叫<ZMAN的学习笔记之Python篇>~开篇是关于装饰器的,春节假期码的字哈哈~就让我们开始吧! 本文的例子都是自己想的,如果不是很合适,请大家提出宝贵意见…
摘要:其实PHP中的数组和JavaScript中的数组很相似,就是一系列键值对的集合.... 转载请注明来源:PHP学习笔记之数组篇   一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我们来看看如何创建一个数组 (1)直接给每个元素赋值的方法创建数组. 格式为:$arrayname[key]=value; 其中arrayname为数组的名字,key为数组的元素的键,value为元素的值.键可以是0,1,2,3这一类数字,也可以是字符串.如下所示:  代码如下:  <?php /**…
title: c++学习笔记之封装篇(上) date: 2017-03-12 18:59:01 tags: [c++,c,封装,类] categories: [学习,程序员,c/c++] --- 一.类对象 假设我们由Tv这个类,定义如下 注意class结尾要加上分号 class Tv() { int width; int height; int volume; void changeVolume() { //changeVolume } }; 类的实例化有两种方法,一种是栈中实例化.另一种则是…
OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当今最流行的关系型数据库之一,和很多朋友一样,我也是一个Oracle的爱好者,从开始的7.3(我所接触的第一个版本)到现在的10G,可以说Oracle公司每推出一个新的版本,都有很多令人激动的新东西带给我们,这可能也是令广大朋友着迷的地方吧. 众所周之,Oracle公司并仅仅是一个关系型数据库厂商,她…
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 在Python中,对命令行的解析方式不唯一,本文将介绍两种方法:一种是用sys.argv手动设置,另一种是用argparse模块. 一.sys.argv是什么 首先看一个例子: import sys print(len(sys.argv)) for arg in sys.argv: print(a…
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞职转行后重新回来),娶妻生子,很感谢我的朋友能在最危难时刻帮助我,也很感话我的妻子对我事业的支持,希望大家保重好身体,多学习,多陪伴家人. 一直从事.Net和 PHP 和一些不成型的前端开发,有人评论WP的失败,是,现在这个开源的时候,如果跟不上,闭门自封,将会坠入深渊.个人认为微软出.Net Co…
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus.然后这个新语言就叫python,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言. 1991年,第一个Python编译器诞生.它是用C语言实…
Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/current/reference/html/core.html 一个IOC讲得很好的博客 https://blog.csdn.net/ivan820819/article/details/79744797 之前总结的Spring文章比较水,这次好好来 文章需要有些Spring源码基础(可以看我的水…
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) 这次来聊聊Python中函数的“可变长参数”,在实际中经常会用到哦~  一.什么是“可变长参数” “可变长参数”就是向一个函数传入不定个数的参数.比如我写一个函数:传入一个学生参加各科目考试的成绩,求平均分,如两个学生分别传入(92, 91, 88)和(88, 95),因为每个学生参加的考试个数不…
title: c++学习笔记之继承篇 date: 2017-03-26 16:36:33 tags: [c++,继承,public,virtual,private,protected] categories: [学习,程序员,c++] 一 继承方式 public protected private 二 多继承和多重继承 举个例子就明白了 多继承 :农民工就算是多继承. graph TD; 人类-->农民; 人类-->工人; 农民-->农民工; 工人-->农民工; 多重继承 :小学生…
Django学习笔记(进阶篇):http://www.cnblogs.com/wupeiqi/articles/5246483.html…
Django学习笔记(基础篇):http://www.cnblogs.com/wupeiqi/articles/5237704.html…
在上一篇文章Nginx学习笔记之应用篇中,我们已经可以正式运行自己的网站了.但是在使用Nginx服务器时还需要注意几个问题: 1.Nginx服务器上配置的单个站点的并发量不超过1024 2.Nginx For Windows的版本只作为一个控制台应用程序在运行,而不是以服务的形式,所以不支持自动重启. 3.在使用Nginx时,出于安全考虑,最好可以修改页面响应中的Server名称和程序信息 解决方案: 第一步:隐藏Nginx版本号 首先打开fastcgi.conf文件 修改 fastcgi_pa…
Nginx服务器的安装请参考Nginx学习笔记之安装篇 关于Nginx配置文档的API在这里就不一一列出,现在我们来配置第一个Nginx架构实现负载均衡的网站. 1.打开IIS,配置如下站点 重复上述操作,配置三个网站,端口分别是8021.8022.8023 2.用记事本打开Nginx文件夹下的配置文档 3.在http代码块内,添加下面的代码 upstream localhost { server 192.168.0.115:8021 weight=1; server 192.168.0.115…