HDLBits练习——Count10

Build a decade counter that counts from 0 through 9, inclusive, with a period of 10. The reset input is synchronous, and should reset the counter to 0.
在这里插入图片描述


前言

两个输入,包括一个时钟clk,一个高电平有效的同步置位信号reset;一个输出信号q。

代码

module top_module (
    input clk,
    input reset,       
    output [3:0] q);
    always@(posedge clk)begin
        if(reset) q<=4'd0;
        else if(q<4'd9) q<=q+1'b1;
        else q<=4'd0;
    end
endmodule

总结

计数范围小于实际计值范围,即在if的循环内添加一个else if条件即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
影评案例是一个很好的Spark练习案例,可以帮助你熟悉Spark的基本操作和数据处理。下面我为你提供一个简单的影评案例,希望能帮助到你。 1. 数据准备 我们需要一份电影评分数据集,可以从MovieLens网站上下载到,这里我们使用ml-latest-small数据集,该数据集包含了用户对电影的评分、电影信息和用户信息等数据。 2. 数据处理 我们需要将数据导入到Spark中,并进行数据预处理。首先,我们需要将数据转换成DataFrame类型,然后对数据进行清洗和整理,例如去掉重复数据、缺失数据处理等。 以下是一个简单的处理代码: ``` from pyspark.sql.functions import col # 读取数据 ratings = spark.read.csv("ratings.csv", header=True, inferSchema=True) # 去重 ratings = ratings.dropDuplicates() # 处理缺失值 ratings = ratings.dropna() # 转换数据类型 ratings = ratings.withColumn("userId", col("userId").cast("int")) ratings = ratings.withColumn("movieId", col("movieId").cast("int")) ratings = ratings.withColumn("rating", col("rating").cast("double")) # 查看数据 ratings.show() ``` 3. 数据分析 我们可以使用Spark进行各种数据分析操作,例如对电影评分进行统计,找出评分最高的电影,计算每个用户的平均评分等。 以下是一个简单的分析代码: ``` from pyspark.sql.functions import desc, avg # 统计每个电影的评分数量和平均评分 movie_ratings = ratings.groupBy("movieId").agg({"rating": "count", "rating": "avg"}) movie_ratings = movie_ratings.withColumnRenamed("count(rating)", "num_ratings").withColumnRenamed("avg(rating)", "avg_rating") # 找出评分最高的电影 top_movies = movie_ratings.orderBy(desc("avg_rating")).limit(10) # 计算每个用户的平均评分 user_ratings = ratings.groupBy("userId").agg(avg("rating")) # 查看结果 top_movies.show() user_ratings.show() ``` 4. 结果展示 最后,我们可以将结果保存到文件或数据库中,或者使用可视化工具展示结果。 以上是一个简单的Spark影评案例,希望能够帮助到你。如果你想深入学习Spark,可以尝试更复杂的案例和练习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值