计算机系统的状态机模型 verilog硬件描述语言

状态机:由激励事件从初态到次态
简易计算机系统,无操作系统
程序->指令->CPU
main函数不是第一条语句,在main之前也有操作
执行环境会调用一个函数来调用main函数,宿主环境hosted下,调用的就是main函数
CPU是个状态机
CPU = 数字逻辑电路 = 组合逻辑电路+时序逻辑电路
激励时间=组合逻辑;状态集合=时许逻辑
指令集 是软件与硬件的接口
是一本手册规范,定义了CPU执行指令的行为
指令集加设计=芯片
程序如何在计算机上运行
编译:将C程序的状态机翻译成为指令集的状态机
CPU结构设计的工作:根据指令集的状态机用电路实现CPU的状态机

verilog硬件描述语言
wire型 表示的是连线,仿真波形不可见
reg型 占用仿真环境的物理内存,会显示在仿真波形中
凡是在always initial 语句中赋值的一定是reg
凡是在assign语句赋值的变量,一定是wire
只能用if else assign always case这四个
assign 是信号的连接 assign a = d a与d连接
always 语句 通常写法是always @ (*) 表示所有的敏感列表,只要信号变换,执行always下面的语句
always @ (posedge clk or negedge rst_n)表示只有在clk上升沿或者rst_n下降沿执行代码 时序逻辑
电路结构描述方法
不同代码对应不同硬件,考虑性能有限还是面积有限;不能有锁存器Latch
因为锁存器在高电平期间将信号完全传输,有毛刺也会传输,如何防止Latch 就是写完if else case default。写触发器的时候, 需要<= 表示时钟延迟一个周期。组合逻辑用 “=”,时序逻辑用“<=",时序逻辑还需要复位。
存储器:定义:reg[datawidth] MemoryName [addresswidth] 例如
reg [7:0] RAM8
64 [0:63] 定义了一个数据位宽为8bit 地址位宽为64bit
如果要使用存储单元,只能先将存储单元的值赋个寄存器,然后在该寄存器进行位操作

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值