
这是一个 RAM的程序。
这里面用到了类似 数组 的概念。
reg[7:0] Memory [63:0]; 这个定义表示 64 个 8bits 数。
always @(posedge dataInterrupt)
begin
if(dataIn ==8'h30)
begin // 这个if 表示 输入数据为 8'h30 的时候,
memIndex<=0; // 地址为 0
Memory[0]<=8'hff; // 0地址存储的数据为 8'hff
end
else
begin
Memory[memIndex]<=dataIn; // 将输入数据写入对应的地址中
memIndex<=memIndex+1'b1; // 地址自增 1
if (memIndex == 63)
begin
memIndex<=63; // 写满了64个数据,就不动了,除非输入数据为 8'h30
end
end
end
assign dataOut = Memory[Address]; //这是读数据,将 address 地址对应的数据读出来。
不能。
单纯的Protesu仿真是不够的,因为Proteus库中缺少FPGA,只能退而求其次,Proteus中选择古老的MSI进行仿真,同时Diamond中进行Verilog设计,ModelSim中做功能仿真。
你 所谓的并行,是不是说将一串8位二进制码,如上图中x输入转换为并行
然后判断输入x是否等于预置值1010_1101?
还是题目中键4、3 并行输入信号•键 1、2 预置数据
每次并行检测2位,比如判断x输入两位是否等于10,后两位等于10,再两位等于11,最后两位等于01?
如果是这样,可以将x串行输入,进行个串并转换,例如用一个寄存器reg1[1:0]保存其值。
always @ (posedge clk or negedge rst)
if(!rst)
reg1 <= 2'h0;
else
reg1 <= {x, reg1[1]};
然后对比reg1值是否等于预置值。
仅供参考,谢谢
以上就是关于高悬赏,FPGA verilog程序求解释,速求!!!!!!!!!!!!全部的内容,包括:高悬赏,FPGA verilog程序求解释,速求!!!!!!!!!!!!、Verilog的程序可以用protues仿真吗、verilog HDL程序:序列检测器的设计【用串行和并行方式编写】等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)