num

为什么有些寄存器值的更新会延迟一个时钟周期变化

点点圈 提交于 2020-03-21 12:49:37
module counter( input clk, input rst_n, output reg[7:0] data_out ); //reg define reg [3:0] cnt; //假设计数器每计数十次,溢满一次 reg [2:0] lsm_cnt; //计数器每溢满一次,lsm_cnt寄存器自加1 //parameter [7:0] num = 8'b10110101;此句和下面两句功能等效 wire [7:0] num; //定义一个八位数据 assign num = 8'b10110101; initial data_out <= 8'b0000_0000; //如果此处没有给初值,那么在仿真中不知道每一位是0还是1,data_out的值将呈现高阻态为8‘dX, //只有后面case语句执行8次将寄存器的每一位都写入值后,仿真中data_out才有值显示出来 always@(posedge clk or negedge rst_n)begin if(!rst_n) cnt <= 4'd0; else if(cnt < 9) //如果是发送数据则需要一个标志位去启动计数器开始计数 cnt <= cnt + 1'b1; else cnt <= 4'd0; end always@(posedge clk or negedge rst_n)begin if(!rst_n

MongoDB学习day06--高级查询aggregate聚合管道和nodejs操作aggregate

风格不统一 提交于 2020-03-21 10:32:20
一、MongoDB聚合管道(Aggregation Pilpeline) 使用聚合管道可以对集合中的文档进行变换和组合。 主要功能:表的关联查询、数据统计 二、aggregate 管道操作符与表达式 管道操作符: sql 和 nosql 对比: 管道表达式: 管道操作符作为 “ 键 ”, 所对应的 “ 值 ” 叫做管道表达式。 例如 {$match:{status:"A"}} , $match 称为管道操作符, 而 status:"A" 称为管道表达式, 是管道操作符的操作数 (Operand) 。 三、数据模拟: db.order.insert({"order_id":"1","uid":10,"trade_no":"111","all_price":100,"all_num":2}) db.order.insert({"order_id":"2","uid":7,"trade_no":"222","all_price":90,"all_num":2}) db.order.insert({"order_id":"3","uid":9,"trade_no":"333","all_price":20,"all_num":6}) db.order_item.insert({"order_id":"1","title":"商品鼠标 1","price":50,num:1}) db

HDOJ HDU 1982 Kaitou Kid - The Phantom Thief(1) ACM 1982 IN HDU

余生颓废 提交于 2020-03-21 09:01:45
//MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址 : http://acm.hdu.edu.cn/showproblem.php?pid=1982 PE了N次, 很纠结的一个题........ 题目如下 : Problem Description Do you know Kaitou Kid? In the legend, Kaitou Kid is a master of disguise, and can take on the voice and form of anyone. He is not an evil person, but he is on the wrong side of the law. He's the very elusive phantom thief who never miss his prey although he always uses word puzzles to announce his targets before action. You are the leader of a museum. Recently, you get several priceless jewels and plan to hold an exhibition. But at the moment, you

2019-05-27 Java学习日记 day17

こ雲淡風輕ζ 提交于 2020-03-21 08:19:13
Hashset集合 存储字符串并遍历 import java.util.HashSet; public class dmo1_hashset { //set集合,无索引,不可以重复,无序(存取不一致) public static void main(String[] args) { HashSet<String> hSet=new HashSet<>(); //创建hashset对象 boolean b1=hSet.add("a"); boolean b2=hSet.add("a"); //当向set集合中存储重复元素的时候返回为false hSet.add("b"); hSet.add("c"); hSet.add("d"); System.out.println(hSet); //hashset的继承体系中有重写toString方法 //System.out.println(b1); //System.out.println(b2); for (String string : hSet) { //只要能用迭代器迭代的,就可以使用增强for循环遍历 System.out.println(string); } } } 案例 存储自定义对象保证元素唯一性 Hashset原理   我们使用set集合都是需要去掉重复元素的,如果在存储的时候逐个equals()比较,效率较低

2019-05-26 Java学习日记之Set集合

百般思念 提交于 2020-03-21 08:18:48
HashSet存储字符串并遍历: package com.set; import java.util.HashSet; public class Demo1 { /** * Set集合,无索引,不可以重复,无序(存取不一致) */ public static void main(String[] args) { HashSet<String> hs = new HashSet<>(); //创建HashSet对象 boolean b1 = hs.add("a"); boolean b2 = hs.add("a"); //当向set集合中存储重复元素时返回的是false hs.add("b"); hs.add("e"); hs.add("d"); System.out.println(hs); //HashSet的继承体系中有重写toString方法 System.out.println(b1); System.out.println(b2); for (String string : hs) { //只要能用迭代器的,就可以使用增强for循环 System.out.println(string); } } } HashSet存储自定义对象保证元素唯一性: public static void demo2() { HashSet<Person> hs = new HashSet<>(

小和问题与荷兰国旗问题

删除回忆录丶 提交于 2020-03-21 06:43:21
小和问题 在一个数组中, 每一个数左边比当前数小的数累加起来, 叫做这个数组的小和。 求一个数组的小和。例子: [1,2,3,4] 1左边比1小的数, 没有; 2左边比2小的数, 1; 3左边比3小的数, 1, 2; 4左边比4小的数, 1,2,3,; 所以小和为1+1+2+1+2+3=10 思路:归并排序的思想,在将两个数组merge的过程中统计右边有多少个数大于左边的这个数,然后乘于个数最后相加即可. public class work1 { public static int mergeSort(int[] arr, int left, int right) { if(left == right) return 0; int mid = left + (right - left) / 2; return mergeSort(arr, left, mid) + mergeSort(arr, mid+1, right) + merge(arr, left, mid, right); } public static int merge(int[] arr, int left, int mid, int right) { int[] help = new int[right - left +1]; int i = 0; int res = 0; int p1 = left; int

【转】latexCommand

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-21 05:52:21
来源: LaTeX:Commands This page introduces various useful commands for rendering math in LaTeX, as well as instructions for building your own commands. Contents 1 Subscripts and Superscripts 2 Math Commands 2.1 Fractions 2.2 Radicals 2.3 Sums, Products, Limits and Logarithms 2.4 Mods 2.5 Combinations 2.6 Trigonometric Functions 2.7 Calculus 2.8 Overline and Underline 3 LaTeX 3.1 Other Functions 4 Matrices 5 Text Styles in Math Mode 6 How to Build Your Own Commands 7 See Also Subscripts and Superscripts Make exponents in LaTeX with ^ and subscripts with _ as shown in the examples below. Symbol

1-5 最大间隙问题

好久不见. 提交于 2020-03-21 04:51:57
问题描述: 最大间隙问题:给定n 个实数x1 , x2 , , xn ,求这n 个数在实轴上相邻2 个数之间的最大差值。假设对 任何实数的下取整函数耗时O(1),设计解最大间隙问题的线性时间算法。 编程任务: 对于给定的n 个实数 x1 , x2, ……, xn,编程计算它们的最大间隙。 数据样例: 输入数据: 5 2.3 3.1 7.5 1.5 6.3 输出数据: 3.2 解题思路: 1,比较直接的方法是先对n个数进行排序,最快时间为nlogn,然后遍历数据顺便计算每两个数据之间的间隔 该方法不是线性时间 2,想要用线性时间解决该问题可以使用组合数学中学到的鸽巢原理,将n个数放入n-1个桶中,每个桶大小相同为(max-min)/(n-1)且有一个上界和一个下界,第i个桶的上界为第i+1个桶的下界; 由于除去最小数字和最大数字还剩下n-2个数字,因此至少有一个桶是空的, 因为最小数字一定是第1个桶的下界,最大数字一定是第n-1个桶的上界; 初始状态每个桶的上下界分别为[max,min],遍历所有数字(O(n)时间),将每个数字放入到第对应的桶中,并更新桶的上下界,例如有一个4-6的桶初始界为[8,2],只有5落入该桶,则桶的上下界更新为[5,5],并设置计数器count记录每个桶中的数字个数; 然后,一次线性扫描即可得到最大间隙。 源代码如下: #include <stdio.h>

[golang] channel通道

时光总嘲笑我的痴心妄想 提交于 2020-03-21 04:29:53
说明 channel是go当中的一个核心类型,可以看做是管道。并发核心单元可以通过channel进行数据的发送和接收,从而实现通信。 在go中,channel是一种数据类型,主要被用来解决协程的同步问题以及协程之间数据共享(数据传递)的问题。 go当中的goroutine运行在相同的地址空间,因此访问共享内存地址必须做好同步,goroutine奉行通过通信来共享内存,而不是共享内存来通信。 引用类型channel可用于多个goroutine通讯,在其内部实现了同步,确保并发安全。 定义channel变量 在go中,channel也一个对应make创建的底层数据结构的 引用 。 当我们复制一个channel或者用于函数参数传递的时候,我们只是拷贝了一个channel引用,因此调用者和被调用者将引用同一个channel对象,和其他的引用类型一样,channel的零值也是nil。 定义一个channel的时候,也需要定义发送到channel的值的类型,channel可以使用内置的make函数来进行创建。 chan是创建channel使用的关键字,Type代表着channel收发数据的类型。 make(chan Type) // 等价于make(chan Type,0) make(chan Type,capacity) 当 参数capacity= 0 时,channel 是无缓冲阻塞读写的

MATLAB之数学建模:深圳市生活垃圾处理社会总成本分析

风流意气都作罢 提交于 2020-03-21 03:50:51
MATLAB之数学建模:深圳市生活垃圾处理社会总成本分析 注:MATLAB版本--2016a,作图分析部分见 《MATLAB之折线图、柱状图、饼图以及常用绘图技巧》 一.现状模式下的模型 %第一题:建立总成本分析模型/年:按现状分析 % 总成本=直接成本 +经济技术成本 + 社会成本 function dataPro = Total_Cost_Analysis(year) %垃圾每年预测表:2017-2030 table = [ 6.4450e+06 6.8317e+06 7.2416e+06 7.6761e+06 7.9832e+06 8.3025e+06 8.6346e+06 8.9800e+06 9.3392e+06 9.6193e+06 9.9079e+06 1.0205e+07 1.0511e+07 1.0827e+07]; %垃圾总量每年数值(2017-2030) rubbish_quantity = table(year-2016); %将时间分期处理:2017-2020,2021-2025,2026-2030 switch year case { 2017,2018,2019,2020} %近期 rubbish_num_burn=215*10^4; rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;