逻辑设计工程师岗位职责

时间:2019-05-15 16:28:09下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《逻辑设计工程师岗位职责》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《逻辑设计工程师岗位职责》。

第一篇:逻辑设计工程师岗位职责

1.根据项目需求完成相应的PLD、FPGA程序设计、优化及调试等工作。

2.根据要求书写规范的编程手册、调测报告等文档。

3.配合硬件工程师进行调测。

第二篇:工程师岗位职责

工程师(助理)岗位职责

1、配合公司进行每月一次新产品、新方案的技术培训,每次不少于90分钟的培训,负责项目的用户培训并制订培训文档,做好培训记录;

2、制定投标书中的技术方案;

3、根据项目的要求负责制定施工方案,施工计划、提供施工资料,确保施工工艺流程,采取措施,保证施工过程中的人生和财产安全;施工中有效的 降低成本,控制费用的发生,编制项目验收的技术文档,施工结束后一周内及时归档;

4、响应公司对外承诺的售后服务,本着降低成本的原则,提前与用户沟通;确定问题的原因,提供切实可行的解决方案后,口头汇报至部门经理,依次解决,并填写有用户签章的售后服务记录交由文员;

5、配合仓管验收采购的产品质量(技术指标、工艺);

6、鼓励、控制生产过程的成本,节余的经费,公司按相应比例奖励;

7、生产部门的工程师负责成套产品的生产、调试,确认合格后,加盖合格章,填写出库单交由成品库;

8、对于工程或是项目中用户特殊需要的产品或工件,提供加工图纸和材料要求于采购部门负责外协加工;

9、助理工程师的考核作为辅助以上工作同比例纳入考核,每月自考一次。

以上内容熟读尽知

****年**月**日

第三篇:数字逻辑设计报告

《数字逻辑课程设计》

姓名: 宋国正 班级:计142 学号:149074056

2016年9月25日

一、设计任务要求

数字时钟是由振荡器、分频器、计秒电路、计分电路、计时电路组成。计时采用24h和12h两种。当接通电源或数字钟走时出现误差,都需要对数字钟作时、分、秒时间校正。本次设计的具体要求如下:

1、显示时、分、秒的十进制显示,采用24小时制。

2、校时功能。

3、整点报时。

二、设计思路

1、数字钟的组成原理图

数字式电子钟实际上是一个对标准1Hz 进行计数的计数电路!秒计数器满60 后向分计数器进位,分计数器满60 后向时计数器进位, 时计数器按24翻1 规律计数, 计数输出经译码器送LED 显示器,由于计数的起始时间不可能与标准时间一致,故需要在电路上加上一个校时电路。

同时标准的1Hz时间信号必须做到准确、稳定,通常使用石英晶体振荡器电

路构成。

时显示器

分显示器 秒显示器

时译码器

分译码器

秒译码器

时计数器

时计数器 时计数器

校时电路

振荡器

分频器

2、数字钟设计方案

为完成上述功能,可以把数字钟系统划分为三部分:时针源(即标准秒钟的产生电路)主体电路,扩展电路。主体电路EDA 设计又可划分为计时电路、校时电路、译码显示电路3部分。

3、底层电路设计

时针源——晶体振荡器电路给数字式电子钟提供一个频率稳定、准确的32768Hz的方波信号,将32768Hz的高频方波信号经32768次分频后得到1Hz 的方波信号供秒计数器进行计数,实现该分频功能的计数器相当于15 级二进制计数器。

计时电路——时间计数器电路由秒个位、秒十位计数器,分个位、分十位计数及时个位、时十位计数电路构成。其中,秒个位和秒十位计数器,分个位和分十位计数为六十进制计数器,而根据设计要求时个位和时十位构成的为二十四进制计数器,时间计数单元共有:时计数,分计数和秒计数3部分,根据设计要求时计数单元为一个二十四进制计数器,共输出为两位8421BCD码形式;分计数和秒计数单元为六十进制计数器!共输出也为两位8421BCD码。图1和图2 分别给出了60进制计数器和24进制逻辑图。

一、60进制计数器

二、24进制计数器

校时电路——当刚接通电源或走时出现误差时都需要对时间进行校正。对时间的校正是通过截断正常的计数通路,而用频率较高的方波信号加到其需要校正的计数单元的输入端!这样可以很快使校正的时间调整到标准时间的数值,这时再将选择开关打向正常时就可以准确走时了。如图3所示为时、分、秒校时的校时电路。在校时电路中,其实现方法是采用计数脉冲和计数使能来实现校时的。

译 码 显 示 电 路——为了将计数器输出的8421BCD码显示出来,须用显示译码电路将计数器的输出数码转换为数码显示器件所需要的输出逻辑和一定的电流,这种译码器通常称为七段译码显示驱动器电路,本设计可选器件7447为译码驱动电路。译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。

4、数字钟顶层电路设计

首先按前面的设计方案进行低层模块的设计与编辑仿真,正确无误后,即可将设计的低层模块转化为与之相对应的元件符号,而后我们就可以用这些元件符号来设计数字钟的顶层原理图,如图4所示。本设计中要仿真的对象为数字钟,须设定一个1Hz的输入时钟信号和一个校时脉冲SET,模拟的设置开关信号MODE的波形,为了能够看到合适的仿真结果,假定网络时间(Girl Size)为10.0ns,总模

拟的时间(END TIME)为3ms。

三、软件仿真 1、60进制计数器的仿真结果如下:

60进制计数器仿真波形图 2、24进制计数器仿真结果如下:

24进制计数器仿真波形图

3、数字钟的顶层电路仿真结果如下:

数字钟的顶层电路波形仿真图

四、讨论

数字时钟基于MAX+ plus II设计, 经过软件仿真并下载到硬件(电子EDA 10

实验开发系统)实现, 结果表明本设计是合理可行的,但是感觉很繁琐,是不是可以考虑一种过程简单一点的呢?通过查阅大量资料发现是可以的。其另一种设计思想及方法是以语言描述为主, 原理图设计相结合。但是使用过多可能会导致编译失败。所以在设计的过程中,如何取舍是一个难题,本人认为对于我这样基础不是很扎实的,采用前者是比较合理的。

五、参考文献

(1)张辉宜,数字逻辑 中国科学技术大学出版社

(2)廖裕评,陆瑞强,CPLD数字电路设计__使用 MAX+Plus II[M],北京:清华大学出版社

六、心得体会

我学到了很多东西,掌握了数字逻辑的各种设计方法

第四篇:控制逻辑设计_教案

11章 控制逻辑设计

一.定义对话模块

对话程序主要是应用于PBO,PAI.POV(F1帮助事件).POH(F4帮助事件)三个事件中。

对话程序主要的定义方式为:

Module name output.…….Endmodule.Module name input.…….Endmodule.定义好的对话模块是不专属与任何一个事务屏幕,而是可以在任意一个事务屏幕中调用。通过系统变量sy-dynnr来获得当前调用对话模块的屏幕号。

二.调用对话模块

调用对话模块的语法:

Module mod.事物程序的执行流程:P366。

三.无条件调用

无条件的调用,主要应用与back,exit,cancel 这几个按钮当中。

无条件调用的意义:

在用户进行操作时,在不可避免的情况下不知道如何输入数据和进行了误操作,进入了一个无法操作的界面,而此界面又会有一些输入的检查,所以直接按后退或者退出的按钮时,不会进行后退的功能。因此出现了无条件调用。无论用户输入满足系统检查与否,该模块都将首先被其调用。

无条件调用的定义方式:

1.首先set pf-status 中设置一个BACK的按钮。然后双击该功能代码或者通过goto→object list → function list 进行设定。2.将该功能码的类型更改成E的类型。3.在接收和处理此功能的方式为:

a)在逻辑流中PBO事件里添加一个新的module。如:module mod at exit-command.(将功能码的类型定义为E类型以后。必须使用此类型进行处理)b)在程序中处理的方式为:

Module mod input.If ok_code = ‘BACK’.Clear ok_code.Leave to screen 0.Endif.Endmodule.四.数据传输控制

1.系统自动传输

系统自动传输的主要方式为,将屏幕中的字段与ABAP程序中的字段同名。那么在屏幕的PBO执行中。如果ABAP中的字段进行了初始化,那么在PBO执行结束时,屏幕中的字段自动被进行了初始化。

2.模块条件调用

1)单字段条件调用

Field dynpfield Module mod on input.Dynpfield :为屏幕中字段的名字。

Module:为ABAP中处理条件的module名。

另外一种形式:

Field dynpfield Module mod On Request.这种形式是只有在用户对该字段进行输入值时,才调用ABAP模块。任何形式的手工输入都会触发On Request 条件,系统将下列设置字段的方式视为手工输入:

a)实际用户输入。

b)通过set parameter字段输入(手工和自动两种).c)通过hold data 功能设置字段输入(在菜单system→user profile→hold data中设置)

d)用于事物调用时的参数输入(call transaction…..using)。e)用于整个定制系统的全局字段。

2)组合字段条件调用

Chain.Field: f1, f2 …………

Module mod1 on chain-input | chain-request.Field: g1, g2………….Module mod2 on chain-input | chain-request.Endchain.其中chain-input 和chain-request 与单字段条件调用中的on input 和 on request类似。两种的区别在于,如果field语句中的任意一个字段满足条件,则触发位于该字段之前的模块。对于on chain-input,如果链中的任意字段包含初始值(空或零)以外的值,则调用ABAP模块。对于on chain-request,如果链中的任一字段的值发生用户输入时间,则调用ABAP模块,所以当fi之一满足条件时,mod1被调用,当fi或gi满足条件时,mod2调用。

五. 输入检查

1.检查单个字段

field spfli-airpfrom MODULE check_fr_airport.module check_fr_airport input.select single * from sairport into it_spfli where id = spfli-airpfrom.if sy-subrc <> 0.MESSAGE e003(zp)WITH spfli-airpfrom.ENDIF.endmodule.2.检查多个字段

Chain.Field: spfli-carrid, spfli-connid.Module check_flight.Endchain.如果二者之一出现错误,将触发错误消息,两个字段也均可输入。

第五篇:逻辑设计心得

很早之前就想对这几个月工作经历写的东西,一是作为自己的总结,二是自己也很 想将自己这段时间的一些经历和大家分享一下,希望对初学者而言能使得他们能少走一 些弯路。只是公司里的事情很多,最近经常加班,所以一直拖到现在。

能来到这家公司应该是一种缘份--缘起NIOS。当初三月份altera来我们学校建立SO PC实验室的时候自己还不知道NIOS是什么东西,只是想在altera的FAE讲完NIOS后多问他 几个时序约束的问题,然后拷一份PPT回去。但是想不到因为那一份NIOS的培训资料,我 认识了edacn上的cawan,他给我讲了很多NIOS的东西,之后是丁哥在SOC版帖了位NIOS大 赛的通知,然后我和队友就去报了名,并去川大参加了NIOS的培训,认识了峻龙的FAE------o|> | | | / clk |--------|---------10)禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式,否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的 复杂性。如FPGA的输入时钟是25M的,现在系统内部要通过RS232与PC通信,要以rs232_ 1xclk的速率发送数据。不要这样做: always(posedge rs232_1xclk or negedge rst_n)begin...end 而要这样做:

always(posedge clk_25m or negedge rst_n)begin...else if(rs232_1xclk == 1'b1)...end 11)状态机要写成3段式的(这是最标准的写法),即...always @(posedge clk or negedge rst_n)...current_state <= next_state;...always @(current_state...)...case(current_state)...s1: if...next_state = s2;......always @(posedge clk or negedge rst_n)...else a <= 1'b0;c <= 1'b0;c <= 1'b0;//赋默认值 case(current_state)s1: a <= 1'b0;//由于上面赋了默认值,这里就不用再对b、c赋值了

s2: b <= 1'b1;s3: c <= 1'b1;default:......3.ALTERA参考设计准则

1)Ensure Clock, Preset, and Clear configurations are free of glitch es.2)Never use Clocks consisting of more than one level of combinatori al logic.3)Carefully calculate setup times and hold times for multi-Clock sy stems.4)Synchronize signals between flipflops in multi-Clock systems when the setup and hold time requirements cannot be met.5)Ensure that Preset and Clear signals do not contain race conditio ns.6)Ensure that no other internal race conditions exist.7)Register all glitch-sensitive outputs.Synchronize all asynchronous inputs.9)Never rely on delay chains for pin-to-pin or internal delays.10)Do not rely on Power-On Reset.Use a master Reset pin to clear al l flipflops.11)Remove any stuck states from state machines or synchronous logic.其它方面的规范一时没有想到,想到了再写,也欢迎大家补充。

如何提高电路工作频率

对于设计者来说,我们当然希望我们设计的电路的工作频率(在这里如无特别说明,工作频率指FPGA片内的工作频率)尽量高。我们也经常听说用资源换速度,用流水的 方式可以提高工作频率,这确实是一个很重要的方法,今天我想进一步去分析该如何提 高电路的工作频率。

我们先来分析下是什么影响了电路的工作频率。

我们电路的工作频率主要与寄存器到寄存器之间的信号传播时延及clock skew有关。在FPGA内部如果时钟走长线的话,clock skew很小,基本上可以忽略, 在这里为了简 单起见,我们只考虑信号的传播时延的因素。

信号的传播时延包括寄存器的开关时延、走线时延、经过组合逻辑的时延(这样划 分或许不是很准确,不过对分析问题来说应该是没有可以的),要提高电路的工作频率,我们就要在这三个时延中做文章,使其尽可能的小。

我们先来看开关时延,这个时延是由器件物理特性决定的,我们没有办法去改变,所以我们只能通过改变走线方式和减少组合逻辑的方法来提高工作频率。1.通过改变走线的方式减少时延。

以altera的器件为例,我们在quartus里面的timing closure floorplan可以看到有 很多条条块块,我们可以将条条块块按行和按列分,每一个条块代表1个LAB,每个LAB里 有8个或者是10个LE。它们的走线时延的关系如下:同一个LAB中(最快)< 同列或者同 行 < 不同行且不同列。

我们通过给综合器加适当的约束(不可贪心,一般以加5%裕量较为合适,比如电路 工作在100Mhz,则加约束加到105Mhz就可以了,贪心效果反而不好,且极大增加综合时 间)可以将相关的逻辑在布线时尽量布的靠近一点,从而减少走线的时延。(注:约束 的实现不完全是通过改进布局布线方式去提高工作频率,还有其它的改进措施)2.通过减少组合逻辑的减少时延。

上面我们讲了可以通过加约束来提高工作频率,但是我们在做设计之初可万万不可 将提高工作频率的美好愿望寄托在加约束上,我们要通过合理的设计去避免出现大的组 合逻辑,从而提高电路的工作频率,这才能增强设计的可移植性,才可以使得我们的设 计在移植到另一同等速度级别的芯片时还能使用。

我们知道,目前大部分FPGA都基于4输入LUT的,如果一个输出对应的判断条件大于 四输入的话就要由多个LUT级联才能完成,这样就引入一级组合逻辑时延,我们要减少组 合逻辑,无非就是要输入条件尽可能的少,这样就可以级联的LUT更少,从而减少了组 合逻辑引起的时延。

我们平时听说的流水就是一种通过切割大的组合逻辑(在其中插入一级或多级D触发 器,从而使寄存器与寄存器之间的组合逻辑减少)来提高工作频率的方法。比如一个32 位的计数器,该计数器的进位链很长,必然会降低工作频率,我们可以将其分割成4位和 8位的计数,每当4位的计数器计到15后触发一次8位的计数器,这样就实现了计数器的切 割,也提高了工作频率。

在状态机中,一般也要将大的计数器移到状态机外,因为计数器这东西一般是经常 是大于4输入的,如果再和其它条件一起做为状态的跳变判据的话,必然会增加LUT的级 联,从而增大组合逻辑。以一个6输入的计数器为例,我们原希望当计数器计到111100后 状态跳变,现在我们将计数器放到状态机外,当计数器计到111011后产生个enable信号 去触发状态跳变,这样就将组合逻辑减少了。

上面说的都是可以通过流水的方式切割组合逻辑的情况,但是有些情况下我们是很 难去切割组合逻辑的,在这些情况下我们又该怎么做呢?

状态机就是这么一个例子,我们不能通过往状态译码组合逻辑中加入流水。如果我 们的设计中有一个几十个状态的状态机,它的状态译码逻辑将非常之巨大,毫无疑问,这极有可能是设计中的关键路径。那我们该怎么做呢?还是老思路,减少组合逻辑。我 们可以对状态的输出进行分析,对它们进行重新分类,并根据这个重新定义成一组组小 状态机,通过对输入进行选择(case语句)并去触发相应的小状态机,从而实现了将大的 状态机切割成小的状态机。在ATA6的规范中(硬盘的标准),输入的命令大概有20十种,每一个命令又对应很多种状态,如果用一个大的状态机(状态套状态)去做那是不可 想象的,我们可以通过case语句去对命令进行译码,并触发相应的状态机,这样做下来 这一个模块的频率就可以跑得比较高了。

总结:提高工作频率的本质就是要减少寄存器到寄存器的时延,最有效的方法就是 避免出现大的组合逻辑,也就是要尽量去满足四输入的条件,减少LUT级联的数量。我们 可以通过加约束、流水、切割状态的方法提高工作频率。

下载逻辑设计工程师岗位职责word格式文档
下载逻辑设计工程师岗位职责.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    组合逻辑设计教学设计

    组合逻辑电路的设计 新都职校 一、教材分析 《数字电路》是一门理论性和实践性都很强的专业核心课程,而“组合逻辑电路”在教材的知识体系中处于中间地位,起着“承前启后”的......

    数字电路与逻辑设计教学大纲

    《数字电路与逻辑设计》教学大纲 适用专业:通信工程、信息工程、自动化、测控技术与仪器、电气工程及其自动化 课程类别:专业基础课 先修课程:电路原理 总 学 时:66 学分:3 考核......

    采矿工程师岗位职责

    采矿工程师岗位职责 1、认真贯彻执行采矿技术方针、政策、技术管理规范和规定。 2、定期进行采矿安全技术管理工作总结。 3、参与负责矿山采掘工作面地质情况变化资料收集等......

    采购部工程师岗位职责

    采购部工程师岗位职责1、按照部门业务专业划分,负责对应采购物项的采购招标工作; 2、参与编制对应专业采购项目的的采购计划、招标计划、资金计划、 付款计划; 3、熟悉所经办材......

    成本工程师岗位职责

    成本工程师岗位职责 1、 负责对项目进行WBS项目分解。 2、 依据WBS项目分解,编制《项目总成本预算表》。 3、 负责编制项目年度资金使用计划。 4、 依据《项目总成本预算表》......

    网络工程师岗位职责

    网络工程师岗位职责 1、负责网络管理中心的日常工作。协助主管领导制定网络管理中心工作计划和网络管理有关办法。 2、协助主管领导组织制订网络建设规划,系统网络的拓扑图......

    道路工程师岗位职责

    道路工程师岗位职责1、协助主持项目质量管理和质量保证体系的日常工作。 2、负责道路施工全过程的工程监督、检查及各工序交接的验收工作。 3、负责配合建设单位、监理工程......

    弱电工程师岗位职责

    工程部弱电工程师岗位职责 一、 负责计算机网络系统、信息引导和发布系统、安全防范系统、有线电视系统、背景音乐广播系统、通讯系统及各种设备的运行管理工作。 二、 负责......