算法机ASM和算法流程图ASMc
来源:互联网 发布:mac的关闭快捷键 编辑:程序博客网 时间:2024/05/16 01:46
ASMc的例子是一个用流水线的方式将8比特字节流连续的装配成16比特字的抽取器(decimator)模块的ASMD编码。
图 算法机例子,2:1总线抽取器decimator:
图 使用ASMD建模如下,由控制器和数据通道组成的ASMD:
图 总线抽取器的算法流程图ASMc:
总线抽取器的Verilog HDL代码:
module decimator(clk,rst_n,data,q); input clk, rst_n;input [7:0] data;output reg [15:0] q; reg load_p, load_q ;reg [7:0] p1, p0;reg [1:0] state;localparam s0=2'b00;localparam s1=2'b01;localparam s2=2'b10;always @ (posedge clk ) begin :F1 if(!rst_n) p1<=0;else if(load_p) p1<=data; end always @ (posedge clk ) begin : F0 if(!rst_n) p0<=0; else if(load_p) p0<=p1; end always @ (posedge clk ) begin : Q if(!rst_n) q<=0; else if(load_q) q<={p1,p0}; end always @(posedge clk) begin : ASM if(!rst_n) begin load_p <= 0 ; load_q <= 0 ; state <= s0 ; end else case (state) s0: begin load_p <= 1; state <= s1 ; end s1:begin load_p<=1; load_q<=0; state <= s2 ; end s2:begin load_p <=1; load_q <= 1; state <=s1; end endcase end endmodule
总线抽取器的Testbench:
`timescale 1ns/1psmodule decimator_tb; reg clk, rst_n; reg [7:0] data; wire [15:0] q; decimator dut(.clk(clk),.rst_n(rst_n),.data(data),.q(q)); initial begin clk =1 ; rst_n=0; data = 0; #200 @ (posedge clk) rst_n =1 ; #200 forever begin @ (posedge clk) data = 8'h10; @ (posedge clk) data = 8'h32; @ (posedge clk) data = 8'h54; @ (posedge clk) data = 8'h76; @ (posedge clk) data = 8'h98; @ (posedge clk) data = 8'hba; @ (posedge clk) data = 8'hdc; @ (posedge clk) data = 8'hfe; end end always #10 clk =~clk ; initial #2000 $stop; endmodule
总线抽取器的Modelsim仿真:
输出数据设置为16进制。
阅读全文
0 0
- 算法机ASM和算法流程图ASMc
- 算法和流程图
- 流程图与算法
- 银行家算法程序流程图
- 用流程图表示算法
- latex算法流程图
- TLD算法流程图
- ASM算法介绍
- ASM算法简介
- ASM算法学习
- 银行家算法流程图+C++源代码
- java 第一天---算法/ 流程图
- 算法常用的工具---流程图
- 给定以下XML文件,完成算法流程图
- 用N-S流程图表示算法
- 在latex中画算法流程图
- 给定以下XML文件,完成算法流程图。
- 【数据结构与算法】 FIND!流程图绘制工具
- Leetcode: 301.Remove Invalid Parentheses
- 2017暑期工程训练day1_leetcode2_Add Two Numbers
- python值和引用——【LeetCode】RotateArray
- Python类或者对象的属性设计
- tomcat查看GC信息
- 算法机ASM和算法流程图ASMc
- Eclipse将控制台输出信息保存为文件
- python 自动安装缺少模块
- Laravel基础-两种方式引入公共文件
- Round 422 C. Hacker, pack your bags!
- Delphi 获取文件类型函数
- 深入了解JavaScript编程语言
- 在字符串中找出连续最长的英文字符串
- ddf