m0_52795428 2022-05-14 05:54 采纳率: 50%
浏览 40
已结题

需要一段testbench文件做modelsim的测试

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
module elock(clk,k1,k2,k3,k4,k5,k6,k7,k8,k9,Rst,ledsel,leddata);
    input clk,k1,k2,k3,k4,k5,k6,k7,k8,k9,Rst;
    output ledsel;
    output [7:0] leddata;
    reg [7:0] leddata;
    reg [1:0] count;
    reg [3:0] count1;
    reg [2:0] state,next_state;
    reg en,carry_out,op,error;
    reg k11,k22,k33,k44,k55,k66,k77,k88,k99,rst;

assign ledsel=1'b1;

always@(posedge clk)
begin
    if(k1==1'b1)     
       k11<=1'b1;
    else
       k11<=1'b0;

    if(k2==1'b1)
       k22<=1'b1;
    else
       k22<=1'b0;

    if(k3==1'b1)
       k33<=1'b1;
    else
       k33<=1'b0;

    if(k4==1'b1)
       k44<=1'b1;
    else
       k44<=1'b0;

    if(k5==1'b1)
       k55<=1'b1;
    else
       k55<=1'b0;

    if(k6==1'b1)
       k66<=1'b1;
    else
       k66<=1'b0;

    if(k7==1'b1)
       k77<=1'b1;
    else
       k77<=1'b0;

    if(k8==1'b1)
       k88<=1'b1;
    else
       k88<=1'b0;

    if(k9==1'b1)
       k99<=1'b1;
    else
       k99<=1'b0;

    if(Rst==1'b1)
       rst<=1'b1;
    else
       rst<=1'b0;
    end

always@(posedge clk)
    begin
      state<=next_state;
    end

always@(state,en,k11,k22,k33,k44,k55,k66,k77,k88,k99,rst)
    begin
    if(rst)
      begin
          next_state<=3'b000;
          op<=1'b0;
      end

    case(state)
    3'b000:begin
                 if(k11&en)
                        next_state<=3'b001;
                 else //if((k22|k33|k44|k55|k66|k77|k88|k99))
                           //error<=1'b1;
                        //else
                              next_state<=3'b000; 
            end
    3'b001:begin
                 if(k99&en)
                         next_state<=3'b010;
                 else //if((k11|k22|k33|k44|k55|k66|k77|k88))
                          // error<=1'b1;
                         //else
                           next_state<=3'b001;
            end
    3'b010:begin
                 if(k88&en)
                          next_state<=3'b011;
                 else //if((k11|k22|k33|k44|k55|k66|k77|k99))
                         //  error<=1'b1;
                         //else
                           next_state<=3'b010;
            end
    3'b011:begin
                 if(k88&en)
                          next_state<=3'b100;
                 else// if((k11|k22|k33|k44|k55|k66|k77|k99))
                        //  error<=1'b1;
                        //else
                           next_state<=3'b011;
            end
    3'b100:begin
                 if(k33&en)
                         next_state<=3'b101;
                 else //if((k11|k22|k44|k55|k66|k77|k88|k99))
                        //  error<=1'b1;
                        // else
                           next_state<=3'b100;
            end
    3'b101:op<=1'b1;
    default:next_state<=3'b000;
    endcase
    end

always@(posedge clk)
    begin
      if(rst)
           count1<=4'b0000;
      else if(op==1'b1)
             count1<=4'b1111;
              else if(en==1'b0)
                       count1<=4'b1110;
                      else if(en&(k11|k22|k33|k44|k55|k66|k77|k88|k99))
                              count1<=count1+4'b0001;
    end

always@(count1)
    if(count1<=4'b0101)
         en<=1'b1;
    else
        en<=1'b0;

always@(count1)
    case(count1)
     4'd0:leddata<=~8'b11000000;  
     4'd1:leddata<=~8'b11111001;  
     4'd2:leddata<=~8'b10100100;  
     4'd3:leddata<=~8'b10110000;
     4'd4:leddata<=~8'b10011001;
     4'd5:leddata<=~8'b10010010;
     4'd6:leddata<=~8'b10000011;
     4'd7:leddata<=~8'b11111000;
     4'd8:leddata<=~8'b10000000;  
     4'd9:leddata<=~8'b10011000;  
     4'b1111:leddata<=8'b0111_0011; 
     4'b1110:leddata<=8'b0111_1001; 
     default:leddata<=~8'b11000000;
    endcase
endmodule

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

展开全部

  • 写回答

1条回答 默认 最新

  • 树下等苹果 2022-05-14 07:16
    关注

    能文字表述一下设计的功能吗,以及要测哪些功能

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 已采纳回答 5月16日
  • 创建了问题 5月14日

悬赏问题

  • ¥15 vscode开发micropython,import模块出现异常
  • ¥20 Excel数据自动录入表单并提交
  • ¥30 silcavo仿真,30分钟,只需要代码
  • ¥15 FastReport 怎么实现打印后马上关闭打印预览窗口
  • ¥15 利用3支股票数据估计其均值和方差的95%置信区间。
  • ¥15 微信小程序运行一项功能时,弹出未知错误弹框,检查代码没有问题
  • ¥15 ATAC测序生成self-pseudo replicates之前是否要进行去线粒体reads
  • ¥15 python模糊字匹配函数问题
  • ¥20 谁刷目标页面的uv记录器上数据,数据只记录跳转的数值
  • ¥30 数据库软件的安装方法
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部