ece241专题

Exams/ece241 2014 q7a(Counter1-12)

项目场景: Design a 1-12 counter with the following inputs and outputs: Reset Synchronous active-high reset that forces the counter to 1 Enable Set high for the counter to run Clk Positive edge-triggered

HDLbits:Exams/ece241 2013 q4

本题是一个实际的应用问题,一个水库,有三个传感器S1、S2、S3提供输入,经过控制电路,四个输出给到四个流量阀。也就是说,本题想让我们根据水位去控制流量阀。 问题的关键在于把什么抽象成state,答案是:水位的高低。根据题意,我们知道水位高低有四种状态,可以用传感器检测。 在第一个always块中,把三个传感器输入的值,作为next_state。 在第二个always块中,用next_sta

HDLbits:Exams/ece241 2013 q4

本题是一个实际的应用问题,一个水库,有三个传感器S1、S2、S3提供输入,经过控制电路,四个输出给到四个流量阀。也就是说,本题想让我们根据水位去控制流量阀。 问题的关键在于把什么抽象成state,答案是:水位的高低。根据题意,我们知道水位高低有四种状态,可以用传感器检测。 在第一个always块中,把三个传感器输入的值,作为next_state。 在第二个always块中,用next_sta

HDLbits: ece241 2014 q7b

题目要求用10进制的BCD计数器来构造1000计数,其实也是将1000hz的时钟信号改造成1hz,我们首先计算出10的三次方等于1000,需要三个10进制的计数器,去计999的中高低位。 最低位的计数器一直在对时钟信号计数,因此enable=1,中间位的计数器在最低位的计数器达到9时计数,因此enable=(Q1==9),最高位的计数器在中间位的计数器和最低位的计数器同时达到9时才计数。 mo

HDLbits: ece241 2013 q12 // Exams/m2014 q4k

两道题目,有一样的问题: 第一道:ece241 2013 q12 下面的代码错误,一直没看出来哪里有问题: module top_module (input clk,input enable,input S,input A, B, C,output Z ); reg [7:0] q;dff dff_1(clk,enable,S,q[0]);dff dff_2(clk,enable,q[0]

HDLbits: ece241 2014 q7a

题目的意思是子模块四位二进制改成十二进制计数,并且是1-12。 因此初始的加载数据肯定为c_d = 1,关键点在于什么时候load,即load的条件,首先当子模块输出达到12时(且此时enable要是1)肯定要load,用Q=12&enable条件判断,其次reset置位的时候也要load用reset=1条件判断 module top_module (input clk,input reset

HDLbits: ece241 2014 q7b

题目要求用10进制的BCD计数器来构造1000计数,其实也是将1000hz的时钟信号改造成1hz,我们首先计算出10的三次方等于1000,需要三个10进制的计数器,去计999的中高低位。 最低位的计数器一直在对时钟信号计数,因此enable=1,中间位的计数器在最低位的计数器达到9时计数,因此enable=(Q1==9),最高位的计数器在中间位的计数器和最低位的计数器同时达到9时才计数。 mo