OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5676|回复: 0

cpld -verilog模拟读写寄存器 异常

[复制链接]

2

主题

9

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-7-3
在线时间
1 小时
发表于 2016-2-16 17:33:41 | 显示全部楼层 |阅读模式
1金钱
/*
任务:根据上一级接收的命令和数据,若接收到的命令
      是0x10、0x11、0x12,分别‘写’电源、控制、
      使能字,若接收到的命令是0x20、0x21、0x22、
      0x23、0x2F,分别‘读’电源、控制、使能字、
      外部状态,版本号
问题:单独‘写’电源、控制、使能字时,输出正常,
      但是‘读’电源、控制、使能字时,电源、控
      制、使能字就发生了改变,并且读取到的字也
      随之改变。

      例如,发送 rxcmd_reg=0x10,rxdata_reg=0x55 时,
      power的输出确实是0x55,但是发送rxcmd_reg=0x20,
      rxdata_reg=0x00 时,power变成0,txdata_reg输出
      也变成0。

      源码的部分如下,请求大神帮助!!!
      跪谢!!!!!
**/

module usart_test(rxcmd_reg,rxdata_reg,status,power,control,enable,txcmd_reg,txdata_reg);

        input[7:0] rxcmd_reg;//串口接收到的命令
        input[7:0] rxdata_reg;//串口接收到的命数据
       
        input[7:0] status;//连接外部状态

        output[7:0] power;//电源字
        output[7:0] control;//控制字
        output[7:0] enable;//使能字
        output[7:0] txcmd_reg;//发送命令
        output[7:0] txdata_reg;//发送数据
       
        reg[7:0] power;//电源字
        reg[7:0] control;//控制字
        reg[7:0] enable;//使能字

        reg[7:0] txdata_reg;//发送数据
       
        assigne txcmd_reg=rxcmd_reg;//发送命令 = 接收命令
       
        always@(rxcmd_reg)begin
            case(rxcmd_reg)
                8'h10:power<=rxdata_reg;//写电源字
                8'h11:control<=rxdata_reg;//写控制字
                8'h12:enable<=rxdata_reg;//写使能字
                                       
                8'h20:txdata_reg<=power;//读电源字
                8'h21:txdata_reg<=control;//读控制字
                8'h22:txdata_reg<=enable;//读使能字
                8'h23:txdata_reg<=status;//读外部状态
                8'h2F:txdata_reg<=8'h20;//读版本号
                default:txdata_reg<=8'hE0;//错误命令               
            endcase
        end

endmodule

无标题.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 03:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表