Mark

Vivado中debug用法

家住魔仙堡 提交于 2021-01-23 23:37:04
Vivado和ISE相比ChipScope已经大幅改变,很多人都不习惯。在ISE中称为ChipScope而Vivado中就称为in system debug。下面就介绍Vivado中如何使用debug工具。 Debug分为3个阶段: 1. 探测信号:在设计中标志想要查看的信号 2. 布局布线:给包含了debug IP的设计布局布线 3. 分析:上板看信号 一 探测信号 探测信号有2种方法一种是直接在HDL源代码中用(*mark_debug = “true”*)标识出要探测的信号 另一种是 在综合过后的网表文件中添加标志。 1 .在HDL源代码中添加标志 然后点击open Synthesized Design 然后点击Tools-> Set Up Debug 点击 Next 点击Add/Remove Nets 点击find会出来所有信号。如果需要添加debug的信号,从左边框中选择所需信号,点击 按 钮加到右边来。如果需要去除不需要的debug信号,从右边框中选择所需信号,点击 按钮就 去除了。选好信号之后,在右下角点击Ok按钮。 在此框中为所有debug信号选择时钟域,选择debug信号,右键选择Select Clock Domain。注意每一个时钟域对应一个单独的ILA 2.0core。 在此框中选择所需时钟,点击ok 点击next 然后继续下面的Implement 流程

mysql 中Varchar 与char的区别

白昼怎懂夜的黑 提交于 2021-01-23 11:41:25
<div class='title_1'>一、字符与字节与编码关系</div> ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。 UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。 Unicode编码中,一个英文等于两个字节,一个中文(含繁体)等于两个字节。 <div class ='title_1'>二、Varchar与char区别</div> <span class='mark_blue'>char固定长度的类型:</span>char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉). <span class='mark_blue'>varchar可变长度的类型:</span>在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节) 在MySQL中用来判断是否需要进行对数据列类型转换的规则 在一个数据表里,如果每一个数据列的长度都是固定的,那么每一个数据行的长度也将是固定的. 只要数据表里有一个数据列的长度的可变的,那么各数据行的长度都是可变的.

求100之内的素质并输出(最优算法)-PHP面试题

自闭症网瘾萝莉.ら 提交于 2021-01-22 08:59:11
曾经第一次面试题中的题目, 今天碰巧看到整理一下 当时用了最基本的算法写出来了, 两个for循环, 一个一个取余, 是质数就放进结果数组中 代码如下, 检查代码运行时间的代码是来对比三种不同算法的优劣性 算法一: 每个数都从2开始除, 除遍所有比自己小的整数, 如果有能整除的, 说明不是质数, 退出本次循环, 进行下一次循环 function test() { $start = microtime ( true ); // 程序开始时间 // 一定要加true !!! // 一定要加true !!! // 一定要加true !!! $array = array (); // 存放质数 for ( $i =2; $i < 40001; $i ++ ) { $mark = 0; // 是否质数的标记 0质数, 1非质数 for ( $j =2; $j < $i ; $j ++ ) { if (( $i % $j ) === 0 ) { $mark = 1; // 有能整除的就说明不是质数, 退出本次循环 break ; } } if ( $mark != 1 ) { $array [] = $i ; // 存放质数 } } echo "<pre>" ; print_r ( $array ); echo "<br>" ; echo microtime ( true )- $start ;

堆和堆排序

空扰寡人 提交于 2021-01-22 00:41:48
堆和优先队列 普通队列:FIFO,LILO 优先队列:出队顺序和入队顺序无关,和优先级相关。一个典型应用就是操作系统中。动态选择优先级高的任务执行 堆的实现 最典型的堆就是二叉堆,就像是一颗二叉树。这个堆的特点,下图可以看出: 这里以最大堆为例, ,每一个节点都不大于其父亲节点。另外,堆必须是一颗完全二叉树,正因为此,我们可以使用数组来存储二叉堆如下图所示,给二叉堆自上而下,自左到右表上序号, 由图中节点序号,可以看出,如果某个节点的序号为k,则其左子节点的序号是2*k,右子节点的序号是2*k+1,这里,与通常我们数组的规定不同,根节点是从1开始的,不是0,这也是堆的经典实现方式。不过从0开始标定,也会有类似性质,只是常数的变化。 下面就要实现最大堆,做成一个MaxHeap 类,最大堆中要存储数据,为了通用性,将这个类做成一个模板类。这个最大堆首先得有一个存储数据的数组,在用户定义之前,我们不知道数组的大小,所以该数组是一个指针类型,相应的会在构造函数中初始化该数组。还需要一个int型的size来表示堆中元素数量。所以堆的基本框架如下: 1 template<typename Item> 2 class MaxHeap{ 3 private : 4 Item* data; 5 int count; 6 private : 7 int shiftDown( int k){ 8 9 }

使用nginx进行负载均衡配置

有些话、适合烂在心里 提交于 2021-01-21 19:19:51
在日常项目中,在进行一个服务多台机器部署时,会碰到一个域名或访问地址对外,但是实际上内部N台服务器的情况。这时可以采用简单的负载均衡配置,以nginx为例。 具体配置如下: `upstream mark-server{ server localhost:8081 weight=1; server localhost:8082 weight=2; server xxxxx; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://mark-server; proxy_redirect default; } }` 其中,upstream节点是定义负载均衡时的服务器列表,在该例中有两台服务器,分别对应了不同的权重,这样每当请求过来的时候,服务器会通过hash的方式来决定访问哪一台服务器。 另外要注意的一点就是,proxy_pass的配置,此处对应upstream后面的名称。 在upstream节点还可以指定具体负载均衡的策略,如ip_hash、least_conn、fair等,具体如: upstream mark-server{ ip_hash; server localhost

考研英语难点浅析及建议

纵然是瞬间 提交于 2021-01-20 05:14:01
一、扩大英语词汇量 名词 形容词(-al) 动词(-ize) 名词(-ation) industry(工业) industrial(工业的) industrialize(使工业化) industrialization(工业化) 前缀 eco- ecosystem(生态系统) ecomass(生物量) 二、夯实语法基础知识 常见的语法现象:如虚拟语气、倒装、主动语态、被动语态、省略句等。 英语中可以充当定语的成分比较复杂, 如名词, 形容词, 形容词性物主代词, 介词短语, 非谓语动词中的分词 (现在分词与过去分词) , 动名词, 动词不定式及定语从句等,定语又分为前置与后置定语, 后置定语通常由分词短语, 动词不定式短语及定语从句充当。 英语中可充当状语成分的包括:副词, 介词短语, 分词短语 (现在分词, 过去分词) , 独立主格结构, 状语从句等, 状语从句又可细分为:时间, 地点, 方式, 原因, 结果, 目的, 让步, 比较状语从句等。 三、突破长难句 He immediately found out what is wrong with the device which he bought from the supermarket last week with Mark who introduced it to him.这句话包含了四个谓语动词, 分别为found, is

精彩回顾:2020年自动化软件测试质量峰会

三世轮回 提交于 2021-01-19 14:37:19
本文纯属信息共享 ,因为之前参加了一次ASTQ峰会,也算是2020年中比较盛大的一场自动化软件测试业界的交流展示会,会中听到各行各业的大师们关于自己的 行业困境和自动化测试应用故事 的真实讲述,特别有趣,对我来说也挺有一些触动的,所以一直想要记录下来。 2020年11月17日,Parasoft举办了有史以来第一次2020年自动软件测试和质量(ASTQ)峰会,展示了行业领导者如何解决实际软件质量问题。对于软件测试人员和管理人员来说,这是一个很好的在线活动,可以从真实的组织中听到第一手的信息,了解他们如何解决软件测试中的实际挑战。特别有趣的是,除了一位行业分析师之外,所有的演讲都是由实际的软件人进行的,他们的工作是为了使他们的软件更好。 他们的活动主持人曾经跟我们讲述过,他的经历非常有趣。他们把每个演讲限制在15分钟内,这样每个演讲者就可以快速地讲到最重要的想法。在每个环节的最后还有一个简短的Q & A。 为了不用在会议上花费太多时间,所以他们努力寻找最有趣的演讲者,他们的故事最吸引人,也可以帮助其他人解决他们组织中的类似问题。让他们快速地让你获得最大的价值。演讲者涵盖了单元测试、API测试、测试数据管理和服务虚拟化等主题。 会议亮点 让我们来看看一些亮点。所有的课程都是在线的,如果你错过了现场活动。你可以根据自己的时间安排和需求,按照任何顺序点播观看每个环节。 第一讲

亿级大表在线不锁表变更字段与索引

自古美人都是妖i 提交于 2021-01-18 10:46:44
摘要: 在业界中有一个比较成熟的工具,针对大表的场景,可以在线进行Alter变更,且不会出现锁表的风险。除此之外,它还有其他的一些优点,让我们开始探索吧。 背景 大家在日常工作中,往往需要对数据库的表结构做变更,一般涉及到增删字段,修改字段属性等ALTER的操作。然而,在大表场景下,特别是千万级、亿级的大表,如果处理不当。这些操作往往会引发锁表的巨大隐患,特别是在生产环境中,一旦在变更表结构过程中,出现了长时间锁表,会导致用户产生的数据长时间无法正常变更到表中,进而导致服务功能异常,结果将是灾难性的。 一般执行这种Alter类型的变更,我们可能有以下的想法: 1、停服, 在停服期间做表结构的变更,自然就可以防止对用户产生影响。但是,很多场景是不允许停服的。并且如果表的数据量达到上亿,那么需要停服时间可能需要十几个小时,甚至更长,这是极不现实的; 2、凌晨执行, 在用户较少的时间段内,做变更,尽量减少对用户产生影响。但是如果出现锁表的话,万一有用户使用服务,服务将不可用; 3、使用换表, 但是缺点是复制数据到新表期间,如果用户在这期间做了update或delete操作,且数据发生在已经复制完成的部分,那么将无法感知到这部分数据,导致丢失掉用户的操作数据,风险太大; 4、使用存储过程, 缺点是执行时间会很久,且有可能影响到用户的DDL操作。因为为了防止每次循环修改时,锁住太多数据行

Java 迭代接口:Iterator、ListIterator 和 Spliterator

£可爱£侵袭症+ 提交于 2021-01-15 19:10:51
1. 简介 当我们使用 for 或 while 循环来遍历一个集合的元素, Iterator 允许我们不用担心索引位置,甚至让我们不仅仅是遍历一个集合,同时还可以改变它。例如,你如果要删除循环中的元素,那么 for 循环不见得总是可行的。 结合自定义的迭代器,我们可以迭代更为复杂的对象,以及向前和向后移动,并且知晓如何利用其优势也将变得非常清楚。 本文将深入讨论如何使用 Iterator 和 Iterable 接口。 2. Iterator() Iterator 接口用于迭代集合中的元素( List , Set 或 Map )。它用于逐个检索元素,并在需要时针对每个元素执行操作。 下面是用于遍历集合与执行操作的方法: .hasNext() :如果还没有到达集合的末尾,则返回 true ,否则返回 false .next() :返回集合中的下一个元素 .remove() :从集合中移除迭代器返回的最后一个元素 .forEachRemaining() :按顺序为集合中剩下的每个元素执行给定的操作 首先,由于迭代器是用于集合的,让我们做一个简单的包含几个元素的 ArrayList : List<string> avengers = new ArrayList<>(); // Now lets add some Avengers to the list avengers.add("Ant

深入理解 Java 垃圾回收机制

拈花ヽ惹草 提交于 2021-01-15 06:56:59
http://www.cnblogs.com/andy-zcx/p/5522836.html 深入理解 Java 垃圾回收机制 一:垃圾回收机制的意义 java 语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存; 内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构的一般情况下,java的内存泄露表现为一个内存对象的生命周期超出了程序需要它的时间长度,我们有是也将其称为“对象游离”; 二:垃圾回收机制的算法 java语言规范没有明确的说明JVM 使用哪种垃圾回收算法,但是任何一种垃圾回收算法一般要做两件基本事情:(1)发现无用的信息对象;(2)回收将无用对象占用的内存空间。使该空间可被程序再次使用。 1。引用计数法(Reference Counting Collector) 1.1:算法分析: 引用计数算法是垃圾回收器中的早起策略,在这种方法中,堆中的每个对象实例都有一个引用计数器,点一个对象被创建时,且该对象实例分配给一个变量,该变量计数设置为1 ,当任何其他变量赋值为这个对象的引用时,计数加1 ,(a=b