Verilog学习笔记简单功能实现(四)...............译码器和编码器
这里以简单的3-8译码器和8-3编码器为例:
module decoder3_8(a,out);
input [:]a;
output [:]out;
assign out='b1<<a;/*把最低位的1左移in位(根据in口输入的值)并赋予out*/
endmodule
8-3编码器程序:
1)利用for循环
module encoder8_3(a,out,none_on);
input [:]a;
output [:]out;
output none_on;
reg [:]out;
reg none_on; //要在always块中赋值,必须为reg型数据 always @(a)
begin:local //这里必须要有定义顺序块的名字,因为后面要定义局部变量,有可能被实例化调用
integer i;
out=;
none_on=;
for(i=;i<;i=i+) //这里代表返回输入信号a的8位中,为1的最高位数,即高位优先编码;
begin //如果需要低位优先编码,只需要改成 for(i=7;i>=0;i=i-1)
if(a[i])
begin
out=i;
none_on=;
end
end
end
endmodule
2)利用?:三目运算符
module encoder8_3(a,b,c,d,e,f,g,h,out1,out2,out0,none_on);
input a,b,c,f,d,e,g,h;
output out0,out1,out2,none_on;
wire [:]outvec; assign outvec=h?'b0111:g?4'b0110:f?'b0101:e?4'b0100:d?'b0011:c?4'b0010:b?'b0001:a?4'b0000:'b1000;
assign out0=outvec[];
assign out1=outvec[];
assign out2=outvec[];
assign none_on=outvec[];
endmodule
3)利用条件语句
module encoder8_3(a,b,c,d,e,f,g,h,out1,out2,out0,none_on);
input a,b,c,f,d,e,g,h;
output out0,out1,out2,none_on;
reg [:]outvec; always @(a or b or c or d or e or f or g or h)
begin
if(h) outvec='b0111;
else if(g) outvec='b0110;
else if(f) outvec='b0101;
else if(e) outvec='b0100;
else if(d) outvec='b0011;
else if(c) outvec='b0010;
else if(b) outvec='b0001;
else if(a) outvec='b0000;
else outvec='b1000;
end
assign out0=outvec[];
assign out1=outvec[];
assign out2=outvec[];
assign none_on=outvec[];
endmodule
Verilog学习笔记简单功能实现(四)...............译码器和编码器的更多相关文章
- Verilog学习笔记简单功能实现(八)...............同步FIFO
		
Part 1,功能定义: 用16*8 RAM实现一个同步先进先出(FIFO)队列设计.由写使能端控制该数据流的写入FIFO,并由读使能控制FIFO中数据的读出.写入和读出的操作(高电平有效)由时钟的上 ...
 - Verilog学习笔记简单功能实现(三)...............同步有限状态机
		
在Verilog中可以采用多种方法来描述有限状态机最常见的方法就是用always和case语句.如下图所示的状态转移图就表示了一个简单的有限状态机: 图中:图表示了一个四状态的状态机,输入为A和Res ...
 - Verilog学习笔记简单功能实现(二)...............全加器
		
先以一位全加器为例:Xi.Yi代表两个加数,Cin是地位进位信号,Cout是向高位的进位信号.列表有: Xi Yi Cin Sum Cout 0 0 0 0 0 0 0 1 1 0 ...
 - Verilog学习笔记简单功能实现(六)...............计数分频电路
		
在分频器电路中最重要的概念有两个:1)奇分频/偶分频:2)占空比. A)其中最简单的就是二分频电路,占空比为50%,其Verilog程序为 module half_clk(clr,clk_in,clk ...
 - Verilog学习笔记简单功能实现(五)...............序列检测设计
		
这里采用夏宇闻教授第十五章的序列检测为例来学习; 从以上的状态转换图可以写出状态机的程序: module seqdet(x,out,clk,rst); input x,clk,rst; output ...
 - Verilog学习笔记简单功能实现(一)...............D触发器
		
module D_flop(data,clk,clr,q,qb); input data,clk,clr; output q,qb; wire a,b,c,d,e,f,ndata,nclk; nand ...
 - Verilog学习笔记简单功能实现(八)...............异步FIFO
		
基本原理: 1.读写指针的工作原理 写指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0). 读指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0). ...
 - Verilog学习笔记简单功能实现(七)...............接口设计(并行输入串行输出)
		
利用状态机实现比较复杂的接口设计: 这是一个将并行数据转换为串行输出的变换器,利用双向总线输出.这是由EEPROM读写器的缩减得到的,首先对I2C总线特征介绍: I2C总线(inter integra ...
 - Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段
		
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段 代码工程地址: https://github. ...
 
随机推荐
- Atitit j2ee5 jee5 j2ee6 j2ee7 jee6 jee7 新特性
			
Atitit j2ee5 jee5 j2ee6 j2ee7 jee6 jee7 新特性 Keyword Java ee5 ,Java ee6,Java ee7 j2ee5 jee5 j2ee6 j2 ...
 - OutputCache属性详解(二)一 Location
			
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
 - 设置easyui input默认值
			
/*设置input 焦点*/ $(function () { //集体调用 $(".formTextBoxes input").each(function () { $(this) ...
 - 安装指定版本的cordova
			
安装指定版本的cordova 刚接触cordova看到教程肯定是直接 npm install -g cordova 然后下载个集成的adt 以为万事大吉,开始hello world 玩玩没有想到最新的 ...
 - Struts2学习笔记 - HelloWorld总结
			
相信网上已经有很多关于struts2的HelloWorld可参考,我这里就不重复了,没个学struts2的人都会做过很多个HelloWorld,而我这里就总结一下一个简单的HelloWorld 我在一 ...
 - ng-表单验证
			
表单验证<AngularJs> 常用的表单验证指令 1. 必填项验证 某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可: <input type ...
 - 30分钟全面解析-图解AJAX原理
			
先上原理图: 高清无码图在这里:点我查看大图!!! 背景: 1.传统的Web网站,提交表单,需要重新加载整个页面. 2.如果服务器长时间未能返回Response,则客户端将会无响应,用户体验很差. 3 ...
 - CSS学习目录
			
前面的话 CSS是前端工程师的基本功,但好多执迷于学习javascript的人的基本功并不扎实.可能一些人从w3school网站匆匆过了一遍,只是对CSS常用概念有一些表面上的理解,就一头扎进java ...
 - vs xamarin android StartActivity
			
跳转无需intent,直接给要跳转的activity的type就可以了 StartActivity(typeof(Login));
 - Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
			
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...